SQL注入之堆叠注入和绕过WAF

堆叠注入就是多条语句执行

局限性:只产生在部分数据库

用处:场景为注入需要管理员账号密码,密码是加密的,无法解密

那么就可以使用堆叠注入进行插入数据,用户密码自定义的,可以正常登录

WAF绕过

1.用大小写或者用/**/代表空格

2.使用mysql的注释,mysql能读懂但是WAF不会拦截,举个例子

union #a

select 1,2,3#

#a在WAF看来是一个字符串,union没有和select联合使用,那么就不会被拦截,换行的目的是避#注释掉后面的select语句,而且换行和空格在Mysql中都是可以正常执行的。通过此方式即可绕过WAF防护

3.参数污染:多个参数同时传递,不同环境接收的变量不同

比如php+apache环境下,用GET方法同时传递两个参数,它会接收后面的参数

来看具体实操

4.FUZZ大法

将各种注释符或者符号使用脚本的方式,批量尝试突破WAF的防护

5.IP、URL、爬虫白名单绕过

有些IP地址访问,是不会被拦截,就可以在http请求头中伪造自己的IP为白名单IP,然后避免被拦截,这个白名单IP甚至可以试试服务器IP。

URL白名单类似于IP白名单

爬虫白名单是因为有些搜索引擎会使用爬虫对网站数据进行爬取收集,这些网站不会对搜索引擎的爬虫拦截,那我们就可以伪装成搜索引擎的爬虫

伪造user-agent为百度爬虫,这样扫描出来后,IP不会被WAF拦截,而且扫描的都是正确的数据,不会出现误报。

6.静态WAF绕过

有些WAF只会针对某些脚本文件拦截,但是对于图片和文本文件不会拦截。比如下图,x.txt后面使用了注入语句不会被拦截,因为WAF只作用在php脚本上,没有作用在txt文件上。

7.版本号绕过

union/*!45509 select*/

WAF觉得union和select被数字45509隔开了,但是这个数字是版本号,不被影响

相关推荐
苏渡苇9 小时前
Spring Cloud Alibaba:将 Sentinel 熔断限流规则持久化到 Nacos 配置中心
数据库·spring boot·mysql·spring cloud·nacos·sentinel·持久化
杨云龙UP9 小时前
Oracle Recycle Bin 回收站详解:DROP TABLE 后还能找回吗?
linux·运维·数据库·sql·mysql·oracle
未来之窗软件服务10 小时前
酒店门锁V10SDK接口VB-幽冥大陆(一百26)—东方仙盟
数据库·酒店门锁·仙盟创梦ide·东方仙盟·东方仙盟sdk·东方仙盟幽冥大陆
墨_风10 小时前
MyBatis时间区间查询异常排查(达梦数据库)
数据库·mybatis·达梦
njsgcs11 小时前
用clip把设计经验变成向量数据库,然后每秒检索可以检查3维模型设计的错误吗
数据库
WiChP11 小时前
【V0.1B10】从零开始的2D游戏引擎开发之路
java·数据库·游戏引擎
小当家.10511 小时前
PostgreSQL 做向量数据库:pgvector 在 RAG 中的实战与多场景适配
数据库·人工智能·postgresql·rag
Access开发易登软件12 小时前
Access 和 SQLite,根本不在一个赛道上
java·jvm·数据库·sqlite·excel·vba·access开发
一 乐12 小时前
疫苗发布和接种预约|基于Java+vue疫苗发布和接种预约系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·疫苗发布和接种预约系统系统
Navicat中国12 小时前
如何专业化地导出数据
数据库·导出数据·navicat·数据