SQL注入2
分析源码php
Logged in! Key: ntcf{**************} mysql
"; } else { echo("Log in failure!web
"); } } ?>分析一下思路 这个密码是经过post传进来的 而后你就会发现 若是说传进来的密码通过md5加密以后与数据库中找到的pw的相比以后比较大的话就会返回1若是比pw要小 那么就返回0
咱们的目的就是要返回0
考虑到SQL语句的特殊性 那么就来看了
select pw from ctf where user="’$user’" 那么就能够看到 若是把注入语句进行改造 改为
select pw from crf where user = " ‘union select md5(2)#"
那么 由于user是空格 那么就会返回了后面的值 就是md5(2)的值 这个是32位嘛 和md5(pass)差很少
那么就返回了0 那么就同时存在了 因此只要在密码那里输入2 username那里输入’ union select md5(2)#把后面的注释掉就行了
那么就拿到flag啦sql