2019-04-11

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脚本。

2、利用py脚本post传文件值

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

你可能感兴趣的:(2019-04-11)