翻了翻已经积满灰尘的txt文档,发现一个权重还算比较高的站点,舔了舔嘴唇,已经饿了三天了,再不来一点洞真就饿死了。
首先发现url跳转漏洞一枚:
http://bugdomain.com/go?url=http://baidu.com 其他不重要的漏洞一大堆。
没有特殊进展时,突然想起来之前看到过基于cookie的xss,这次就随手一试:
先把所有的cookie值改为特殊标识:
刷新网页,F12查找特殊标识:
我在这里找到了它。
利用语句那就很简单了:
刷新页面:(不关闭浏览器只关闭一个网页,重新打开该网页仍然会弹,仅限该子域。如果关闭浏览器重新打开就没了)
可是吧,这个要利用成功的话比反射型xss还鸡肋,真就自己打自己。但是成功后要比反射型xss持久一点。
这个漏洞其实是可以扩大危害的,我们需要找到和它结合的好基友,这里有篇翻译文章很nice,反复看了很多遍:
https://www.freebuf.com/fevents/208769.html
1.根据文章,首先我去寻找CRLF漏洞:
我想到了之前发现的重定向,抓包看了看,它不是通过location的方式跳转的,这样子的就没办法CRLF了 = =
我去扫描目录参数,企图发现CRLF,去试试302跳转:
但是,直接404了,难受
正常应该是这样的:
还有一个后台登录的地方也会有跳转,但是没有账号密码,难受。
2.那就试试第二个点,子域上的xss漏洞,进行双xss配合: 我又想到了之前的那个重定向,既然它重定向的链接输出在了源码里,会不会有反射型xss? 这里首先发现,我们的payload被浏览器进行url编码了,然后传入之后直接回显在页面上,
这样可不行,这里不会自动url解码。而且很尴尬,不进行闭合的话,我就不能构造出自动url解码的语句,但是不解码的话,我又不能闭合= =
我试试在burp里直接输入payload是可以成功的:(这里需要输入http://进行绕过,不然会报错)
那么,我先来试试,在burp里能不能直接设置document.cookie:
可恶啊,有addslashes过滤,单引号也被转义了:
我觉得没有必要继续寻找反射型xss,因为这个站点是一个CMS。肯定统一过滤了。
3.我找不到可以手动设置cookie的servlet测试页面。。。。
4.中间人攻击,虽然是超级典型的自己x自己,需要更改受害者的hosts文件,这个ip填攻击者服务器的ip,就可以远程攻击了
先改hosts:127.0.0.1 no-exists-domain.bugdomain.com
然后开启web服务,在主目录下写一个index.php文件:
然后我们访问no-exists-domain.bugdomain.com,再回到存在漏洞的站点,发现新增了一条cookie,但是没有更改之前的cookie:(火狐和谷歌都是这样)
我先把原来的那条删除,然后保留我自己添加的,刷新页面,发现没用,它还是会自动添加上,而且不会取我添加的cookie:
这就很难受了啊。鸡肋,不明白为啥国外的这个可以拿$350。可能我太菜了,还没有理解到精髓。 https://hackerone.com/reports/312548