一、SQL注入漏洞特征流量分析
1.SQL注入简介
SQL 注入(SQL Injection)是一种针对数据库层的攻击技术,攻击者通过篡改 Web 应用输入参数(如 URL 参数、表单字段、HTTP 头),将恶意 SQL 代码拼接到原始查询语句中,欺骗数据库执行非授权操作。其核心漏洞源于开发过程中未对用户输入进行充分过滤或转义,导致输入数据被直接解析为 SQL 语法的一部分。
关键特点:
广泛性:所有使用数据库的 Web 应用均可能受此威胁。
隐蔽性:恶意 SQL 语句常伪装在正常 HTTP 请求中,传统防火墙难以识别。
危害性:可导致数据泄露、系统提权甚至服务器沦陷。
2.SQL注入带来的威胁
威胁类型 | 具体影响 | 案例说明 |
---|---|---|
数据泄露 | 盗取用户隐私、信用卡信息、管理员凭证等敏感数据 | 攻击者利用 UNION SELECT 提取用户表数据 |
权限绕过 | 绕过登录验证,非法获取系统访问权限 | 输入 ' OR '1'='1 实现万能密码登录 |
数据篡改 | 修改或删除数据库内容(如订单、账户余额) | 通过 UPDATE 或 DELETE 语句恶意操作 |
系统命令执行 | 利用数据库扩展功能执行操作系统命令 | SQL Server 中利用 xp_cmdshell 运行木马 |
服务器控制 | 植入 WebShell,获取服务器最高权限 | 通过 SELECT ... INTO OUTFILE 写入木马文件 |
3.SQL注入的流量特征
特征类型 | 检测位置 | 关键标识示例 | 防御建议 |
---|---|---|---|
参数长度异常 | URL/表单参数 | 长度 >100 字符,含编码语句(%20UNION%20 ) | 输入长度限制 |
非法字符 | 参数值、HTTP 头 | ' , -- , UNION , information_schema | 特殊字符过滤或转义 |
异常请求 | 请求频率、参数变化 | 短时高频相似请求,含 SUBSTR() /BENCHMARK() | WAF 规则匹配 |
错误响应 | HTTP Body/状态码 | SQL syntax error , 500 状态码 | 关闭数据库错误回显 |
非常规流量 | User-Agent、响应时间 | sqlmap 标识、响应延迟 >3 秒 | 监控异常时间延迟 |
流量数据分析
1.打开wireshark和dvwa,执行SQL注入测试,如下图,分别修改框内数字为1,2,3,4。
2.在wireshark中找到数据包,右击打开http流。
3.存在对应返回结果判断攻击成功。
下图攻击不成功。
二、XSS漏洞特征流量分析
1.打开dvwa,输入测试语句。
返回页面如下图。
2.查找http流,发现存在xss语句,流量判断是否攻击成功。
3.可通过下图查找功能,快速定位,可知代码成功插入,证明存在XSS漏洞,返回结果判断攻击成功。
注:可通过顶部搜索框查找数据包。