pikachu靶场第十关——XSS(跨站脚本)之xss盲打(附代码审计)

博客围绕XSS盲打漏洞展开,提到与存储型XSS不同,此次提交数据到后台,在无法登录后台时需盲打。为学习漏洞,给出后台登录信息,还展示了后台源代码及两个输入项,最后给出了poc示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源代码:

 <div id="xss_blind">
                <p class="blindxss_tip">请在下面输入你对"锅盖头"这种发型的看法:</p>
                <p class="blindxss_tip">我们将会随机抽出一名送出麻港一日游</p>
                <form method="post">
                    <textarea class="content" name="content"></textarea><br />
                    <label>你的大名:</label><br />
                    <input class="name" type="text" name="name"/><br />
                    <input type="submit" name="submit" value="提交" />
                </form>
                <?php echo $html;?>
            </div>

页面:

和之前的存储型xss不同,这里提交的数据并不会返回到页面中,而是提交到后台,在无法登录后台的情况下,就只能盲打。

不过这里为了学习漏洞,我们直接登录后台,用户名:admin,密码:123456

看一下后台的源代码:

 <?php
                    $query="select * from xssblind";
                    $result=mysqli_query($link, $query);
                    while($data=mysqli_fetch_assoc($result)){
                        $html=<<<A
    <tr>
        <td>{$data['id']}</td>
        <td>{$data['time']}</td>
        <td>{$data['content']}</td>
        <td>{$data['name']}</td>
        <td><a href="admin.php?id={$data['id']}">删除</a></td>
    </tr>
A;
                        echo $html;
                    }

                    ?>

这里有两个输入,一个content,一个name

poc:1</td><script>alert("xss")</script><td>

就酱

### Pikachu靶场 XSS盲打实验指导 #### 实验环境搭建 为了进行XSS盲打测试,需先设置好Pikachu靶场的运行环境。通常情况下,该靶场部署于本地服务器上,访问路径应为`localhost:8086/pikachu-master/vul/xss/xssblind/admin_login.php`[^2]。 #### 测试原理说明 XSS跨站脚本攻击)发生的原因在于应用程序未能充分验证或转义用户输入的数据就将其作为HTML内容返回给客户端浏览器渲染。对于盲打类型的XSS而言,由于无法即时看到反馈效果,因此需要通过其他方式确认是否存在漏洞以及成功的可能性。这类攻击的特点是在没有直接可见响应的情况下完成恶意代码植入并触发执行[^3]。 #### 操作实例展示 假设存在一个登录页面允许管理员账号密码录入,在此场景下尝试构造如下形式的payload来检测潜在的安全隐患: ```html "><script>alert('XSS')</script> ``` 上述Payload旨在闭合原有标签属性,并插入一段JavaScript代码用于弹窗提示“XSS”,以此证明当前环境中可能存在未加防护措施而暴露出来的DOM节点可被篡改的风险点[^1]。 当遇到某些防御机制时,则可能需要用到变形后的版本以规避简单的过滤规则,比如将大小写混合或者增加不必要的空白字符等方法实现绕过目的。例如下面这个例子展示了如何调整原始语句结构达到相同的效果: ```html <ScRiPt >alert('xss');</sCrIpT > ``` 一旦成功提交含有此类特殊字符串格式的信息至目标位置后,即使界面本身没有任何变化指示,也意味着已经完成了所谓的“盲打”。此时可以通过监听网络请求、查看源码等方式进一步判断是否真正实现了预期中的行为改变——即嵌入式的JS被执行了[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VW_404

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值