你们对URL任意跳转都确定了解,也知道他的危害,这里我就不细说了,过~html
你们遇到的确定都是不少基于这样的跳转格式:http://www.xxx.xxx/xxx?xxx=http://www.xxx.xxx/xxxxx安全
基本的思路你们就是直接替换后面的URL来检测是否存在任意URL跳转,若是不存在,就直接返回到它本身的域名,若是存在,就跳转到你指定的URL。测试
这里我讲述我所知道的因此小点。网站
利用问号,这是一个特性,利用问号能够成功绕过URL限制。ui
好比:http://www.aaa.com/acb?Url=http://login.aaa.com 这是一个跳转连接,跳转到它的二级域名下,那么这个问号放哪里能够绕过呢?其实就是放到它自身的域名前面也就是你添加的想要跳转的域名的后面,如:http://www.aaa.com/acb?Url=http://test.com?login.aaa.com 。那么,它实际上是会跳转到这个test.com域名下,这个域名是我想要跳转的任意域名,然后面的它自身域名必定要带上,不带上就没法辅助用问号?这个特性来跳转到指定域名了,而跳转后,问号和问号后面的内容会变为这样:http://www.test.com/?login.aaa.com加密
这个是我本身研究出来的,不知道是否网上有人说过。url
好比:http://www.aaa.com/acb?Url=http://login.aaa.com/ 一样是在它自己域名钱加上正斜杠,而后正斜杠前面跟上你想跳转的域名地址spa
如:http://www.aaa.com/acb?Url=http://test.com/login.aaa.comhtm
反斜杠有三种思路图片
两个反斜杠绕过方法
好比:http://www.aaa.com/acb?Url=http://login.aaa.com/ 一样是在它自己域名钱加上两个反斜杠,而后两个反斜杠前面跟上你想跳转的域名地址
如:http://www.aaa.com/acb?Url=http://test.com\\login.aaa.com
一个反斜杠绕过方法
如:http://www.aaa.com/acb?Url=http://test.com\login.aaa.com
另外一种思路,一个反斜杠一个点
利用\.这样的格式,也就是一个反斜杠加一个点来跳过限制,
如:http://www.aaa.com/acb?Url=http://test.com\.login.aaa.com
若是你用这方法在火狐里进行跳转,会有弹窗提示,在其它游览器则没有。
如:http://www.aaa.com/acb?Url=http://login.aaa.com@test.com 后面的test.com就是要跳转到的域名,前面的域名都是用来辅助以绕过限制的
有的域名白名单限制是不全的,好比若是想利用一个跳转,而这个跳转是通用,在这个公司网站不少子域名等均可以跳转,那么你买个域名也不算贵对吧,为何这么说呢,这个问题就是白名单限制不当,好比,当跳转的域名包含这个网站下的全部域名,好比:http://www.aaa.com/acb?Url=http://login.aaa.com,这个login.aaa.com也能够改为aaa.com一样能够跳转对吧,由于白名单里只要有包含这个域名就直接成功跳转。那么当我在这个域名前面加上如testaaa.com,白名单里会检查是否包含aaa.com这个域名,包含,而后直接跳转,而并无检查这个域名的整个
信息,而后能够利用这个问题,直接注册一个testaaa.com这个域名就能够利用这个跳转。
如今不少网站都有多重验证,好比你登录帐户后会出现另外一个验证页面,输入手机验证码进行验证,此时这上面的URL极可能存在任意跳转的问题。
多重跳转的问题致使可绕过URL限制
好比http://www.aaa.com/acb?Url=http://login.aaa.com/acb?url=http://login.aaa.com。固然,还有多重的,这个结构的多重跳转你修改最后面的URL就能够达到任意URL跳转,中间的URL就不必动了。
好比不少登录页面的地方,其URL是一个跳转的URL,如:http://www.aaa.com/acb?Url=http://test.com。你直接修改了后面为任意URL,可是仍是停留在原地,彷佛没什么问题,可是,当你输入帐号和密码后点击登录按钮后,就会触发跳转,固然,这个帐户和密码不必定要对的,随便均可以,但得视系统而定吧。这个我遇到了不少,好比
你修改了域名,而后点击登录,登录成功后即可触发跳转,这也是一个比较隐蔽的绕过URL限制的跳转。
这个我尚未在测试中应用过,其请求是http://www.127.0.0.1.xip.io 这个绕过是在SSRF场景中的绕过,好比SSRF你要读取内网地址,通常都作了限制,能够尝试用这方法进行绕过限制,从而访问到内网。
另一点,URL跳转涉及的安全问题你们常见的就是钓鱼,那么利用这个思路也可达成一个钓鱼问题,如,http://www.qq.com.220.181.57.217.xip.io 当你访问qq这个域名时,其实这个连接已经被解析到后面这个ip地址上了,那么实际访问的就是后面这个IP地址。
好比一个URL,它是能够直接跳转的,可是通常测试跳转时你们习惯用www.baidu.com或qq.com这样的可信站点进行测试,可是有些网站是能够跳转这些网站的,只要是可信站点且经常使用,基本均可以跳转,那么这就属于正常的业务逻辑了。难道就这样错失一个URL跳转漏洞了?其实否则,只要你的URL被百度收录过,那么直接搜索你的域名,site:xxx.xxx 由于你在百度里点击你的域名,它会先是一个302跳转,而这个302跳转就是百度下的302跳转,那么这样就能够绕过可信站点的限制,从而达到跳转到指定URL,固然,百度这个302有点长,你给它进行加密就行。
固然,这个影响就很小了,好比当你填什么表格或者须要填写什么的,当你上传图片,点击下一步的时候,一般下一步就是预览你填写的信息,最后才是提交,当你上传了图片后点击下一步抓包,若是过滤不严,你会看到图片的完整地址包含在POST参数里,你就能够直接修改这个地址为任意URL,而后到达下一步,这时是肯定信息也就是预览本身填写的信息的正确仍是不正确,因为你刚刚修改了图片地址,这里是没有显示出来的,图像会是一个小XX,当点击图片右键选择查看图像时,就会触发URL跳转问题,其实这个也能够利用来进行钓鱼,钓后台审核员的信息,为何呢,好比审核看到图片没法加载,通常都会点击查看图片,而后跳转,若是安全意识不知就会形成安全影响。
固然,若是POST参数里就只是URL跳转参数,那么你能够给它转成GET方式,而后进行跳转就能够了,只要网站支持这样的GET方式就行,在Burp Suite里能够一键转换提交方式,右键选择Change request method就能够!
如:http://www.aaa.com/acb?Url=http://test.com#login.aaa.com
强力链接:https://www.secpulse.com/archives/67064.html