返回顶部

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号被封了,以下是我从他开始发的所有资源内容整理,应该对大家有所帮助。

知识星球资源截图

posted @ 2021-02-22 09:50  11阳光  阅读(4526)  评论(0编辑  收藏  举报