Less-20
这题用Cookies注入。
从源码可以看出,服务器将Cookies中的uname项没经过滤就放进查询语句中。
$cookee = $_COOKIE['uname'];
...
$sql="SELECT * FROM users WHERE username='$cookee' LIMIT 0,1";
这样,我们就可以借助cookies的编辑工具来构造语句。
我用的是Chrome下的EditThisCookies。
Less-21
这题也是用cookies注入。
但是,这一次的cookies是加密的。
setcookie('uname', base64_encode($row1['username']), time()+3600);
...
$cookee = base64_decode($cookee);
从上面这两句源码可以看出,加密方法是Base64。
那么,就用Python自带的base64库来进行加密。
首先,构造的语句如下:
Dumb') and 1=1#
放到Python里面加密
base64.b64encode("Dumb') and 1=1#")
再将得到的密文替换掉cookies里面的uname项,重新进入网页就可以完成注入了。
Less-22
这个和21题一样,Base64加密,只是这是双引号注入,略微改一下就行了。
加粗文字