SQL注入之盲注,二次注入,dnslog注入
SQL注入之二次注入,加解密,DNS等注入
cookie注入中用到了加密,需要将注入语句加密后再发送数据包,结合报错注入。
二次注入:无法通过扫描工具或黑盒测试测出,是通过代码审计发现的
可以通过将用户名修改,利用传参实现平行越权,例如先注册用户名为admin'#
在修改密码时 为update user set passwd='123456' where username='admin'#',即实现了平行越权。
同时也可以通过用户名来进行报错注入等,用户名长度有限制分为前端、后端限制,前端限制可绕过。
dnslog注入:DNSlog注入学习 - Lushun - 博客园 (cnblogs.com))QL注入之查询方式及报错盲注
当进行SQL注入时,常常会遇到无回显的情况,不回显可能是因为SQL语句的查询方式的问题,这时候需要用到报错或盲注进行后续操作,在手工注入时,最好提前预知SQL语句的写法。
查询方式:增删查改 INSERT SELECT DELETE UPDATE
盲注分为以下三类:
布尔盲注-逻辑判断
时间盲注-延时判断 if,sleep
mid(a,b,c) 从位置b开始,截取a字符串的c位
substr(a,b,c)从位置b开始,截取a字符串的长度为c的一个字符串,注意从0开始和从1开始一样,顺序是按自然顺序从1开始的
left(database(),1) 从左侧开始截取database()的前一位
if(condition,A,B) condition为true返回A,为false返回B
select * from member where id= 1 and sleep(if(database()='a',1,5)) 根据加载时间判断是否满足数据库名为a
基于报错的SQL盲注-强制报错回显
UPDATEXML (XML_document, XPath_string, new_value);
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。
第三个参数:new_value,String格式,替换查找到的符合条件的数据
作用:改变文档中符合条件的节点的值
updatexml的第二个参数需要Xpath格式的字符串,以~开头的内容不是xml格式的语法,concat()函数为字符串连接函数显然不符合规则,但是会将括号内的执行结果以错误的形式报出,这样就可以实现报错注入了