BUU-Web-Easy MD5
第一次遇到MD5的题目,记录一下
注入点:"select * from 'admin' where password=' ".md5($pass,true)." ' "
字符串:ffifdyop
MD5(ffidyop)=276f722736c95d99e921722cf9ed621c(这是一个16进制数)
然后在数据库中会将这个16进制数转换为ASCII字符,也就是'or'6É]é!r,ùíb,可以看到这相当于万能密码,因为or后面只要不是0,都是true
为什么非要是这串字符串呢???
首先MD5是不可逆的,如果我想只取前面的'or'6也就是276f722736,或者其他的,是不现实的,当然你可以用爆破的方式试一下有没有其他的字符串是可行的,这里有现成的我就不去尝试了
绕过之后可以看到
这里就是之前讲的弱等于绕过,于是构造payload:a[]=1&b[]=2
然后
同理payload为:param1[]=1¶m2[]=2,以POST方式传递
就得到flag