jactf -web
1、web签到
302跳转,用bp抓包即可
base64解码得到flag
2、曲折的人生
sql注入得到账号密码
3s计算脚本
得到
压缩包解密,第一层密码已经给出,第二层根据vb代码写个解密脚本
得到flag.png
放入winhax得到flag
3、下载下载
提示下载,查看源代码
直接构造 ?file=flag.php
根据代码执行解密函数即可
4、该网站已被黑
做过类似的题,御剑扫描得到shell.php
然后利用bp自带的password字典爆破密码为hack,得到flag
5、not_easy
第二步:查看当前目录下的文件
构造 ?action=\create_function&arg=){}var_dump(scandir("./"));//
得到
第三步:查看文件
构造 ?action=\create_function&arg=){}var_dump(file("./Th1s_1S_F1a9_Hav3_Fun"));//
得到flag
6、audit
1、前面四个简单数组绕过即可
2、md5强碰撞绕过
1、生产md5值相等的文件
python3 gen_coll_test.py
注意生成的txt从linux下拿到windows下文件会变化,所以需要在linux下执行最后的py脚本。
str5=open('./WEB/python-md5-collision/md5/out_test_001.txt','r').read()
str6=open('./WEB/python-md5-collision/md5/out_test_002.txt','r').read()
str7=open('./WEB/python-md5-collision/md5/out_test_003.txt','r').read()
data= {'str5':str5,'str6':str6,'str7':str7,'a':'QNKCDZO','b':'259987'}
3、
b为6位,a不能全大写,md5值碰撞。
a可以为QNKCDZ0
利用爆破,b可以在100000-999999间生成,但是无法保证0e后全为数字,恰好后面有一次对m的替换,
如果后面是bcd用123替换,前面需要变成
因为是16进制,前后abcdef中各取3个。
参考地址:https://mp.weixin.qq.com/s/EmTHuoyfhzxMt7SIOY_KlQ