URL注入攻擊+知識星球資源整理


URL注入概念

       輸出HTML、JS,可引發XSS跨站攻擊

       調用SQL語句,可引發SQL注入攻擊

       使用SHELL命令,可引發OS命令注入

       URL參數可控,可引發URL注入攻擊

       URL注入攻擊與XSS跨站、SQL注入類似,也是參數可控的一種攻擊方式。URL注入攻擊的本質就是URL參數可控。攻擊者可通過篡改URL地址,修改為攻擊者構造的可控地址,從而達到攻擊的目的。

攻擊思路

       安全屆至理名言:永遠不要相信用戶的輸入。

       使用經典的輸入——處理——輸出模型來看Web應用,在有輸入的地方,或者用戶可控的地方均可能存在安全風險,處理過程和輸出過程亦會產生安全風險。

       攻擊思路來源和某SRC審核小哥哥的撕逼,內容如下:"你好,非常感謝提交漏洞,該問題的核心我們認為是沒有對提交的內容進行過濾,可以使用不可控的URL作為輸入。這僅是針對這個網站而言的。但……"

       URL可控,那但凡涉及到傳遞URL參數的地方均可能存在安全隱患。

       URL注入漏洞測試方法很簡單,只需要有一台公網可訪問的VPS服務器,如想如虎添翼,可另配置一個401認證頁面,並記錄輸入賬號密碼。

漏洞危害

1 管理后台

       查找管理后台的方法:字典爆破、搜索引擎、Robots.txt、信息泄漏、社工等等,URL注入攻擊,有時可以幫助你找到管理后台地址。

 

2 跨站XSS

       URL可控處,輸入XSS Payload,某些頁面會加載此處URL地址,使用img標簽,這時可能存在安全風險,導致跨站問題。

3 SSRF

       SSRF(Server-Side Request Forgery:服務器端請求偽造) 是一種由攻擊者構造形成由服務端發起請求的一個安全漏洞。一般情況下,SSRF攻擊的目標是從外網無法訪問的內部系統。SSRF 形成的原因大都是由於服務端提供了從其他服務器獲取數據的功能,但沒有對目標地址做過濾與限制。比如從指定URL地址獲取網頁文本內容,加載指定地址的圖片,下載等。

 

4 401基礎認證釣魚

       如果一個頁面需要Basic認證,它會檢查請求報文頭中的Authorization字段的內容,該字段的值由認證方式和加密值構成。在Basic認證中,它會將用戶和密碼部分組合:"username"+":"+"password",然后進行Base64編碼。

挖掘技巧

       但凡傳遞URL參數的地方均有可能存在問題,常見的URL參數梳理如下:go、return、returnTo、logout、register、login、returnUrl、path、redirectURI、redir、returl share、wap、url、link、src、source、target、u、3、display、sourceURl、imageURL、domain。具體是哪個參數,取決於天馬行空的程序員,但是如果看到某個請求中含有http://|https://開頭的內容,不妨嘗試替換一下。

       另外,某些情形下,可能對域名做了限制,這時候可以嘗試繞過,這里繞過的技巧類似URL重定向繞過或SSRF繞過技巧。主要說一下畸形構造繞過,當然也可以Fuzzing,畸形構造主要涉及如下字符:";"、 "/"、"\"、"?"、":"、"@"、"="、"&"、"."。常見bypass方式:

       a. 單斜線"/"繞過

       https://www.xxx.com/redirect.php?url=/www.evil.com

       b. 缺少協議繞過

       https://www.xxx.com/redirect.php?url=//www.evil.com

       c. 多斜線"/"前綴繞過

       https://www.xxx.com/redirect.php?url=///www.evil.com

       https://www.xxx.com/redirect.php?url=////www.evil.com

       d. 利用"@"符號繞過

       https://www.xxx.com/redirect.php?url=https://www.xxx.com@www.evil.com

       e. 利用反斜線"\"繞過

       https://www.xxx.com/redirect.php?url=https://www.evil.com\https://www.xxx.com/

       f. 利用"#"符號繞過

       https://www.xxx.com/redirect.php?url=https://www.evil.com#https://www.xxx.com/

       g. 利用"?"號繞過

       https://www.xxx.com/redirect.php?url=https://www.evil.com?www.xxx.com

       h. 利用"\\"繞過

       https://www.xxx.com/redirect.php?url=https://www.evil.com\\www.xxx.com

       i. 利用"."繞過

       https://www.xxx.com/redirect.php?url=.evil

       https://www.xxx.com/redirect.php?url=.evil.com

       j.重復特殊字符繞過

       https://www.xxx.com/redirect.php?url=///www.evil.com//..

       https://www.xxx.com/redirect.php?url=////www.evil.com//..

    其他常見的繞過方式還有,使用地址,而不是域名;使用跳轉到IPV6地址,而不是IPv4地址;用10進制、8進制、16進制形式表示;更換協議,使用ftp、gopher協議等;

案例分享

       某站點上傳圖片進行演示

       1上傳時候,抓數據包,查看返回數據包內容

       2修改返回數據包URL地址,此處改為某401認證頁面地址

       3放過數據包,進行保存

       4再次訪問頁面,跳出認證頁面

防御

       檢測URL中是否含有特殊字符;

       對加載URL域進行檢測,可正則匹配xxx.com域,只允許該域下地址;

題記

       這篇文章是關於URL注入的,我覺得寫得挺好,方便我查閱,不知道是哪位安全區的大佬寫的,我是在張敬沛沖的知識星球里看到他的,我加他的星球初衷是多學點網安姿勢,了解下行業情況,結果他發着發着0day號被封了,以下是我從他開始發的所有資源內容整理,應該對大家有所幫助。

知識星球資源截圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM