Bypass WAF实战总结

0X00前言

上个月刷了一波洞,然后这个月初远程支持了一个HW,在文件上传getshell的时候,碰到个各式各样的云waf,通过一个月的实战,总结了几个比较实用的技巧,文章总结的不全,只是基于我实战中用到的一些方法。

0x01垃圾填充

这是众所周知、而又难以解决的问题。如果HTTP请求POST 太大,检测所有的内容,WAF集群消耗太大的CPU、内存资源。因此许多WAF只检测前面的几K字节、1M、或2M。对于攻击者而然,只需要在前面添加许多无用数据,把攻击payload放在最后即可绕过WAF检测。

1.超长文件名

这个主要是对于waf检测文件后缀的时候起作用,利用超长的文件名,可以逃过文件后缀名的检测

2.上传内容使用垃圾字符

上传一个比较大的文件,将马子藏在其中

0x02使用参数污染成功执行命令

简而言之,就是给参数赋上多个值

0x03构造畸形请求包

还是基于waf的检测一般都会判断请求类型再去检测内容

有些可以通过修改POST为GET绕过waf

还有的waf通过Content-Type: multipart/form-data来判定这是个上传包,然后检测内容

这个方法,又能细分出很多来,而且屡试不爽,这里总结下我个人常用的

(1) 删掉content-type

(2) 构造多个filename

(3)content-type后面加TABLE键

(4)换行boundary

(5)文件名前面加空格

(6)文件名前面加单引号

..................................这里是实在是太多了,就不一一举例了

 

0x04文件内容编码绕过

这个就比较考验个人能力了,既可以让waf检测不到,有能成功执行命令,这里是真正的硬实力绕waf。

0X05大力出奇迹

这是我形象化的一个词语,这里没什么技巧,就是不断发包,让waf反应不过来,在碰到一些比较老的服务器,或者waf这招还是比较有用的。

 

0x05总结

绕Waf是门艺术,基于waf的规则绕过是核心点,机器是死的人是活的,fuzz是测试waf的较好的方法,只要你思路够骚,waf那还不是笋尖缪杀!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358334.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git教程学习总结(分享给热爱学习的你,团队的协作离不开你呀)

目录 Git 教程 Git 安装配置 Git 工作流程 Git 工作区、暂存区和版本库 Git 创建仓库 Git 基本操作 Git 分支管理 Git 查看提交历史 git log git blame Git 标签 Git 远程仓库(Github) Git Gitee Git 服务器搭建 Git 教程 Git 是一个开源的分布式版本控制系统&…

Linux的shell编写

-eq //等于 -ne //不等于 -gt //大于 -lt //小于 ge //大于等于 le //小于等于实验中遇到的问题: 1.NAMEuser1 中间不能有空格 2.[ xxx ] xxx前面和后面要有空格 任务1:使用case语句编…

为啥这么多程序员大佬学习Cortex-M3

Cortex-M3是一个32位处理器内核。内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。CM3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。这样一来数据访问不再占用指令总线,…

Ffuf使用教程

kali安装教程链接:https://www.iculture.cc/cybersecurity/pig210 该工具用途广泛,可用于多种用途。一些用途: • 目录发现,可选择在 URL 中的任何位置进行模糊测试。 • 子域名发现 • 使用各种 HTTP 方法进行模糊测试。 安装 …

Burp Collaborator 使用总结

0x00:使用原因 我们在做渗透测试的时候,经常会遇到这种情况,测试跨站可能有些功能插入恶意脚本后无法立即触发,例如提交反馈表单,需要等管理员打开查看提交信息时才会触发,或者是盲注跨站,盲打 …

jrockit_1.6下载_Oracle JRockit Mission Control 4.1发布

jrockit_1.6下载Oracle发布了以前的仅JRockit专用工具Mission Control Suite(JRMC)的新版本。 4.1版本是次要版本升级,直接遵循4.0.1(该版本发布于2010年中期)。 但是,即使版本号表明是次要的升级&#xff…

dnslog盲注原理

Dnslog盲注原理 布尔盲注和时间盲注相当于猜单词的游戏,我们需要对每一位逐步的猜测,效率很低,需要发送很多的请求进行判断,很可能会触发安全设备的防护 我们需要一种方式能够减少请求,直接回显数据——Dnslog注入 Dn…

[学习笔记]批次需求计划系统-简要

一、该系统的目的二、系统特色(1)来源根据 如上图(2)仅仅补充需求来源的最大值,避免料件多买而造成浪费(3)可透过[发放LRP工单]将生产计划发放成正式工单(4)可透过[发放LRP採购单]将採购计划发放成正式的请购单或者採购单(5)系统会记录计划的来源单据,方…

在浏览器控制台执行以下代码,输入的结果是()

在浏览器控制台执行以下代码,输入的结果是(A) A.4400 4401 4399 4400 B.4400 4401 4401 4402 C.4400 4400 4399 4400 D.4400 4401 4399 4402 E.4400 4401 4401 4400 解析 js在执行之前

iOS-心跳

转载于:https://www.cnblogs.com/zhuyaguang/p/4800703.html

google国内镜像网址收集

搞IT的遇到问题,光靠baidu有时真的解决不了问题,所以时不时的就需要求助google😂, 里面有好多国外网友的博客、stackoverflow、github issues、官方文档等等的大量一手英文资料, 但是因为种种原因国家一直不放开Google…

mongo-express 远程代码执行漏洞(CVE-2019-10758)

前言 mongo-express是一款mongodb的第三方Web界面,使用node和express开发。如果攻击者可以成功登录,或者目标服务器没有修改默认的账号密码(admin:pass),则可以执行任意node.js代码。 影响版本 mongo-express&#xff…

【转】深入浅出PageRank算法

原文链接 http://segmentfault.com/a/1190000000711128 PageRank算法 PageRank算法是谷歌曾经独步天下的“倚天剑”,该算法由Larry Page和Sergey Brin在斯坦福大学读研时发明的, 论文点击下载: The PageRank Citation Ranking: Bringing Order to the We…

https://blog.csdn.net/weixin_40412037/article/details/112235003

一、工具简介 说明: 这是一款基于主机的漏洞扫描工具,采用多线程确保可以快速的请求数据,采用线程锁可以在向sqlite数据库中写入数据避免database is locked的错误,采用md5哈希算法确保数据不重复插入。 本工具查找是否有公开e…

前端工程师能力评估测试题(2020最新版附答案及解析)

1.下列哪个样式定义后,内联(非块状)元素可以定义宽度和高度 (C) A.display:inline B.display:none C.display:block D.display:inherit 解析 2.css属性overflow属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机…

Cobalt strike加载插件出现乱码

问题描述 插件 加载成功出现乱码 解决方法 在Cobalt strike目录下执行命令指定编码打开客户端解决。 java -Dfile.encodingutf-8 -XX:ParallelGCThreads4 -XX:AggressiveHeap -XX:UseParallelGC -Xms512M -Xmx1024M -jar cobaltstrike.jar1 成功解决

MariaDb数据库管理系统的学习(一)安装示意图

MariaDB数据库管理系统是MySQL的一个分支。主要由开源社区在维护,採用GPL授权许可。开发这个分支的原因之中的一个是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区採用分支的方式来避开这个风险。 MariaDB的目的是全…

Ubuntu 安装msfconsole

Ubuntu 安装msfconsole 1.进入到opt目录下 cd /opt/1 2.下载安装文件 msfupdate.erb sudo wget https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb1 3.将文件msfupdate.erb重命名为msfinstal…

为什么需要多线程

对于这个问题可能很多朋友会说是为了高性能,个人觉得这是误解,多线程不等于高性能,从cpu(单核)的角度上看单线程才能带来最高性能。 对于单纯的运算任务来说一条线程依次执行到底肯定是最快速的(因为线程间…

PhpMyAdmin后台getshell

PhpMyAdmin简介 PhpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出…