Jarvisoj-web Login
题目入口: http://web.jarvisoj.com:32772/
有个登陆框,随便提交参数然后bp抓包
get到了一个Hint,给了sql查询的语句
select * from `admin` where password=' ".md5($pass,true)." '
可以看到传上去的参数经过了md5加密后再进行查询。md5()第二个参数是输出格式。true,表示输出原始16字符二进制格式;
false,则输出32字符十六进制数。
题目中是ture,也就是说加密后的md5会转成字符串
输入ffifdyop拼接绕过
原理:ffifdyop ——> 276f722736c95d99e921722cf9ed621c ——>(转换字符串) 'or'6<乱码>
加密后的md5值经过hex解码后转成字符串后前面有‘or’ 6
与语句拼接后就是select * from admin where password=''or'6<乱码>'。6可以等价于1,也就是永真
所以能实现绕过