前言
如今的互聯網,WAF泛濫的年代,實在讓我等腳本小子苦惱ing,尤其是阿里雲服務器的自帶防護,那不是一般的叫人牙疼,十個站8個站都是阿里雲....
最近遇到幾個站都是阿里雲的服務器,比如:泛微e-cology7.1 SOAP注入引發的血案 這篇文章中,沒有攔截我的WVS對wsdl的掃描探測。
在各種測試后突然發現了這個繞過阿里雲防火牆的方法,不一定每一個都成功,但是能秒殺絕大部分的阿里雲站,或許有許多大佬已經知道了這個方法,比較狠容易就能被發現的,只是大家都沒說出來罷了,本着勤寫文章賺TCV的原則,請各位大佬原諒我咯。
相信還有很多人不知道這個方法,不然就不會有好幾個人在之前我發的帖子中問為什么WVS沒被攔截了,相信發出來估計要不了多久又被修復了,以后搞阿里雲的站就更難了,哎,舍得舍得,有舍才會有得。
准備測試工作
1.創建一個存在注入的PHP腳本:
- <?
- $id = $_GET['i'];//接受參數名x的值並賦值給變量id
- $connection = mysql_connect("127.0.0.1","root","root");//連接數據庫
- mysql_select_db("test",$connection);//選擇數據庫
- $myquery = "select * from biao where id=$id";//定義sql語句
- $result = mysql_query($myquery);//執行sql語句
- while($row = mysql_fetch_array($result)){ //遍歷結果顯示
- echo "用戶ID:".$row['id']."<br >";
- echo "文章內容:".$row['text']."<br >";
- echo "文章標題:".$row['title']."<br >";
- echo "<hr>";
- }
- mysql_close($connection);//關閉數據庫連接
- echo "當前執行語句:".$myquery."<hr>";
- //php語言結尾
- ?>
2.建立相關數據
- CREATE TABLE IF NOT EXISTS `biao` (
- `id` int(10) NOT NULL,
- `title` varchar(1000) NOT NULL,
- `text` varchar(1000) NOT NULL
- ) ENGINE=MyISAM DEFAULT CHARSET=GBK;
- INSERT INTO `biao` (`id`, `title`, `text`) VALUES
- (1,'滲透注入','本地搭建注入環境')
繞過方法概況
其實吧,很簡單的,沒有什么驚天動地的繞過姿勢,也沒什么長篇大論的原理。
繞過,其實只需要將http改為https
,阿里雲防火牆默認都是攔截的80端的請求,而對於443端口,很多時候都是忽略的,不信?那我們來測試下。
測試
1.繞過阿里雲防火牆對發包掃描的防護:
掃描http端的時候,直接被拉了IP,而在被拉了IP的情況下,我們改成https的時候,如上圖,一路暢通無阻。
2.繞過阿里雲防火牆SQL注入攔截
沒有加任何繞過WAF的tamper,http端直接502,也就是被拉了IP。
改為https,IP不變,不在有任何攔截,在沒有加任何tamper繞過腳本的情況下,輕松注入獲取數據
結尾
看完后是不是總有一種想打人的沖動呢?抱着萬分期待的點進來,然而卻看到如此奇葩普通的繞過姿勢-。-
好嘛,你們真的不應該打我的,因為我說的很有道理的不是嗎?確確實實明明白白的繞過了阿里雲防火牆SQL注入呢。
本文由 Mr.Wu 創作,除注明轉載/出處外,均為本站原創,轉載前請注明出處!