网络信息安全攻防学习平台 注入关第九

据说哈希后的密码是不能产生注入的

代码审计题,进入直接看F12

在这里我们可以找到重点

if($row!=null){

echo"Flag: ".$flag;

}

$strsql="select * from `user` where userid=".intval($_GET['userid'])." and password='".md5($_GET['pwd'], true) ."'";

这一段代码,对传入的userid使用了intval()函数转化为数字,同时将password使用md5()函数进行转化。

那么我们只能从MD5加密上入手了,通过这一段代码要在经过MD5加密后,产生的东东可以进行注入

在这一段代码中,对输入进行md5编码,这样好像就没办法注入了。但其实不然,因为当md5函数的第二个参数为True时,编码将以16进制返回,再转换为字符串。

而字符串’ffifdyop’的md5加密结果为'or'

其中 trash为垃圾值,or一个非0值为真,也就绕过了检测。

所以只要我们在password处输入ffifdyop 

md516进制编码加密后,产生了 含有or 的字符串,那么就可以产生注入了

http://lab1.xseclab.com/code1_9f44bab1964d2f959cf509763980e156/?userid=1&pwd=ffifdyop

Flag: FsdLAG67a6dajsdklsdf

你可能感兴趣的:(网络信息安全攻防学习平台 注入关第九)