[BJDCTF2020]Easy MD5
查看源代码没有什么发现,抓包看一看
线索暗示:Hint: select * from 'admin' where password=md5($pass,true)
md5(string,raw)
参数 | 描述 |
---|
string | 必需。规定要计算的字符串。 | raw | 可选。规定十六进制或二进制输出格式: TRUE - 原始 16 字符二进制格式;FALSE - 默认。32 字符十六进制数 |
现在需要构造or来绕过password,md5(ffifdyop,true)='or'6\xc9]\x99\xe9!r,\xf9\xedb\x1c 原sql查询语句则变为select * from user where username ='admin' and password =''or'6\xc9]\x99\xe9!r,\xf9\xedb\x1c' 即可绕过 类似的字符串还有:md5(129581926211651571912466741651878684928,true)=\x06\xdaT0D\x9f\x8fo#\xdf\xc1'or'8 在输入ffifdyop后,出现
查看源码 这里就需要知道一个知识点:md5加密后的值开头为0E是他们的值相等 /levels91.php?a=s878926199a&b=s155964671a 出现以下提示 我们访问levell14.php 这里用php数组绕过,由于哈希函数无法处理php数组,在遇到数组时返回false,我们就可以利用false==false成立使条件成立。 param1[]=1¶m2[]=2
[ZJCTF 2019]NiZhuanSiWei
|