您好,登錄后才能下訂單哦!
小編給大家分享一下WAF中正確bypass的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
php:我使用的是 phpStudy
WAF:各種WAF的官網
測試思路 php的本地環境是用來檢測sql語句是否可以執行。
WAF官網用來測試語句是否被攔截。
重點 :
1.HTTP數據包的認識。
2.充分利用數據庫的注釋功能。
3.有對WAF的構造思路。
測試代碼 本地PHP存在注入漏洞的代碼:
<? php$id = $_GET['x']; $conn = mysql_connect('127.0.0.1','root','Lyy1314...'); mysql_select_db('ceshi',$conn); $sql = "select * from user where id={$id}"; $cun = mysql_query($sql); echo "< charset=utf-8>";while($row = mysql_fetch_array($cun)) { echo "url:".$row['URL']."<br>"; echo "password:".$row['password']."<br>"; echo "<hr>"; } mysql_close($conn); echo "您當前執行的SQL語句:"; echo urldecode($sql); ?>
GET型注入測試 - 偽造HTTP數據包 GET型注入相對于POST注入來說,在某些方面是比POST注入bypass更輕松一些的。這是為什么呢?答案是因為POST數據包中也包含了GET包哦~我們可以通過偽造POST數據包的方式進行GET注入。
也就是說,GET的類型最少有三種,甚至更多的數據包類型可以進行注入。
如:POST、PUT、GET。
1.測試普通的GET型注入
可以發現,上面成功接收到了GET數據包提交的數據。這是理所當然的!
2.測試POST提交的GET型注入
從上面可以看出,POST數據包種,確實包含了GET的數據包。所以,在有些時候進行Bypass測試時,適當的改下數據包類型,也是可以的哦。
在360主機衛士的之前版本中,POST提交只攔截POST的數據,當你利用POST數據包進行GET注入時,它是不會進行攔截的哦~ GET型注入測試繞過云鎖 - 偽造HTTP數據包 首先,我們去云鎖的官網進行Bypass測試! 我們在云鎖官網的URL后面加入 and 1=1 進行測試。
當然,正如所料 100% 被攔截
一般情況,大家都會扭頭就走~ 那我們現在來偽造個POST數據包,進行測試把~
正如我們期待的那樣,偽造數據包后,WAF就被一棍子打死了~ 有時,即使我們偽造數據包后,仍過不了WAF,不要灰心,因為這個時候WAF的規則絕對比GET包的規則少哦~ GET型注入測試 - 合理構造HTTP數據包 - 思路 在http數據包中每個參數中間都會用&符連接,那么我們可不可以利用這個&符號呢? 下面我們先來進行本地測試!
我們發現即使 &符后面的參數被 /* 包含住,這可以被接收到。并沒有被注釋掉! 那是因為, /* 被HTTP當成了參數a的值,而并不是當成了注釋! 有時候,我們可以利用這個方法,加其他的方法來bypass。
以上是“WAF中正確bypass的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。