响应头里发现sql语句
select * from 'admin' where password=md5($pass,true)
看了大佬博客,这个可以用ffifdyop
绕过,绕过原理是:ffifdyop
这个字符串被 md5 哈希了之后会变成 276f722736c95d99e921722cf9ed621c
,这个字符串前几位刚好是 ' or '6
而 Mysql 刚好又会把 hex 转成 ascii 解释,因此拼接之后的形式是 select * from 'admin' where password='' or '6xxxxx'
,等价于 or 一个永真式,因此相当于万能密码,可以绕过md5()函数。
果然,我们提交之后就绕过了这个,来到了另一个页面
![](https://img2020.cnblogs.com/blog/2156042/202010/2156042-20201015215441290-679610182.png)
查看源代码,发现可以接着绕过
由于是get方式,我们可以构造payload:?a[]=1&b[]=2
POST方式,传param1和param2两个参数,这两个参数还不能相等,但是md5转换后的值还要相等,在这里我们就用md5无法处理数组,然后都返回null,null=null然后就绕过了这个。
flag{4054608f-7d45-4173-94e3-f874e12c0320}