BUUCTF链接:https://buuoj.cn/challenges
进入网站
需要用到Hacker浏览器扩展器,谷歌浏览器Hacker扩展器
下载安装请参考:
https://blog.youkuaiyun.com/qq_44528283/article/details/126198345
分析源码
先GET请求,参数http://xxx:81/?pleaseget=1
再POST请求参数判断pleasepost=2&md51[]=1& md52[]=2
或者pleasepost=2&md51=QNKCDZO&md52=s155964671a
md51 !=md52 但是要满足md5(md51) ==md5(md52)
最后,反序列化的参数obj=xxx
弱md5绕过
这个在easy_md5那里就已经遇到过了,有两种绕过的方法:
方法1: 科学计数法绕过,原理是php里面在做 == 的时候会先把两边的类型转成一样的,因为是 0 e 0e0e 开头,php会认为它是科学技计数法,而 0 00 的多少次方都是 0 00
常用的绕过值有:
QNKCDZO
s155964671a
s1091221200a
方法2:数组绕过,原理是 md5 等函数不能处理数组,导致函数返回Null。而Null是等于Null的,导致了绕过(PHP 中的 md5() 函数允许你使用 数组 作为该函数的参数,md5() 函数对于 任何数组 都将返回 NULL)
注:原文链接:
https://blog.youkuaiyun.com/m0_46201544