close

聚焦源代碼安全,網羅國內外最新資訊!

編譯:代碼衛士

Oxeye 公司的安全研究員在基於Golang 的應用程序中發現一個漏洞,可導致攻擊者在某些條件下繞過驗證。

Oxeye 公司的研究總監 Daniel Abeles 指出,「ParseThru 是一種參數走私攻擊,意味着在一定條件下,由於使用了不安全的URL解析,可導致攻擊者繞過基於HTTP請求參數的驗證。成功攻陷可造成多種後果,如讀取敏感數據、提取機密信息,代表其它用戶執行各種操作。」

走私分號

Golang 或Go 使用 「net/url」 庫解析URL,而且在1.17版本之前,將在URL的查詢部分將分號視作有效的分割符。然而從1.17版本開始,分號被視作錯誤,而負責獲取解析查詢字符串的一種方法忽略了返回的錯誤。這意味着,當構建於1.17或後續版本的基於Go的公共API和運行之前版本的內部服務進行通信時,在查詢字符串中包含分號的特殊構造的請求可遭走私。

研究人員在多個開源項目中找到大量可遭成功利用的實例,其中包括開源註冊表Harbor,「認證用戶(即使權限最低)能夠發出特殊請求,讀取自己無法訪問的受限項目的圖像層。」其它例子還包括旨在簡化微服務部署的現代HTTP反向代理和加載平衡器 Traefik 和用於服務成分的HTTP路由器和反向代理 Skipper。

Abeles 認為,其它編程語言也易遭類似問題困擾。他指出,「ParseThru 漏洞基本基於對不安全URL解析方法的使用,並不會直接反映任何特定於Golang 的挑戰,而是多數編程語言共有的挑戰。每種語言都有自身對URL解析的實現。然而,它們各不相同,從而導致解析差距,最終觸發這類漏洞。」

Oxeye 公司表示已將研究結果披露給受影響項目的維護人員,幫助他們修復該漏洞。該公司表示,「建議審計在使用狀態中的 Golang 應用程序,確保應用了正確的打補丁和/或修復措施。」

代碼衛士試用地址:https://codesafe.qianxin.com
開源衛士試用地址:https://oss.qianxin.com


推薦閱讀
在線閱讀版:《2022中國軟件供應鏈安全分析報告》全文
Node.js 修復多個漏洞,可導致RCE和HTTP請求走私
Let’s Encrypt 將在兩天內撤銷約200萬份HTTPS 證書
Apache 緊急修復已遭利用且補丁不完整的 HTTP Server 0day
開源的代理服務器HAProxy 易遭嚴重的 HTTP 請求走私攻擊
【缺陷周話】第 14 期 :HTTP 響應截斷
原文鏈接

https://portswigger.net/daily-swig/parsethru-http-parameter-smuggling-flaw-uncovered-in-several-go-applications

題圖:PexelsLicense‍

本文由奇安信編譯,不代表奇安信觀點。轉載請註明「轉自奇安信代碼衛士 https://codesafe.qianxin.com」。

奇安信代碼衛士 (codesafe)

國內首個專注於軟件開發安全的產品線。

覺得不錯,就點個「在看」 或 "贊」 吧~

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()