旁路式HTTP注入系統(tǒng)

一、概述

????????????旁路式HTTP注入利用TCP會(huì)問劫持以及HTTP重定向機(jī)制實(shí)現(xiàn)HTTP信息的注入。與串接式注入方案相比,旁路式方案不需要將注入設(shè)備串接到用戶現(xiàn)有的網(wǎng)絡(luò)中,只需要將網(wǎng)絡(luò)流量鏡像到旁路式注入設(shè)備即可。該HTTP注入方式的主要優(yōu)點(diǎn)是對(duì)現(xiàn)有的網(wǎng)絡(luò)運(yùn)行完全沒有影響,而且通過添加更多的HTTP注入設(shè)備即可實(shí)現(xiàn)注入能力的線性擴(kuò)展。

二、技術(shù)原理

1. TCP會(huì)話劫持

? ? ? ?TCP會(huì)話劫持是通過檢視正在進(jìn)行TCP通信的用戶瀏覽器和web服務(wù)器之間傳送的報(bào)文來獲取該保溫的IP地址,TCP端口,TCPde seq/ack值等信息。這樣,當(dāng)用戶瀏覽器發(fā)起到Web服務(wù)器的請(qǐng)求并且在收到Web服務(wù)器響應(yīng)前,旁路式注入設(shè)備利用已知的seq/ack參數(shù)構(gòu)造一個(gè)HTTP重定向報(bào)文發(fā)送給用戶瀏覽器。

2. HTTP重定向

? ? ? HTTP重定向通過向用戶瀏覽器返回301/302響應(yīng)代碼將用戶的HTTP請(qǐng)求指向另一個(gè)地址。301代表是永久性的轉(zhuǎn)移,302代表暫時(shí)性轉(zhuǎn)移。旁路式HTTP注入方案通過在TCP會(huì)話劫持階段向用戶瀏覽器返回302 Found響應(yīng)消息將用戶瀏覽器的后續(xù)請(qǐng)求重新定向到注入設(shè)備的HTTP反向代理。

3. HTTP反向代理

? ? ? HTTP反向代理接收來自用戶瀏覽器的請(qǐng)求后,將該請(qǐng)求轉(zhuǎn)發(fā)給另外一個(gè)服務(wù)器,并將從該服務(wù)器上得到的結(jié)果返回給用戶瀏覽器。HTTP信息的注入就是在HTTP反向代理服務(wù)器上實(shí)現(xiàn)的:在收到服務(wù)器的響應(yīng)結(jié)果后,HTTP反向代理并不立即將該結(jié)果返回給用戶,而是根據(jù)配置在響應(yīng)結(jié)果中注入特定的內(nèi)容(一般是JavaScript代碼)后再將結(jié)果返回給用戶瀏覽器。

三、技術(shù)實(shí)現(xiàn)


旁路式http注入系統(tǒng)工作原理

? ? ? ?利用libpacap的api接口,主線程再網(wǎng)口上嗅探數(shù)據(jù)包(只嗅探80端口的數(shù)據(jù)包,并且tcp payload長(zhǎng)度要大于20);嗅探到指定規(guī)則的數(shù)據(jù)包后,將數(shù)據(jù)加到隊(duì)列中,然后多個(gè)子線程去從隊(duì)列中獲取數(shù)據(jù)包,然后解析,將body的數(shù)據(jù),替換成指定的js的代碼,然后利用libnet的api,構(gòu)造自定義的數(shù)據(jù)包,立即返回給用戶。

不足:為了提高性能,可使用內(nèi)核模塊pfring。此api基本兼容libpcap接口。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. WAF 防火墻 WAF是通過檢測(cè)應(yīng)用層的數(shù)據(jù)來進(jìn)行訪問控制或者對(duì)應(yīng)用進(jìn)行控制,而傳統(tǒng)防火墻對(duì)三、四層數(shù)據(jù)進(jìn)行...
    TimLi_51bb閱讀 998評(píng)論 0 0
  • 一本好的入門書是帶你進(jìn)入陌生領(lǐng)域的明燈,《CDN技術(shù)詳解》絕對(duì)是帶你進(jìn)入CDN行業(yè)的那盞最亮的明燈。因此,雖然只是...
    隔壁老田_閱讀 1,022評(píng)論 0 1
  • 來自公眾號(hào):我是程序員小賤作者L的存在 說到后端開發(fā),難免會(huì)遇到各種所謂高大上的「關(guān)鍵詞 」,對(duì)于我們應(yīng)屆生小白,...
    碼農(nóng)小光閱讀 1,185評(píng)論 1 18
  • * HTTP協(xié)議簡(jiǎn)介 * HTTP版本 * HTTP報(bào)文 * Web服務(wù)器 * HTTPS * Web安全防范 *...
    F麥子閱讀 380評(píng)論 0 0
  • HTTP協(xié)議作為前端開發(fā)的重要基礎(chǔ)知識(shí),卻是很多非計(jì)算機(jī)專業(yè)出身的碼農(nóng)的軟肋。筆者通過《圖解http》一書系統(tǒng)的學(xué)...
    程序猿TODO閱讀 639評(píng)論 0 0

友情鏈接更多精彩內(nèi)容