WAF的识别、检测、绕过原理与实战案例

实战SQL注入绕过WTS-WAF SQL注入绕过wts-waf 阅读详情

1.WAF简介

1.0.WAF检测原理

WAF通过配置DNS解析地址、软件部署、串联部署、透明部署、网桥部署、反向代理部署、旁路部署等获取攻击流量,基于规则进行攻击特征匹配,或利用其他方式进行攻击检测及阻断。

1.0.1.基于规则匹配

一般都是基于一定的正则语法进行匹配,例如匹配函数 concat(),而不会匹配字符 concat。而 MySQL里面concat函数调用的时候括号是可以被隔开的。例如concat (),就可以绕过该正则。

对于规则匹配的WAF,想办法让WAF的解析引擎或者匹配引擎岀错,而对于实际业务后端来说又无影响可以正常执行,就能绕过WAF的拦截。

1.0.2.基于语义分析

将输入的参数模拟为真实语句去运行,然后判断结果是否有问题。这种理念类似于一个 webshell检测引擎,在不考虑性能等情况下,将PHP的Zend引擎下执行命令的函数hook住,如果该函数被调用,会先进入自己的逻辑去判断。如果符合恶意执行的逻辑则判断为webshell执行,从而实现webshell的识别。

对于语义分析的WAF,绕过理念会更加复杂和困难。因为你不再是对正则进行绕过。而是类似于对一个解析引擎进行黑盒测试的绕过,将其绕过后还要保证后端的真实解析引擎不出错。

类似于前面举例 concat的绕过,本质上是利用了前端语言引擎的解析和后端MySQL引擎解析的不一致达成绕过。而在基于语义分析绕过的情况下,再也无法使用等价替换的手段,只能通过WAF引擎与后端服务器引擎不一致来绕过。

1.0.3.RASP技术

例如OPENRASP有个功能是拦截所有 php/jsp 等脚本文件的写入操作,从攻击会产生的行为去进行检测和防御。

http://blog.nsfocus.net/rasp-tech/

1.1.WAF分类
1.1.1.云WAF

云WAF主要利用DNS技术,通过移交域名解析权来实现安全防护,用户的请求首先发送到云端节点进行检测,如存在异常请求则进行拦截否则将请求转发至真实服务器。

常见的云WAF有阿里云盾、腾讯云 T-Sec Web 应用防火墙、百度云应用防火墙 WAF、华为云-云防火墙 CFW、华为云 Web应用防火墙 WAF、安全狗云御WEB应用防护系统、安恒玄武盾云防护、绿盟网站云防护、启明星辰虚拟化WAF、深信服云Web应用防火墙云WAF、知道创宇-创宇盾、F5 分布式云 WAF、奇安信网站卫士、360磐云、网宿Web应用防火墙、奇安信网神WEB应用安全云防护系统(安域)等

1.1.2.硬件WAF

硬件WAF通常部署在Web服务器之前,过滤所有外部访问流量,并对请求包进行解析,通过安全规则库的攻击规则进行匹配,识别异常并进行请求阻断。

常见产品有绿盟Web应用防火墙、安恒明御Web应用防火墙、启明天清Web应用安全网关、长亭雷池(SafeLine) 下一代 Web 应用防火墙、远江盛邦Web应用防护系统(RayWAF)、天融信Web应用安全防护系统(TopWAF)、深信服Web应用防火墙WAF、铱迅Web应用防护系统、F5 Advanced WAF(API 安全 - 新一代 WAF)

图片

1.1.3.软件WAF

软件WAF安装在需要防护的服务器上,通过监听端口或以Web容器扩展方式进行请求检测和阻断。

常见产品有安全狗、云锁、D盾、网防G01、护卫神、智创、UPUPW、宝塔网站防火墙、悬镜、安骑士等

1.1.4.其他WAF

中间件自带的WAF模块、网站内置WAF、开源WAF(Naxsi、OpenRASP、ModSecurity)

1.2.WAF识别
1.2.1.wafw00f

nmap默认有19个指纹,sqlmap默认有94个指纹,wafw00f默认有155个指纹

#!/usr/bin/env python’‘‘Copyright © 2020, WAFW00F Developers.See the LICENSE file for copying permission.’’'# NOTE: this priority list is used so that each check can be prioritized,# so that the quick checks are done first and ones that require more# requests, are done laterwafdetectionsprio = [ ‘ACE XML Gateway (Cisco)’, ‘aeSecure (aeSecure)’, ‘AireeCDN (Airee)’, ‘Airlock (Phion/Ergon)’, ‘Alert Logic (Alert Logic)’, ‘AliYunDun (Alibaba Cloud Computing)’, ‘Anquanbao (Anquanbao)’, ‘AnYu (AnYu Technologies)’, ‘Approach (Approach)’, ‘AppWall (Radware)’, ‘Armor Defense (Armor)’, ‘ArvanCloud (ArvanCloud)’, ‘ASP.NET Generic (Microsoft)’, ‘ASPA Firewall (ASPA Engineering Co.)’, ‘Astra (Czar Securities)’, ‘AWS Elastic Load Balancer (Amazon)’, ‘AzionCDN (AzionCDN)’, ‘Azure Front Door (Microsoft)’, ‘Barikode (Ethic Ninja)’, ‘Barracuda (Barracuda Networks)’, ‘Bekchy (Faydata Technologies Inc.)’, ‘Beluga CDN (Beluga)’, ‘BIG-IP Local Traffic Manager (F5 Networks)’, ‘BinarySec (BinarySec)’, ‘BitNinja (BitNinja)’, ‘BlockDoS (BlockDoS)’, ‘Bluedon (Bluedon IST)’, ‘BulletProof Security Pro (AITpro Security)’, ‘CacheWall (Varnish)’, ‘CacheFly CDN (CacheFly)’, ‘Comodo cWatch (Comodo CyberSecurity)’, ‘CdnNS Application Gateway (CdnNs/WdidcNet)’, ‘ChinaCache Load Balancer (ChinaCache)’, ‘Chuang Yu Shield (Yunaq)’, ‘Cloudbric (Penta Security)’, ‘Cloudflare (Cloudflare Inc.)’, ‘Cloudfloor (Cloudfloor DNS)’, ‘Cloudfront (Amazon)’, ‘CrawlProtect (Jean-Denis Brun)’, ‘DataPower (IBM)’, ‘Cloud Protector (Rohde & Schwarz CyberSecurity)’, ‘DenyALL (Rohde & Schwarz CyberSecurity)’, ‘Distil (Distil Networks)’, ‘DOSarrest (DOSarrest Internet Security)’, ‘DDoS-GUARD (DDOS-GUARD CORP.)’, ‘DotDefender (Applicure Technologies)’, ‘DynamicWeb Injection Check (DynamicWeb)’, ‘Edgecast (Verizon Digital Media)’, ‘Eisoo Cloud Firewall (Eisoo)’, ‘Expression Engine (EllisLab)’, ‘BIG-IP AppSec Manager (F5 Networks)’, ‘BIG-IP AP Manager (F5 Networks)’, ‘Fastly (Fastly CDN)’, ‘FirePass (F5 Networks)’, ‘FortiWeb (Fortinet)’, ‘GoDaddy Website Protection (GoDaddy)’, ‘Greywizard (Grey Wizard)’, ‘Huawei Cloud Firewall (Huawei)’, ‘HyperGuard (Art of Defense)’, ‘Imunify360 (CloudLinux)’, ‘Incapsula (Imperva Inc.)’, ‘IndusGuard (Indusface)’, ‘Instart DX (Instart Logic)’, ‘ISA Server (Microsoft)’, ‘Janusec Application Gateway (Janusec)’, ‘Jiasule (Jiasule)’, ‘Kona SiteDefender (Akamai)’, ‘KS-WAF (KnownSec)’, ‘KeyCDN (KeyCDN)’, ‘LimeLight CDN (LimeLight)’, ‘LiteSpeed (LiteSpeed Technologies)’, ‘Open-Resty Lua Nginx (FLOSS)’, ‘Oracle Cloud (Oracle)’, ‘Malcare (Inactiv)’, ‘MaxCDN (MaxCDN)’, ‘Mission Control Shield (Mission Control)’, ‘ModSecurity (SpiderLabs)’, ‘NAXSI (NBS Systems)’, ‘Nemesida (PentestIt)’, ‘NevisProxy (AdNovum)’, ‘NetContinuum (Barracuda Networks)’, ‘NetScaler AppFirewall (Citrix Systems)’, ‘Newdefend (NewDefend)’, ‘NexusGuard Firewall (NexusGuard)’, ‘NinjaFirewall (NinTechNet)’, ‘NullDDoS Protection (NullDDoS)’, ‘NSFocus (NSFocus Global Inc.)’, ‘OnMessage Shield (BlackBaud)’, ‘Palo Alto Next Gen Firewall (Palo Alto Networks)’, ‘PerimeterX (PerimeterX)’, ‘PentaWAF (Global Network Services)’, ‘pkSecurity IDS (pkSec)’, ‘PT Application Firewall (Positive Technologies)’, ‘PowerCDN (PowerCDN)’, ‘Profense (ArmorLogic)’, ‘Puhui (Puhui)’, ‘Qcloud (Tencent Cloud)’, ‘Qiniu (Qiniu CDN)’, ‘Reblaze (Reblaze)’, ‘RSFirewall (RSJoomla!)’, ‘RequestValidationMode (Microsoft)’, ‘Sabre Firewall (Sabre)’, ‘Safe3 Web Firewall (Safe3)’, ‘Safedog (SafeDog)’, ‘Safeline (Chaitin Tech.)’, ‘SecKing (SecKing)’, ‘eEye SecureIIS (BeyondTrust)’, ‘SecuPress WP Security (SecuPress)’, ‘SecureSphere (Imperva Inc.)’, ‘Secure Entry (United Security Providers)’, ‘SEnginx (Neusoft)’, ‘ServerDefender VP (Port80 Software)’, ‘Shield Security (One Dollar Plugin)’, ‘Shadow Daemon (Zecure)’, ‘SiteGround (SiteGround)’, ‘SiteGuard (Sakura Inc.)’, ‘Sitelock (TrueShield)’, ‘SonicWall (Dell)’, ‘UTM Web Protection (Sophos)’, ‘Squarespace (Squarespace)’, ‘SquidProxy IDS (SquidProxy)’, ‘StackPath (StackPath)’, ‘Sucuri CloudProxy (Sucuri Inc.)’, ‘Tencent Cloud Firewall (Tencent Technologies)’, ‘Teros (Citrix Systems)’, ‘Trafficshield (F5 Networks)’, ‘TransIP Web Firewall (TransIP)’, ‘URLMaster SecurityCheck (iFinity/DotNetNuke)’, ‘URLScan (Microsoft)’, ‘UEWaf (UCloud)’, ‘Varnish (OWASP)’, ‘Viettel (Cloudrity)’, ‘VirusDie (VirusDie LLC)’, ‘Wallarm (Wallarm Inc.)’, ‘WatchGuard (WatchGuard Technologies)’, ‘WebARX (WebARX Security Solutions)’, ‘WebKnight (AQTRONIX)’, ‘WebLand (WebLand)’, ‘wpmudev WAF (Incsub)’, ‘RayWAF (WebRay Solutions)’, ‘WebSEAL (IBM)’, ‘WebTotem (WebTotem)’, ‘West263 CDN (West263CDN)’, ‘Wordfence (Defiant)’, ‘WP Cerber Security (Cerber Tech)’, ‘WTS-WAF (WTS)’, ‘360WangZhanBao (360 Technologies)’, ‘XLabs Security WAF (XLabs)’, ‘Xuanwudun (Xuanwudun)’, ‘Yundun (Yundun)’, ‘Yunsuo (Yunsuo)’, ‘Yunjiasu (Baidu Cloud Computing)’, ‘YXLink (YxLink Technologies)’, ‘Zenedge (Zenedge)’, ‘ZScaler (Accenture)’]

举几个例子:

1.2.1.1.阿里云盾

#!/usr/bin/env python’‘‘Copyright © 2020, WAFW00F Developers.See the LICENSE file for copying permission.’’‘NAME = ‘AliYunDun (Alibaba Cloud Computing)‘def is_waf(self): schemes = [ self.matchContent(r’error(s)?\.aliyun(dun)?\.(com|net)?’), self.matchCookie(r’^aliyungf_tc=’), self.matchContent(r’cdn\.aliyun(cs)?\.com’), self.matchStatus(405) ] if all(i for i in schemes): return True return False

1.2.1.2.安全狗

#!/usr/bin/env python’‘‘Copyright © 2020, WAFW00F Developers.See the LICENSE file for copying permission.’’‘NAME = ‘Safedog (SafeDog)‘def is_waf(self): schemes = [ self.matchCookie(r’^safedog\-flow\-item=’), self.matchHeader((‘Server’, ‘Safedog’)), self.matchContent(r’safedogsite/broswer_logo\.jpg’), self.matchContent(r’404\.safedog\.cn/sitedog_stat.html’), self.matchContent(r’404\.safedog\.cn/images/safedogsite/head\.png’) ] if any(i for i in schemes): return True return False

1.2.1.3.腾讯云

#!/usr/bin/env python’‘‘Copyright © 2020, WAFW00F Developers.See the LICENSE file for copying permission.’’'NAME = 'Tencent Cloud Firewall (Tencent Technologies)‘def is_waf(self): schemes = [ self.matchContent(r’waf\.tencent\-?cloud\.com/’) ] if any(i for i in schemes): return True return False

1.2.1.4.云锁

#!/usr/bin/env python’‘‘Copyright © 2020, WAFW00F Developers.See the LICENSE file for copying permission.’’‘NAME = ‘Yunsuo (Yunsuo)‘def is_waf(self): schemes = [ self.matchCookie(r’^yunsuo_session=’), self.matchContent(r’class=\“yunsuologo\”’) ] if any(i for i in schemes): return True return False

1.3.WAF拦截页面

收集WAF拦截页面较为麻烦,部分图片引用自潇湘信安微信公众号中3had0w师傅的文章《30几款常见WAF的拦截页整理》,在此感谢下师傅~

1.3.1.云WAF
1.3.1.1.阿里云盾

服务名:Alibaba Security Aegis Detect Service、Alibaba Security Aegis Update Service、AliyunService进程名:AliYunDun.exe、AliYunDunUpdate.exe、aliyun_assist_service.exe

图片

指纹:https://errors.aliyun.com/images/TB1TpamHpXXXXaJXXXXeB7nYVXX-104-162.png

图片

1.3.1.2.腾讯云

进程名:BaradAgent.exe、sgagent.exe、YDService.exe、YDLive.exe、YDEdr.exe

图片

1.3.1.3.百度云

图片

1.3.1.4.华为云

图片

1.3.1.5.安恒玄武盾

图片

1.3.1.6.创宇盾

图片

图片

1.3.1.7.知道创宇 加速乐

图片

1.3.1.8.奇安信网站卫士

图片

1.3.1.9.360磐云(360网站卫士)

服务名:QHWafUpdata进程名:360WebSafe.exe、QHSrv.exe、QHWebshellGuard.exe

图片

1.3.1.10.网宿云

图片

1.3.1.11.奇安信 安域云WAF

图片

1.3.1.12.Cloudflare云WAF

图片

1.3.1.13.安全狗

图片

图片

1.3.2.硬件WAF
1.3.2.1.安恒明御WAF

图片

1.3.2.2.长亭SafeLine

图片

1.3.2.3.盛邦RayWAF

图片

1.3.2.4.铱讯WAF

图片

图片

1.3.2.5.F5 BIG-IP

图片

图片

图片

1.3.3.软件WAF
1.3.3.1.网站安全狗

服务名:SafeDogCloudHelper、Safedog Update Center、SafeDogGuardCenter(服务器安全狗守护中心)进程名:SafeDogSiteApache.exe、SafeDogSiteIIS.exe、SafeDogTray.exe、SafeDogServerUI.exe、SafeDogGuardCenter.exe、CloudHelper.exe、SafeDogUpdateCenter.exe

图片

1.3.3.2.云锁

服务端监听端口:5555服务名:YunSuoAgent/JtAgent(云锁Windows平台代理服务)、YunSuoDaemon/JtDaemon(云锁Windows平台守护服务)进程名:yunsuo_agent_service.exe、yunsuo_agent_daemon.exe、PC.exe

图片

1.3.3.3.D盾

服务名:d_safe进程名:D_Safe_Manage.exe、d_manage.exe

图片

1.3.3.4.网防G01

服务端监听端口:5555服务名:YunSuoAgent、YunSuoDaemon(不知是否忘了替换了!)进程名:gov_defence_service.exe、gov_defence_daemon.exe

图片

1.3.3.5.护卫神

服务名:hws、hwsd、HwsHostEx/HwsHostWebEx(护卫神主机大师服务)进程名:hws.exe、hwsd.exe、hws_ui.exe、HwsPanel.exe、HwsHostPanel.exe、HwsHostMaster.exe(护卫神主机大师)

图片

1.3.3.6.智创防火墙

图片

1.3.3.7.UPUPW安全防护

图片

1.3.3.8.宝塔网站防火墙

图片

1.3.4.其他WAF
1.3.4.1.Naxsi WAF

图片

图片

1.3.4.2.360主机卫士或360webscan

服务名:QHWafUpdata进程名:360WebSafe.exe、QHSrv.exe、QHWebshellGuard.exe

图片

1.3.4.3.西数WTS-WAF

图片

1.3.4.4.腾讯宙斯盾

图片

1.3.4.5.Mod_Security

图片

1.3.4.6.OpenRASP

图片

1.3.4.7.dotDefender

图片

1.3.4.8.西部数码云网盾

图片

1.3.4.9.红网云WAF

图片

2.WAF绕过

2.1.架构层
2.1.1.绕过云WAF寻找源站
2.1.1.1.目标域名历史解析IP

https://site.ip138.com/

图片

https://ipchaxun.com/

图片

DNSDB:https://dnsdb.io/zh-cn/

2.1.1.2.页面/js源码爬取IP

jsfinder:https://github.com/Threezh1/JSFinder

burp敏感信息高亮插件:https://github.com/ScriptKid-Beta/Unexpected_information

配置文件等敏感信息泄露

2.1.1.3.暴露真实ip的边缘业务

例如www.xxx.cn,官网一般都喜欢走CDN,直接查找该业务真实IP不太好找,但是可以根据子域名www.baxx.xxx.cn去定位真实IP,再结合C段扫描定位官网的真实IP及端口。

图片

2.1.1.4.HOSTS碰撞

隐藏资产探测-hosts碰撞:https://www.cnblogs.com/Rain99-/p/13756032.html

2.1.1.5.其他思路
  • SSL证书查询

  • 未接入WAF前,真实IP地址是否被搜索引擎等服务收录,例如百度快照。

  • GIHUB源代码泄露是否包含源站IP。

  • 拿下子站,利用子站向主站进行攻击,如果子站IP有加白名单就比较舒hu。

2.2.资源限制
2.2.1.填充垃圾字符

尝试往各种位置填充垃圾字符即可,例如uri里、sql语句中、body中、filename值等等

URI:/xxx?data=aaaaaaa…aaaaa&cmd=whaomiSQL:11111111…111111111’ and 1=1 --1’/*aaa…aaa*/ and 1=1 --Body:a=aaaaaaa- --&b=bbbb. . .&pay1oad=. . .filename:name=“uploaded”; filename222… ="xxxx… . . ";filename=“x.txt”

2.2.1.高并发

爆破模块持续发包,也可结合payload字典进行fuzz绕过

2.3.协议层
2.3.1.常见绕过思路

利用HTTPS协议,若WAF没有配置SSL解密就可以绕过;

利用chunk也就是分块传输进行绕过;

去掉请求头中的请求方法进行绕过等等

2.3.2.HTTP协议标准

思路是死的,人是活的,了解协议标准会帮助我们开发新的绕过思路。可以参考腾讯云上的HTTP协议介绍:https://cloud.tencent.com/developer/doc/1117

2.4.规则层
2.4.1.等价替换

判断字符集是否可以使用,可以正常发包,改字符集,看返回是否正常。

字符编码

好的文章:编码导致的WAF安全性研究

Nginx,uWSGI-Django-Python3

IBM037、IBM500、cp875、IBM1026、IBM273

查询字符串和正文需要编码。查询字符串和正文中的 URL 解码参数。等号和 & 符号也需要编码(无 url 编码)。

Nginx,uWSGI-Django-Python2

|

IBM037、IBM500、cp875、IBM1026、utf-16、utf-32、utf-32BE、IBM424

|

查询字符串和正文需要编码。之后查询字符串和正文中的 URL 解码参数。等号和 & 号不应以任何方式编码。

|
|

Apache-TOMCAT8-JVM1.8-JSP

|

IBM037、IBM500、IBM870、cp875、IBM1026、IBM01140、IBM01141、IBM01142、IBM01143、IBM01144、IBM01145、IBM01146、IBM01147、IBM01148、IBM01149、utf-16、utf-32、utf-32BE、IBM273、IBM280278 IBM284、IBM285、IBM290、IBM297、IBM420、IBM424、IBM-Thai、IBM871、cp1025

|

原始格式的查询字符串(可以像往常一样进行 url 编码)。可以使用/不使用 url 编码发送正文。等号和 & 号不应以任何方式编码。

|
|

Apache-TOMCAT7-JVM1.6-JSP

|

IBM037、IBM500、IBM870、cp875、IBM1026、IBM01140、IBM01141、IBM01142、IBM01143、IBM01144、IBM01145、IBM01146、IBM01147、IBM01148、IBM01149、utf-16、utf-32、utf-32BE、IBM273、IBM280278 IBM284、IBM285、IBM297、IBM420、IBM424、IBM-Thai、IBM871、cp1025

|

原始格式的查询字符串(可以像往常一样进行 url 编码)。可以使用/不使用 url 编码发送正文。等号和 & 号不应以任何方式编码。

|
|

IIS6、7.5、8、10 -ASPX (v4.x)

|

IBM037,IBM500,IBM870,cp875,IBM1026,IBM01047,IBM01140,IBM01141,IBM01142,IBM01143,IBM01144,IBM01145,IBM01146,IBM01147,IBM01148,IBM01149,utf-16,unicode-FFFE,BE,utf-32,IBM27732,utf-32,utf-32 IBM278、IBM280、IBM284、IBM285、IBM290、IBM297、IBM420、IBM423、IBM424、x-EBCDIC-KoreanExtended、IBM-Thai、IBM871、IBM880、IBM905、IBM00924、cp1025

|

原始格式的查询字符串(可以像往常一样进行 url 编码)。可以使用/不使用 url 编码发送正文。等号和 & 号不应以任何方式编码。

|

2.4.2.字符干扰

空字符

MySQL

Oracle

MSSQL

注释符

|

//、#、/!/、/!50000xx/、–、-- -、–+

|

–、/**/ --%0a-

|

–、/**/、–%0a-

|
|

空白字符

|

%09%0A%0B%0C%0D%20

|

%00%09%0A%0B%0C%0D%20

|

%00-%20

|

2.4.3.特殊符号

mysql

Injection

Allowed symbols

-1 union:

|

`.,%.0,%" ",%’ ',&.0,&\N,-.0,=\N,<0.,>0.,e0,^0.,

|
|

select 1:

|

`±!,-@,@

|
|

column from:

|

`,’ ‘," “,1.,1e1,1.1,%” ",%’ ‘,.1,%\N,*" ",*’ ‘,=.0,<.0,>.0,=“”,=’ ',^" "

|
|

from table:

|

.%20,%20.

|
|

table limit:

|

````

|

mssql

Injection

Allowed symbols

Any place

|

%00,%01,%02,%03,%04,%05,%06,%07,%08,%09,%0A,%0B,%0C,%0D,%0E,%0F,%10,%11,%12,%13,%14,%15,%16,%17,%18,%19,%1A,%1B,%1C,%1D,%1E,%1F,%20

|
|

-1 union

|

`.,e,*0,%1,*,-0,-,^0

|
|

union select

|

%C2%85,%C2%A0

|
|

select null

|

-,~,/,\*,\ABC,%,\#,\#,\_,%C2%85,%C2%A0,’ ‘#,’ '_,%2B

|
|

column from

|

‘a’=\

|
|

from table

|

.

|

windows文件名不可包含的特殊字符

\/😗?"<>|

3.WAF绕过实战案例

针对常见的WAF,可以提前做些绕过方式储备,这样打点会比较高效一些。

3.1.脏数据填充绕WAF

Content-Type: multipart/form-data;此处填充12187以上个字符Boundary=---------------------------1750181627257789624103726579Content-Type: multipart/form-data;Boundary此处填充12187以上个字符=---------------------------1750181627257789624103726579

图片

3.2.SQL注入绕WAF

以DVWA+安全狗的环境为例,默认payload会被拦截:

图片

可以利用payload = 1'+/*!33441and*/+1=1%23绕过安全狗进行检测:

图片

3.3.双写filename绕WAF

这个场景是绕waf传压缩文件,有个坑点是用专业版传压缩文件,传上去之后解压出来webshell无法利用,用社区版burp可以规避这个上传后文件无法利用的情况。

图片

3.4.文件上传绕WAF思路

截断思路,例如将filename前加%00[空格][换行]特殊字符思路,例如将form-data; 修改为~form-data; 或者将form-data 修改为 f+orm-d+ata大小写敏感思路,例如将content-Type 修改为content-Type畸形格式思路,例如将form-data冒号及后面的属性删掉 Content-Disposition: form-data; name= “file”; 或者 调换name和filename属性的顺序空格思路,例如将Content-Type各处后面加入空格Content-Type : multipart/form-data ; boundary =换行思路,例如将filename=后面换行,将文件名每个字符都换行畸形数据包思路,例如将content-Type: image/jpeg删掉特殊协议思路,例如通过chunked编码提交转义符号思路,例如设置boundary="aa\ “bbb"特殊字符扩展名思路,例如fi1ename=file_name: .php,除了:外还有’ " \ \’ \” ; [空格][换行]重复参数思路,例如多个boundary,或者多个filename等特殊字符编码思路,例如使用ibm037、utf-32等编码

4.参考文档

1、WAF介绍:https://www.cnblogs.com/realjimmy/p/12937247.html

2、WAF攻防研究之四个层次Bypass WAF:https://xz.aliyun.com/t/15/

3、WAF攻防实战笔记v1.0–Bypass

4、细说——WAF:https://blog.youkuaiyun.com/weixin_44288604/article/details/120709418

5、隐藏资产探测-https://www.cnblogs.com/Rain99-/p/13756032.html

学习资源

如果你是也准备转行学习网络安全(黑客)或者正在学习,这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你

知识库由360智榜样学习中心独家打造出品,旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力,熟练掌握基础攻防到深度对抗。

1、知识库价值

深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。

广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。

实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。

2、 部分核心内容展示

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

在这里插入图片描述

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。

1、网络安全意识

img

2、Linux操作系统

img

3、WEB架构基础与HTTP协议

img

4、Web渗透测试

img

5、渗透测试案例分享

img

6、渗透测试实战技巧

图片

7、攻防对战实战

图片

8、CTF之MISC实战讲解

图片

3、适合学习的人群

‌一、基础适配人群‌

  1. ‌零基础转型者‌:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌;
  2. ‌开发/运维人员‌:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展‌或者转行就业;
  3. ‌应届毕业生‌:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期‌;

‌二、能力提升适配‌

1、‌技术爱好者‌:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌;

2、安全从业者‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传优快云,朋友们如果需要可以在下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

WAF的原理 一.WAF的原理 WAF是Web应用防火墙(Web Application Firewall)的简称,对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,为Web应用提供防护,也称作应用防火墙,是网络安全纵深防御体系里重要的一环。WAF属于检测型及纠正型防御控制措施。WAF分为硬件WAF、软件WAF(ModSecurity)和代码级WAF。 WAF对请求的内容进行规则匹配、行为分析等识别出恶意行为,并执行相关动作,这些动作包括阻断、记录、告警等。 WA 阅读详情

相关推荐

waf绕过方法总结

一、WAF防护原理 1. bypass 客户端JavaScript校验;服务器校验;文件内容头字段、编码校验;后缀名黑名单校验;自定义正则校验;waf设备校验; 有些waf不会防asp/php/jsp后缀文件,但是他会检测里面的文件; WTS-WAF bypass ; baidu colud bypass; aliyun waf; 安全狗上传bypass;云锁上传bypass; 2. defense ...

gugonggugong的博客 3335

WAF的简介与识别

WAF简介 WAF( Web Application Firewall ) Web应用防火墙,部署在web应用程序前面,在用户请求到达web服务器前对用户请求进行扫描和过滤,分析并校验每个用户请求的网络包,确保每个用户请求有效且安全,对无效或有攻击行为的请求进行阻断或隔离。通过检查HTTP流量,可以防止源自web应用程序的安全漏洞(如注入漏洞、XSS漏洞、命令执行漏洞、文件包含漏洞等)的攻击。 检测大多数是基于“正则表达式”和“AI+规则”的方法,有一定的几率绕过 常用的12种WAF绕过方法 1. 大小写

z1moq的博客 1503

SQL注入WAF绕过实战:从原理到靶场应用的安全攻防解析

SQL注入作为Web安全领域的经典漏洞,其核心原理是通过构造恶意SQL语句,干扰应用程序与数据库的正常交互逻辑,从而窃取或篡改数据。随着Web应用防火墙(WAF)的普及,基于正则表达式和语义分析的规则过滤成为主流防御手段。理解WAF的工作原理,掌握其检测盲区,对于安全测试与防护体系建设具有重要价值。本文聚焦于**WAF绕过**这一实战场景,系统拆解了从基础的大小写混淆、注释符滥用,到高级的协议解析差异利用、数据库特性绕过等技战法。通过结合**Pikachu靶场**和**DVWA靶场**的实操案例,深入探讨了

weixin_30568591的博客 428

渗透测试-WAF的识别、检测、绕过原理与实战案例

渗透测试-WAF的识别、检测、绕过原理与实战案例

lza20001103的博客 3752

绕过WAF与识别工具

WAF简介 WAF对于一些常规漏洞(如注入漏洞、XSS漏洞、命令执行漏洞、文件包含漏洞)的检测大多是基于“正则表达式”和“AI+规则”的方法,因此会有一定的概率绕过其防御。 绕过waf的测试中,有很多方法可以使用,以下常用方法: 大小写绕过 注释符绕过 编码绕过 分块传输绕过 使用空字节绕过 关键字替换饶过 http协议覆盖绕过 白名单ip绕过 真实ip绕过 Pipline绕过 参数污染 溢出waf绕过 可以把WAF分为四类: 云WAF类 硬件WAF类 软件WAF类 网站内置WAF

weixin_51387754的博客 3669

SQL 注入之 WAF 绕过

SQL 注入攻击是一种严重的安全威胁,而 WAF 是防范 SQL 注入攻击的重要手段之一。然而,攻击者也在不断寻找方法来绕过 WAF,从而成功实施 SQL 注入攻击。为了防范 WAF 绕过,我们需要采取持续更新 WAF 规则、多层面防御、安全培训和定期安全审计等措施,形成一个强大的安全防护体系,保护 Web 应用程序的安全。同时,我们也需要不断关注网络安全领域的最新动态,及时了解新的攻击技术和防范方法,以提高我们的安全防护能力。

2301_77160226的博客 2031

哥斯拉webshell免杀原理:基于webshell项目的特征码混淆技术

WebShell(网页后门)是Web安全领域的重要攻防对象,而免杀技术则是对抗检测工具的核心能力。本文基于gh_mirrors/we/webshell项目中的实战样本,深入解析哥斯拉(Godzilla)WebShell的免杀原理与特征码混淆技术,帮助安全从业者理解攻击方的绕过思路。 ## 哥斯拉WebShell基础架构 哥斯拉作为主流WebShell工具之一,其核心优势在于灵活的加密传输与动态...

gitblog_00501的博客 815

WAF识别软件(WAFW00F)以及WAF绕过

WAF防护分析及sql注入绕过 后续会继续更新笔记

weixin_52657559的博客 3124

WAF机制及绕过方法

WAF(Web应用防火墙)是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。通俗来说就是WAF产品里集成了一定的检测规则,会对每个请求的内容根据生成的规则进行检测并对不符合安全规则的作出对应的防御处理,从而保证Web应用的安全性与合法性。我们在平时的渗透测试中,更多情况下会遇到的是网站开发人员自己写的防护规则。网站开发人员为了网站的安全,会在可能遭受攻击的地方增加一些安全防护代码,比如过滤敏感字符,对潜在的威胁的字符进行编码、转义等。

qq_64162562的博客 3524

网络安全之WAF 识别与绕过终极指南 指纹识【判断是否存在WAF】识别工具(3/23更新)

waf绕过和鉴权过waf的手段 sql注入绕过waf在请求数据包中的数据 都需要过waf 这种都是可以在编码中绕过自己写绕过规则 在sqlmap tamper中写入自己的py文件WAF识别。

盾悟 8863

waf识别指纹工具

WAFW00F识别和指纹Web应用防火墙(WAF)产品。 其工作原理是首先通过发送一个正常http请求,然后观察其返回有没有一些特征字符,若没有在通过发送一个恶意的请求触发waf拦截来获取其返回的特征来判断所使用的waf。

(18)【WAF绕过】WAF部署、绕过分析和原理、注入绕过WAF方法

【WAF绕过】

7757

B站李沐讲论文笔记AlexNet

B站李沐讲论文笔记AlexNet

夏知识不进脑子薇的博客 789

WAF的工作原理和绕过浅析

目录 WAF WAF的判断 WAF的工作原理 基于规则库匹配的WAF WAF的绕过 域名转换为ip WAF解析HTTP请求阶段绕过 分块编码(Transfer-Encoding)绕过WAF 其他 WAF匹配规则阶段绕过 利用溢量数据绕过WAF 其他 结语 WAF 在实际的渗透测试过程中,经常会碰到网站存在WAF的情况。网站存在WAF,意味着我们不能使用安全工具对网站进...

谢公子的博客 1万+

STM32驱动AS5600磁性旋转位置传感器模块

文章目录简介引脚定义I2C接口写数据读数据从指定的地址开始读数据驱动程序cubeMX配置驱动程序`bsp_as5600.h``bsp_as5600.c`测试程序参考资料 简介 AS5600 是一款易于编程的磁性旋转位置传感器,具有高分辨率 12 位模拟或 PWM 输出。 这种非接触式系统测量径向磁化轴上磁铁的绝对角度。 该 AS5600 专为非接触式电位计应用而设计,其坚固的设计消除了任何同质外部杂散磁场的影响。 引脚定义 I2C接口 7位设备地址为0x36(二进制表示为0110110) 支持标准模式和

ApexYuan 1万+

WGCNA样本量不够怎么办?5种替代方案帮你解决小样本基因共表达分析难题

本文针对WGCNA样本量不足的问题,提供了5种科学替代方案,包括CEMiTool、参数调整、多组学数据整合、机器学习特征提取和公共数据利用。这些方法帮助研究者在小样本条件下仍能进行可靠的基因共表达分析,特别适用于罕见病和珍贵临床样本研究。

weixin_42554042的博客 303

WAF介绍及常见绕过方法

一、WAF简介 WAF(WebApplicationFirewall)也称:网站应用级入侵防御系统,是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。 1.工作原理 对web应用程序客户端发出的流量进行内容检测和验证,检测其安全性与合法性,来屏蔽常见的网站漏洞攻击,如SQL注入,XML注入、XSS等。 2.WAF分类 软件型WAF 以软件形式装在所保护的服务器...

qq_41320827的博客 9356

2024高项范文-论项目成本管理

例如,在需求分析和设计阶段,安排了较多经验丰富的人员,确保基础工作的高质量完成,同时也避免了后续因需求变更等问题导致的时间和成本浪费。虽然项目进度略有延迟,但通过有效的成本管理和调整,最终在可控的成本范围内完成了项目,并且软件的质量也得到了保障。通过这个案例可以看出,在项目成本管理过程中,要紧密结合时间管理,根据实际情况灵活调整策略,注重风险的防范和应对,才能实现时间和成本的平衡,确保项目的成功。资源规划是成本基准形成的基础。识别和评估项目中的成本风险,并制定相应的应对措施,以降低风险对项目成本的影响。

xjflion的博客 1188

WAF的功能、检测、指纹及绕过

WAF(web应用防火墙)是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。文章目录一、WAF的工作原理二、WAF的常见功能三、WAF种类四、WAF的判断五、WAF的绕过六、WAF指纹七、部分WAF指纹。

persist213的博客 3222

使用 VPN 访问太理内部网相关问题总结【太原理工大学】

电脑连接 VPN,访问校园内部网相关问题总结,太原理工大学。

m0_52861684的博客 9880

ms17-010 永恒之蓝漏洞利用+抓包分析过程

一、实验环境: 1、攻击机:Kali 1)攻击工具:msf 2)分析工具:wireshark 3)IP地址:192.168.204.157(自动获得) 2、靶 机:Windows7 1)版本:SP1 2)开启网络共享(SMB协议) 3)关闭防火墙 4)IP地址:192.168.204.150(自动获得) 3、网卡连接方式:Vmnet8(NAT) 二、实验步骤: ...

qq_41976183的博客 6947
上一篇: 护网行动红蓝对抗实战复盘:红队突破技巧+蓝队防御避坑,直接套用
下一篇: 超详细的常见漏洞代码审计方法,网络安全必看的零基础入门到精通教程!
网络安全_入门教程
博客等级 码龄4年 1万+粉丝 2151原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值