南邮CTF——Writeup
1.WEB——md5 collision
题目的意思就是a的值不与QNKCDZO相等,但a的MD5值与QNKCDZO的MD5值相等
百度一下发现md5('240610708') == md5('QNKCDZO')
,所以在url后加上a=240610708即可
2.WEB——签到2
通过源代码我们可以发现zhimakaimen
长度为11,而代码中maxlength="10"
,所以我们需要修改长度为11
可以使用Firefox修改
输入zhimakaimen开门
3.WEB——层层递进
一直右键源代码就完事了,访问
最后发现flag!
4.WEB——单身二十年
点击的时候会发现URL栏有很快的跳转,burpsuite抓包
查看search_key.php给出的回应
5.WEB——php decode
代码在线运行即可,直接运行会报错,要将评估函数eval改为输出函数echo
6.WEB——文件包含
题目提示LFI,即本地文件包含漏洞(Local File Include),于是利用文件包含获取index.php源码,访问http://4.chinalover.sinaapp.com/web7/index.php?file=php://filter/convert.base64-encode/resource=index.php
,得到一串base64编码,解密即可
7.WEB——COOKIE
有提示,上BP抓包
修改Cookie: Login=0
为Login=1
,发送请求
8.WEB——MYSQL
有提示,那我们便进入robots.txt
,出现如下代码
提示要向sql.php提交一个id,使得intval($_GET[id])
为1024而$_GET[id]==1024
为假。intval
识别到非数字的那一位,而松散比较前的强制类型转换会把e
当作科学计数法的一部分处理,所以可以提交id=1024e1
等
访问http://chinalover.sinaapp.com/web11/sql.php?id=1024e1
9.WEB——/x00
要求提交的nctf的值符合正则匹配(一个或多个数字)并且能被strpos
找到#biubiubiu
,因为ereg()
会把null视为字符串的结束,从而被%00
截断,而strpos
则可以越过%00
,所以提交nctf=1%00%23biubiubiu
即可
10.WEB——bypass again
MD5弱类型,a与b的值不相等,但它们的MD5值相等,构造数组a[]=1&b[]=2
,提交即得flag
11.WEB——变量覆盖
根据提示查看source.php
,有用的代码extract()
函数的作用:从数组中将变量导入到当前的符号表,该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。
由于extract
的参数直接是$_POST
,那么就存在了变量覆盖的可能了。使用Burpsuite修改请求参数,传递pass
和thepassword_123
覆盖掉它们的默认值,就可以得到flag了
12.WEB——起名字真难
要求传入key
不包含[1-9],但又等于54975581388
,考虑转换进制
直接提交http://chinalover.sinaapp.com/web12/index.php?key=ccccccccc
发现无返回结果,搬出度娘
试一下http://chinalover.sinaapp.com/web12/index.php?key=0xccccccccc
13.WEB——密码重置
我们需要用管理员admin登录才能重置密码,但是发现无法修改账号,BP抓包修改
发现user1是base64加密过的,解一下密
修改为admin再base64加密,两处都要改
Forward即得flag
14.WEB——综合题
打开连接发现是一串JSFuck编码,解码得1bc29b36f623ba82aaf6724fd3b16718.php
,访问http://teamxlc.sinaapp.com/web3/b0b0ad119f425408fc3d45253137d33d/1bc29b36f623ba82aaf6724fd3b16718.php
TIP在脑袋里(Headers)里
访问http://teamxlc.sinaapp.com/web3/b0b0ad119f425408fc3d45253137d33d/.bash_history
有提示,访问http://teamxlc.sinaapp.com/web3/b0b0ad119f425408fc3d45253137d33d/flagbak.zip
,解压即得flag