CTF--Web安全--SQL注入之报错注入

简介: CTF--Web安全--SQL注入之报错注入

一、报错注入的概念

用户使用数据库查询语句,向数据库发送错误指令,数据库返回报错信息,报错信息中参杂着我们想要获取的隐私数据。通常在我们在页面显示中找不到回显位的时候,使用报错注入。


二、报错注入常见的三种形式

1、extractvalue报错注入

2、updatexml报错注入

3、floor报错注入

除以上三种,还有大量的报错注入形式,以上三种最为常见,其中floor报错注入较复杂。


三、extractvalue报错注入

extractvalue:extract(获取) + value(值,有价值的信息)

打开HackBar,注入语句:

注:1、0x7e 为 '~' 的ASCLL码,直接写 '~' 也没有问题,目的就是将 / 换作 ~ 使页面报错。

       2、concat()函数为连接函数,可以将括号中的参数拼接到一起。

       3、函数的第一个参数通常习惯用1表示,可以不用管它。

注入语句后,我们在页面报错信息中,可以看到所在数据库名称security。

  接着我们在security库中查询它的表有哪些。

 

我们查询到:security库中有 emails,refers,uagents,users四张表,根据英文释义,用户信息应该存储在users的那张表里,接着我们要查询user表中的列有哪些。

我们查询到:users表中有三列:分别是id、username、password,毫无疑问,username和password是我们要获取的数据。接着使用查询语句获取这些信息。

但是查询到的数据非常有限,只能查询到部分用户的用户名和密码,故使用substr()函数,通过手动翻页来实现查询到全部的用户信息。

注:substr(待查询字符串,查询起始位置,查询长度)。

extractvalue()报错注入最多显示30个字节。


四、updatexml报错注入(细节与extractvalue几乎一致)

报错原理 约等于 extractvalue,利用~写出错误的path,使页面报错。

注入语句,查询当前数据库库名。第一个参数和第三个参数不用管,1和3就可以,我们的目的就是让它报错。

当前库名为security,查询库中表名。

查询user库中的列名。

查询用户信息。

经过以上步骤,可以获得用户的全部信息。

相关文章
|
9月前
|
Web App开发 监控 安全
OSS客户端签名直传实践:Web端安全上传TB级文件方案(含STS临时授权)
本文深入解析了客户端直传技术,涵盖架构设计、安全机制、性能优化等方面。通过STS临时凭证与分片上传实现高效安全的文件传输,显著降低服务端负载与上传耗时,提升系统稳定性与用户体验。
860 2
|
5月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.10 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.10 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
397 3
|
SQL Java 数据库连接
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
|
6月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.9 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
562 0
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
|
8月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
697 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
8月前
|
存储 安全 JavaScript
Web Storage有哪些安全风险?
Web Storage有哪些安全风险?
|
11月前
|
安全 Linux API
Burp Suite Professional 2025.4 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.4 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
481 6
Burp Suite Professional 2025.4 发布 - Web 应用安全、测试和扫描
【YashanDB知识库】使用leading hint调整SQL执行计划后报错YAS-04522 invalid hint leading
【YashanDB知识库】使用leading hint调整SQL执行计划后报错YAS-04522 invalid hint leading
【YashanDB知识库】使用leading hint调整SQL执行计划后报错YAS-04522 invalid hint leading
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
745 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
SQL Java 数据库连接
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错