一次失败的漏洞组合利用

    科技2025-07-25  14

    一次失败的漏洞组合利用

    ​翻了翻已经积满灰尘的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

    Processed: 0.009, SQL: 8