推薦一個DDoS開源學習專案
哈嘍,大家好,我是強哥。
不知道大家還記不記得強哥之前發的一篇文章:,裡面Diss了一個DoS的開源專案憑藉花裡胡哨的介面騙人。這個在3.15這個日子真的是應該再拿出來鞭屍一下。
不過,今天強哥想要介紹的是另一款DoS開源專案。
當然了,首先還是要宣告一點,介紹這個專案不是為了讓大家學了去攻擊別人的網站,而是想要讓大家能夠了解一些網路安全相關的知識,哪天被人用DoS攻擊了,至少知道DoS是個什麼玩意吧。
簡介
哈哈哈,沒錯,專案的介紹就是這麼簡單。作者的README檔案只給我們提供了一個YouTube的視訊地址,而且可能是因為某些不可限力已經沒法訪問了。
不過大家既然能找到它,自然知道是個幹什麼的玩意兒。
專案結構
這個也很簡單,就兩個檔案:
- headers.txt請求頭配置資訊
- hammer.py專案主程式碼,由python編寫
別看就簡簡單單的兩個檔案,對於我們瞭解DoS攻擊來說已經足夠了。
反射攻擊
這個專案強哥研究了一下,攻擊方式也很刁鑽,不但有使用直接攻擊的方式硬鋼目標主機,而且還通過反射攻擊的方式進行雙管齊下。
那麼什麼是反射攻擊呢?要理解反射攻擊,首先要理解什麼是直接攻擊。直接攻擊就是攻擊者拿自己的機子去攻擊目標主機,這樣的話,攻擊者很容易被查到攻擊的源頭,雖然攻擊者可以使用偽造源IP地址的方式(如使用IP代理池,這個強哥之前的文章也有提過:)進行隱藏,但更好的方式是使用反射攻擊技術。
發射攻擊又被稱為DRDoS(分散式反射拒絕服務)攻擊,是指利用路由器、伺服器等設施對請求產生應答,從而反射攻擊流量並隱藏攻擊來源的一種分散式拒絕服務攻擊技術。
專案原理
如上所述,專案寫了兩個方法,一個是直接攻擊的方式,一個是反射攻擊的方式。
首先直接攻擊自不必多說,就是一個while(True)
的死迴圈不斷的傳送TCP請求,相關程式碼如下:
while True: packet = str("GET / HTTP/1.1\nHost: "+host+"\n\n User-Agent: "+random.choice(uagent)+"\n"+data).encode('utf-8') s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host,int(port))) if s.sendto( packet, (host, int(port)) ): s.shutdown(1) print ("\033[92m",time.ctime(time.time()),"\033[0m \033[94m <--packet sent! hammering--> \033[0m") else: s.shutdown(1) print("\033[91mshut<->down\033[0m") time.sleep(.1)
強哥這裡重點說一下反射攻擊,既然是反射,當然要有反射器了,這個專案主要用到了兩個反射地址:
bots.append("http://validator.w3.org/check?uri=")
bots.append("http://www.facebook.com/sharer/sharer.php?u=")
其實,這兩個都是正規的網站地址,比如第一個就是w3用來驗證網站程式碼是否符合規範的網站。我們只要在連結引數uri
或者u
後跟上目標主機的地址,傳送請求後,這兩個網站就會對目標網站進行發起請求,檢查網站的內容。
這個專案就是通過這種方式,藉助第三方網站服務地址,然後外層包一個while(True)
死迴圈,巧妙的來隱藏自己,讓反射網站攻擊別人。
不過上面兩個地址目前看著好像是都已經無法使用了……
學習
專案還是比較有學習價值的,特別是對於想要了解網路安全的小夥伴來說,一個好的專案真的是能夠很快的提升我們對知識點的認知。
當然,有興趣想具體學習專案程式碼的小夥伴,強哥設定個門檻,大家可以關注公眾號「強哥叨逼叨」回覆「hammer」獲取到專案的具體地址。
專案程式碼僅供學習使用,畢竟目前專案能使用的方式只剩下直接攻擊,直接用它,不但相當於把自己赤條條的暴露在被攻擊者面前,而且完全沒法實現所謂的攻擊。
所以,大家且行且珍惜。遵紀守法,好好學習,不要是個東西,拿來就用。也是想讓大家長個心眼,在這個3.15的特殊日子,學會提升自己的辨識能力,多關注強哥分享的文章才是硬道理。
好啦,今天就到這。