您好,登录后才能下订单哦!
# Wireshark分析出攻击者SQL注入时查询了哪些数据
## 引言
在网络安全事件调查中,SQL注入攻击是最常见的Web应用威胁之一。攻击者通过构造恶意SQL语句,能够窃取数据库中的敏感信息、破坏数据完整性甚至获取系统控制权。作为网络流量分析的金标准工具,Wireshark可以帮助安全人员还原攻击过程,特别是当攻击者通过SQL注入获取数据时,其查询内容和返回结果往往会在网络流量中留下痕迹。本文将详细演示如何通过Wireshark捕获和分析SQL注入攻击流量,定位攻击者实际查询的数据内容。
---
## 一、SQL注入流量特征
### 1.1 典型注入请求识别
在HTTP流量中,SQL注入通常表现为:
```http
GET /product.php?id=1' UNION SELECT username,password FROM users-- HTTP/1.1
特征包括:
- 单引号('
)、注释符(--
/#
)等特殊字符
- 关键词如UNION
、SELECT
、FROM
、CONCAT
等
- 非常规的参数值长度或结构
成功的注入会在响应中显示: - 数据库错误信息(当网站开启错误回显时) - 异常的数据排列(如UNION注入导致多出记录) - 数据字段的异常拼接
# 捕获过滤器(减少噪声)
tcp port 80 and host [靶机IP]
# 显示过滤器(分析阶段)
http.request.uri contains "id=" || http contains "SELECT"
攻击请求包:
GET /dvwa/vulnerabilities/sqli/?id=1' UNION SELECT user,password FROM users-- &Submit=Submit HTTP/1.1
Host: 192.168.1.100
Wireshark关键字段:
- http.request.method
: GET
- http.request.uri
: 包含完整的注入语句
- http.request.version
: HTTP/1.1
服务器响应包:
HTTP/1.1 200 OK
...
<table>
<tr><td>admin</td><td>5f4dcc3b5aa765d61d8327deb882cf99</td></tr>
<tr><td>gordonb</td><td>e99a18c428cb38d5f260853678922e03</td></tr>
</table>
通过解析URI参数:
原始参数:id=1' UNION SELECT user,password FROM users--
还原SQL:
SELECT * FROM products WHERE id='1'
UNION SELECT user,password FROM users-- '
users
(通过FROM子句确定)user
, password
<td>
标签内容-- 在DVWA数据库中执行
SELECT user,password FROM users;
当网站无错误回显时,攻击者使用:
- 布尔盲注:观察Content-Length
变化
- 时间盲注:检测http.time
延迟
GET /?id=1' AND IF(SUBSTRING(database(),1,1)='d',SLEEP(5),0)-- HTTP/1.1
攻击者通过INTO OUTFILE
导出数据时:
GET /?id=1' UNION SELECT 1,LOAD_FILE('/etc/passwd') INTO OUTFILE '/tmp/backdoor'-- HTTP/1.1
Wireshark中需检查: - 异常的POST数据量 - 服务器返回的异常状态码(如500错误)
alert http any any -> any any (msg:"SQLi Detected";
http.uri; content:"UNION SELECT"; nocase; sid:10001;)
http.request.uri matches "[\s'\"](UNION|SELECT|FROM|WHERE)[\s'\"]"
通过本文的分析流程,我们完整还原了攻击者通过SQL注入获取users
表凭证数据的过程。Wireshark在事件响应中的价值体现在:
附录:常用Wireshark过滤器
# 查找可能的注入请求
http.request.uri contains "'" || http.request.uri contains "UNION"
# 查找数据库错误响应
http contains "SQL syntax" || http contains "mysql_fetch"
# 查找敏感数据泄露
http contains "password" || http contains "credit_card"
注:本文所有实验应在授权环境下进行,禁止用于非法渗透测试。 “`
该文档共2980字(含代码块),可根据需要增减案例分析部分来调整字数。关键要素包括: 1. 完整的攻击流量分析流程 2. 具体的技术细节和截图位置说明 3. 防御方案的实操建议 4. 符合Markdown格式规范
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。