成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

URL解析錯誤導致DoS、RCE等

安全
研究人員警告說,由于16個不同的URL解析庫之間的不一致而導致的8個不同的安全漏洞,可能導致多種Web應用程序中的拒絕服務(DoS)情況、信息泄漏和遠程代碼執行(RCE)。

研究人員警告說,由于16個不同的URL解析庫之間的不一致而導致的8個不同的安全漏洞,可能導致多種Web應用程序中的拒絕服務(DoS)情況、信息泄漏和遠程代碼執行(RCE)。

這些漏洞是在為各種語言編寫的第三方Web包中發現的,并且像Log4Shell和其他軟件供應鏈威脅一樣,可能已被導入到數百或數千個不同的Web應用程序和項目中。受影響的是Flask(一個用Python編寫的微型Web框架)、Video.js(HTML5視頻播放器)、Belledonne(免費的VoIP和IP視頻電話)、Nagios XI(網絡和服務器監控)和Clearance(Ruby密碼驗證)。

跳至問題概要。

理解URL解析混亂

URL解析是將Web地址分解為其底層組件的過程,以便正確地將流量路由到不同的鏈接或不同的服務器。可用于各種編程語言的URL解析庫通常被導入到應用程序中以實現此功能。

來自Claroty Team82研究部門和Synk的研究人員在周一的一份分析報告中寫道:“URL實際上是由五個不同的組件構成的:方案、權限、路徑、查詢和片段。”“每個組件都扮演著不同的角色,它決定了請求的協議、持有資源的主機、應該獲取的確切資源等等。”

根據綜合分析,由于每個庫進行解析活動的方式不同,安全漏洞會突然出現。

Team82和Synk研究了16個不同的URL解析庫,包括:urllib(Python)、urllib3(Python)、rfc3986(Python)、httptools(Python)、curl lib(cURL)、Wget、Chrome(Browser)、Uri(.NET)、URL(Java)、URI(Java)、parse_url(PHP)、url(NodeJS)、url-parse(NodeJS)、net/url(Go)、uri(Ruby)和URI(Perl)。

他們在這些庫解析組件的方式中發現了五類不一致:

  • Scheme混淆:涉及丟失或Scheme格式錯誤的URL的混淆
  • 斜杠混淆:包含不規則斜杠數量的URL混淆
  • 反斜杠混淆:涉及包含反斜杠(\)的URL混淆
  • URL編碼數據混淆:涉及包含URL編碼數據的URL混淆
  • Scheme Mix-ups:涉及在沒有特定Scheme解析器的情況下解析屬于某個Scheme的URL混淆

根據報告,問題在于,由于兩個主要的Web應用程序開發漏洞,這些不一致可能會產生易受攻擊的代碼塊:

  • 使用多個解析器:無論是出于設計還是疏忽,開發人員有時會在項目中使用多個URL解析庫。由于某些庫可能會以不同方式解析相同的URL,因此可能會在代碼中引入漏洞。
  • 規范不兼容:不同的解析庫是根據不同的Web標準或URL規范編寫的,這在設計上造成了不一致,這也會導致漏洞,因為開發人員可能不熟悉URL規范之間的差異及其含義(例如,應該檢查或清理的內容)。

作為真實攻擊場景的示例,斜線混淆可能導致服務器端請求偽造(SSRF)漏洞,這可用于實現RCE。研究人員解釋說,不同的庫以不同的方式處理斜杠數量超過通常數量的URL(例如https:///www.google.com):其中一些會忽略多余的斜杠,而另一些則將URL解釋為沒有主機。

對于前者(大多數現代瀏覽器和cURL都采用這種方法),接受格式錯誤、斜杠數量不正確的URL可能導致SSRF,研究人員解釋說:“[不]忽略額外斜杠的庫......將解析這個[格式錯誤]URL作為具有空權限(netloc)的URL,因此通過了對netloc(在本例中為空字符串)與google.com進行比較的安全檢查。但是,由于cURL忽略了多余的斜杠,因此它將獲取URL從而繞過嘗試的驗證,并導致SSRF漏洞。”

根據Claroty的說法,URL混淆也是繞過Log4Shell補丁的原因,因為在JNDI查找過程中使用了兩種不同的URL解析器:一個解析器用于驗證URL,另一個解析器用于獲取URL。

研究人員解釋說:“根據每個解析器處理URL的片段部分(#)的不同,權限也會發生變化。”“為了驗證URL的主機是否被允許,Java的URI被使用,它解析URL、提取主機,并檢查主機是否在允許主機的白名單中。事實上,如果我們使用Java的URI解析這個URL,我們會發現URL的主機號是127.0.0.1,它包含在白名單中。但是,在某些操作系統(主要是macOS)和特定配置上,當JNDI查找進程獲取此URL時,它不會嘗試從127.0.0.1獲取它,而是向127.0.0.1#.evilhost.com發出請求。這意味著雖然此惡意負載將繞過AllowedDaPost localhost驗證(由URI解析器完成),但它仍將嘗試從遠程位置獲取類。”

URL解析安全漏洞

在他們的分析中,研究人員在第三方Web應用程序中發現了八個由URL解析混淆導致的高危漏洞。他們說,除了在不受支持的Flask版本中發現的那些之外,所有這些都已被修補,因此開發人員應該使用更新的版本更新他們的應用程序:

1. Flask-security開放重定向(Python,CVE-2021-23385)

2. Flask-security-too開放重定向(Python,CVE-2021-32618)

3. Flask-User開放重定向(Python,CVE-2021-23401)

4. Flask-unchained開放重定向(Python,CVE-2021-23393)

5. Belledonne的SIP堆棧空指針間接引用(DoS)(C,CVE-2021-33056)

6. Video.js跨站腳本(XSS)(JavaScript,CVE-2021-23414)

7. Nagios XI開放重定向(PHP,CVE-2021-37352)

8. Clearance開放重定向(Ruby,CVE-2021-23435)

開放重定向漏洞很容易被利用,因為它們可以進行欺騙、網絡釣魚和中間人攻擊(MITM)。當Web應用程序接受用戶控制的輸入,該輸入指定用戶在特定操作后將被重定向到的URL時,就會發生這種情況。例如,當用戶登錄網站時,他們可能會被重定向到惡意網站。

研究人員解釋說,開放式重定向攻擊通常通過驗證來阻止:“Web服務器驗證給定的URL,并且只允許屬于同一站點或受信任域列表的URL。”

URL庫混淆會干擾正確的驗證,就像Clearance漏洞一樣。研究人員指出,Clearance(Ruby的Rails框架中一個廣泛應用的第三方插件,可以實現簡單安全的電子郵件和密碼身份驗證)中的易受攻擊的函數是“return_to”。此函數在登錄/注銷過程之后調用,并且應該將用戶安全地重定向到他們之前請求的頁面。但是,如果可以說服目標單擊具有以下語法的URL,則可將其破壞:http://www.victim.com/////evil.com。

研究人員解釋說:“由于Rails忽略了URL中的多個斜杠,因此路徑段將完整到達Clearance(/////evil.com)并在其進行解析。”“由于URI.parse刪除了兩個斜杠,因此生成的URL是///evil.com。每當服務器將用戶重定向到此URL///evil.com時,瀏覽器都會將此網絡路徑相對引用轉換為指向evil.com域(主機)的絕對http://evil.com URL。”

Belledonne VoIP崩潰

在Belledonne的Linphone中發現了一個更有趣的漏洞,這是一個免費的IP語音軟電話、SIP客戶端和用于音頻和視頻通話的服務。根據分析,由于它處理SIP消息解析的方式,它遭受了scheme混淆。

研究人員解釋說:“通過研究Belledone的URL解析功能,我們發現[a]段代碼解析了to/from SIP header中的SIP URL。”“Belledone將SIP URL解析為通用URL,并使用strcasecmp檢查方案是SIP還是SIP,以及給定的URL是否為SIP URL。”

然而,他們解釋說,Belledonne generic_uri接受由不同URL組件創建的URL,而不需要存在特定組件。

他們總結說:“這意味著僅包含路徑而沒有URL scheme的URL是有效的URL。”“通過此方法,我們提供了一個只包含一個斜杠(/)的URL,導致URL的方案結果為NULL。然后,當Belledone使用strcasecmp時,它會比較一個NULL指針(因為沒有提供scheme),從而導致NULL指針取消引用和應用程序崩潰。”

該團隊創建了一個概念驗證漏洞利用代碼,該代碼能夠通過簡單的惡意VoIP呼叫來使任何遠程用戶的應用程序崩潰,“要求受攻擊用戶的零交互”。

Team82和Synk研究人員指出,“可能會出現許多漏洞,從可能導致遠程代碼執行的SSRF漏洞到可能導致復雜網絡釣魚攻擊的開放重定向漏洞。”他們說,為了保護他們的應用程序,開發人員應采用以下措施:

使用盡可能少的解析器。研究人員說:“我們建議您完全避免使用URL解析器,而且一般情況下這是很容易實現。”

在microservice環境中傳輸解析的URL。他們指出:“如果microservice是在不同的框架或編程語言中實現,他們可能會使用不同的URL解析器。”“為了避免這個問題,你可以簡單地在前端microservice中解析URL,并以解析后的形式進一步傳輸它。”

了解與應用程序業務邏輯相關的解析器的差異。有時無法避免使用多個解析器,因此開發人員需要注意解析行為的差異。

在解析之前始終規范化URL。始終確保應用程序刪除多個正向/反向斜杠、空格和控制字符,以便在解析之前將URL恢復為正確的形式。

本文翻譯自:https://threatpost.com/url-parsing-bugs-dos-rce-spoofing/177493/如若轉載,請注明原文地址。

 

責任編輯:姜華 來源: 嘶吼網
相關推薦

2012-11-14 13:26:46

Mysql

2023-11-09 08:00:00

NoSQL數據庫

2010-01-08 15:11:15

交換機安裝位置

2011-04-08 18:17:40

路由OSPF

2022-09-03 23:52:27

云計算漏洞安全

2009-12-16 14:28:56

路由器配置

2011-04-08 18:10:31

路由

2011-04-14 13:12:57

OSPF路由

2023-04-26 00:06:22

服務器死循環報錯

2018-07-27 08:46:45

集成云計算備份

2024-11-28 08:30:00

2023-12-04 09:49:06

微軟

2016-11-07 09:20:24

2009-04-08 08:26:56

Sun淪落福布斯

2009-04-17 09:35:00

寬帶路由選購企業

2021-04-14 14:12:20

WRECK漏洞IoT設備

2025-01-02 13:39:12

2024-01-16 11:12:29

2010-04-02 09:30:27

Oracle數據庫

2024-11-05 16:13:10

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人深夜福利 | 中文久久| 国产精品视频免费看 | 亚洲精品二区 | 日韩靠逼 | 在线观看国产视频 | 日韩成人在线视频 | 成人在线小视频 | 亚洲成av人片在线观看 | 国产精品免费大片 | 国内自拍第一页 | 天天干狠狠操 | 国产精品69毛片高清亚洲 | 91久久精品一区二区三区 | 欧美日韩不卡在线 | www.日韩高清| 午夜影院在线观看视频 | 成人国产精品久久久 | 99re在线免费视频 | 午夜精品一区二区三区在线视 | 国产精品178页 | 国产精品成人一区 | 在线免费观看a级片 | 中文字幕爱爱视频 | 精国产品一区二区三区四季综 | 91视频久久久久 | 欧美日韩专区 | 国产精品成人一区二区三区夜夜夜 | 久久国内 | 亚洲精品福利视频 | 无码日韩精品一区二区免费 | 国产一级在线 | 中文字幕av色 | 国产精品性做久久久久久 | 日韩一级黄色毛片 | 色婷婷精品久久二区二区蜜臂av | 永久av| 国产一二三区精品视频 | 在线播放国产一区二区三区 | 亚洲精品大全 | 成人午夜免费视频 |