目录
BugKu
https://ctf.bugku.com/challenges
0x01 web2
听说聪明的人都能找到答案
题目链接:http://123.206.87.240:8002/web2/
禁用JavaScript后右键点击查看源码
或者在url前面加上view-source:查看源码
view-source:http://123.206.87.240:8002/web2/
flag:KEY{Web-2-bugKssNNikls9100}
0x02 计算器
题目链接:http://123.206.87.240:8002/yanzhengma/
一道简单的加减法计算题,直接输入答案发现限制输入长度为1
F12将maxlength修改为3或更多,输入答案即可
flag:flag{CTF-bugku-0032}
0x03 web基础$_GET
题目链接:http://123.206.87.240:8002/get/
题目给出代码
$what=$_GET['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';
意思是让我们get方式传一个变量what使得what=flag
payload
?what=flag
flag:flag{bugku_get_su8kej2en}
0x04 web基础$_POST
题目链接:http://123.206.87.240:8002/post/
题目给出代码
$what=$_POST['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';
同样要求传一个变量what使得what=flag,不过是用post方法
抓包
1.将请求头中第一行加上POST + url + HTTP版本
POST http://123.206.87.240:8002/post/ HTTP/1.1
2.中间加上POST头部数据格式声明
Content-Type: application/x-www-form-urlencoded
3.数据部分what=flag
what=flag
flag:flag{bugku_get_ssseint67se}
0x05 矛盾
题目链接:http://123.206.87.240:8002/get/index1.php
题目给出代码
$num=$_GET['num'];
if(!is_numeric($num))
{
echo $num;
if($num==1)
echo 'flag{**********}';
}
1aflag{
bugku-789-ps-ssdf}
要求我们传入一个参数num,不能是数字,又必须跟1相等,看上去很矛盾
我们可以传入1+任意字母开头的字符串
在传入后判断num的类型就会判断为字符串型,然后跟1比较时,会转换成int型
payload
?num=1a
flag:flag{bugku-789-ps-ssdf}
0x06 web3
题目链接:http://123.206.87.240:8002/web3/
点开链接,会一直弹出烦人的弹窗,同0x01查看源码,在最后注释部分找到一串编码
KEY{J2sa42ahJK-HS11III}
这是一串uricode编码解码后得到flag
flag:KEY{J2sa42ahJK-HS11III}
0x07 域名解析
听说把 flag.baidu.com 解析到123.206.87.240 就能拿到flag
修改host
位置为
C:\Windows\System32\drivers\etc
以文本文件打开HOSTS
在后面加上一行
123.206.87.240 flag.baidu.com
然后访问flag.baidu.com即可得到flag
flag:KEY{DSAHDSJ82HDS2211}
0x08 你必须让他停下
题目链接:http://123.206.87.240:8002/web12/
抓包,一直go