實戰:一次失敗的WEB攻擊試驗,歡迎高手補充

首先聲明:這個文章我描述的是一次比較失敗的WEB攻擊試驗,理論基礎是一次在網上看到的一篇關於"慢攻擊"的概念,那什麼叫慢攻擊呢?web

在解釋這個"慢攻擊"概念以前,先講下HTTP的請求報文頭,HTTP的請求報文頭是以\r\n\r\n爲結束的,服務器在接收到這個標誌符以後,才認爲請求報文結束,轉入作相應的WEB處理。這個"慢攻擊"就是利用這個機制。tomcat

攻擊方式:首先一個客戶端向服務器發起HTTP請求後,不作大規模的數據包發送,但就是一直不發送\r\n\r\n這個結束符,而且客戶端每隔一段時間又向服務器發送小量的參數數據包,如&a=1。此時服務器一邊在等待客戶端輸入參數結束符,另一邊因爲每隔一段時間又收到數據包,不認爲客戶端斷線。長此以往,就把服務器拖死了。從另以方面講,因爲發送的數據包很少,而且一直沒有輸入結束符,在web服務器的訪問日誌文件又看不到訪問記錄,嚴重的來說,服務器怎麼死的都不知道。服務器

可是,測試的結果離預期太遙遠了,如下是攻擊步驟:網絡

我寫的代碼有點亂,就不貼出來獻醜了,基本的測試方式是:socket

一、每隔線程中開啓一批socket鏈接到目標服務器(一個線程中的socket數由啓動腳本參數設置),先調用這些socket向服務器發正常的HTTP請求串,而後在線程中每隔幾秒鐘調用這些socket向服務端寫參數數據;工具

二、每一個進程中開啓多個線程,每隔進程開啓的線程數由啓動腳本參數設置;測試

三、編寫一個批量啓動進程腳本,一個腳本啓動的進程數由命令行輸入參數設置;spa

四、 一切條件具有了,拿內網的一臺weblogic11g開涮,從weblogic控制檯看,socket的鏈接已經超過3萬,但對weblogic來講好像沒啥事。後來又驗證了weblogic的另一個特性:無論是輸入仍是輸出,鏈接超過必定的時間(輸入默認好像是60秒),無論三七二十一,直接將請求咔嚓掉。命令行

五、後續又拿tomcat7.0作測試,也以失敗了結;線程

歡迎你們指正....

另外,網絡上關於WEB服務器攻擊的文章不少,大多講DoS和DDos,並有相關工具,雖然鋪天蓋地的說很NB,由於這些工具本人還沒親自試驗過,因此這裏不對這些進行描述,若是有實戰經驗的大蝦們,能夠一塊兒分享下。

相關文章
相關標籤/搜索