CTF-BugKu-WEB-1-20

时间:2023-12-18 12:25:14

2020.09.17

全面复习web,给自己定个目标,后天之前结束BugKu-Web,开始逆向。

经验教训

  1. php弱等于用于绕过==,弱等于之前会把等号两边转化为同一类型变量;
  2. 全局变量全局变量全局变量!!$GLOBALS、$_SERVER、$_REQUEST、$_POST、$_GET、$_FILES、$_ENV、$_COOKIE、$_SESSION
  3. 浏览器的检查元素的网络中内容不一定可信,因为浏览器在接受数据的时候会过滤不符合规则的内容,但是flag可能就藏着里边
  4. 伪装成本地登陆添加请求头X-Forwarded-For: 127.0.0.1
  5. 火狐浏览器有时候会出bug,在一个比较确定的答案没有结果的时候,可以换个浏览器试试。。。。
  6. 文件包含漏洞的利用,php://input配合<?php echo system('ls');?>php://filter/read=convert.base64-encode/resource=index.php
  7. 数组求md5会返回false;
  8. 如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
  9. 数据库中大数据库是information_schema,其中有TABLES、COLUMNS表,存储所有的表和列信息。

第一题 web2

https://ctf.bugku.com/challenges#web2

CTF-BugKu-WEB-1-20

  1. 一堆这个,在页码源文件找到flag

    CTF-BugKu-WEB-1-20

    CTF-BugKu-WEB-1-20

第二题 计算器

https://ctf.bugku.com/challenges#计算器

CTF-BugKu-WEB-1-20

  1. 打开如下

    CTF-BugKu-WEB-1-20
  2. 输入框只能输入一位数,检查源码,发现生成验证码多js文件

    CTF-BugKu-WEB-1-20
  3. 直接访问,在文件中发现flagflag{CTF-bugku-0032}

    CTF-BugKu-WEB-1-20

第三题 web基础$_GET

https://ctf.bugku.com/challenges#web基础$_GET

CTF-BugKu-WEB-1-20

  1. 比较简单的get,构造payload?what=flag,输出flagflag{bugku_get_su8kej2en}

    CTF-BugKu-WEB-1-20

    CTF-BugKu-WEB-1-20

第四题 web基础$_POST

https://ctf.bugku.com/challenges#web基础$_POST

CTF-BugKu-WEB-1-20

  1. 简单的post,Firefox打开,hackbar插件,添加postwhat=flag,请求得到flagflag{bugku_get_ssseint67se}

    CTF-BugKu-WEB-1-20

    CTF-BugKu-WEB-1-20

第五题 矛盾

https://ctf.bugku.com/challenges#矛盾

CTF-BugKu-WEB-1-20

  1. 不能是数字,还得弱等于1,这就用到字符'1qwk'弱等于数字1这个知识点了,在弱等于的时候,等号两边会转化为同一类型的变量,这里1qwk转化为数字后为数字1,payloadnum=1qwk,得到flagflag{bugku-789-ps-ssdf}

    CTF-BugKu-WEB-1-20

    CTF-BugKu-WEB-1-20

第六题 web3

https://ctf.bugku.com/challenges#web3

CTF-BugKu-WEB-1-20

  1. 打开是很多弹窗,看源码,在底部发现信息,html转码,得KEY{J2sa42ahJK-HS11III}

    CTF-BugKu-WEB-1-20

    CTF-BugKu-WEB-1-20

第七题 域名解析

https://ctf.bugku.com/challenges#域名解析

CTF-BugKu-WEB-1-20

  1. 访问http://123.206.87.240/后,用hackbar修改host为flag.baidu.com即可得KEY{DSAHDSJ82HDS2211}

    CTF-BugKu-WEB-1-20

第八题 你必须让他停下

https://ctf.bugku.com/challenges#你必须让他停下

CTF-BugKu-WEB-1-20

  1. 看源码知道是一个script脚本一直在运行,用浏览器停用脚本之后,得到如下界面,没啥用,

    CTF-BugKu-WEB-1-20
  2. 看页面文字,stop at panda,我刷新界面源码,发现请求文件一直在变,是不是请求的是panda就可以了呢,burp拦截试试,一直重发就会发现,有概率出现flagflag{dummy_game_1s_s0_popular}

    CTF-BugKu-WEB-1-20

    CTF-BugKu-WEB-1-20

第九题 本地包含

https://ctf.bugku.com/challenges#本地包含

CTF-BugKu-WEB-1-20

  1. 访问500,估计是坏掉了

    CTF-BugKu-WEB-1-20

第十题 变量1

https://ctf.bugku.com/challenges#变量1

CTF-BugKu-WEB-1-20

  1. 得到代码
<?php  

error_reporting(0);
include "flag1.php";
highlight_file(__file__);
if(isset($_GET['args'])){
$args = $_GET['args'];
if(!preg_match("/^\w+$/",$args)){
die("args error!");
}
eval("var_dump($$args);");
}
?>
  1. 主要意思就是满足正则表达式,来用var_dump()来输出变量值,这里想到全局变量,构造payload?args=GLOBALS得到flagflag{92853051ab894a64f7865cf3c2128b34}

    CTF-BugKu-WEB-1-20

第十一题 web5

https://ctf.bugku.com/challenges#web5

CTF-BugKu-WEB-1-20

  1. 打开查看源码,发现brainfuck密码,不对,经过查阅是JSFUCK密码,这是一种神奇的fuck密码

相关文章