WEB漏洞-SQL注入之查询方式及报错盲注
当进行SQL注入时,常常会遇到无回显的情况,不回显可能是因为SQL语句的查询方式的问题,这时候需要用到报错或盲注进行后续操作,在手工注入时,最好提前预知SQL语句的写法。
查询方式:增删查改 INSERT SELECT DELETE UPDATE
盲注分为以下三类:
布尔盲注-逻辑判断 ?id=1’+and+left((select+database()),2)=‘se’–+
时间盲注-延时判断 if,sleep
mid(a,b,c) 从位置b开始,截取a字符串的c位
substring(a,1,1),从a字符串的第一位开始截取1位,比二分法猜解ascii码更快的是,通过substring(a,1,1)&&128=128?(&&64=64?…),来并行判断一个字符的ascii码的8位是否为1或0。
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))–+
或者 id=1 and if(left(database(),1)=“s”,sleep(5),1)–+根据加载时间判断是否满足数据库名为a
基于报错的SQL盲注-强制报错回显
UPDATEXML (XML_document, XPath_string, new_value);
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc

本文探讨了SQL注入时遇到的无回显情况,重点关注查询方式(INSERT, SELECT, DELETE, UPDATE)和两种盲注技术——布尔盲注与时间盲注。介绍了如何利用报错盲注进行注入,特别提到了MySQL中的UPDATEXML函数在报错注入中的应用,以及解决因不能在同一语句中SELECT和UPDATE同一表的问题的方法。"
119045887,11215627,配置CentOS 7使用163yum源,"['Linux', 'CentOS', '系统管理']
最低0.47元/天 解锁文章
643

被折叠的 条评论
为什么被折叠?



