基于PHP评论区的存储型XSS漏洞

评论区的XSS漏洞是指攻击者在评论区输入恶意脚本,当其他用户浏览该页面时,这些恶意脚本会被执行,从而造成安全威胁。这种漏洞通常出现在网站没有对用户输入进行充分过滤和转义的情况下,为存储型XSS。存储型XSS攻击是指攻击者在目标网站上注入恶意脚本,当其他用户访问该网站时,恶意脚本会被执行。为了创建一个有存储型XSS的靶场环境,我们需要一个PHP后端来处理用户的输入并将其存储在数据库中,然后当其他用户访问这些内容时,恶意脚本将被执行。

1.创建评论区存储型xss所需的数据库内容

sql 复制代码
CREATE DATABASE xss_vulnerable_comments;
USE xss_vulnerable_comments;

CREATE TABLE comments (
    id INT AUTO_INCREMENT PRIMARY KEY,
    content TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

2.创建一个带有存储型XSS漏洞的评论区PHP代码

php 复制代码
<?php
include 'config.php';

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $content = $_POST["content"];
    $sql = "INSERT INTO comments (content) VALUES ('" . $content . "')";

    if ($conn->query($sql) === TRUE) {
        echo "评论添加成功";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>评论</title>
</head>
<body>
    <h1>评论发表</h1>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
        <label for="content">发表内容:</label><br>
        <textarea name="content" id="content" rows="4" cols="50"></textarea><br>
        <input type="submit" value="提交">
    </form>
    <hr>
    <h2>评论</h2>
    
    <?php
    $sql = "SELECT content FROM comments";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            echo "<p>" . htmlspecialchars_decode($row["content"]) . "</p>";
        }
    } else {
        #无评论
        echo "";
    }
    $conn->close();
    ?>
</body>
</html>

3.数据库配置config.php

php 复制代码
<?php
$servername = "127.0.0.1";
$username = "root";
$password = "root";
$dbname = "xss_vulnerable_comments";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
?>

4.通过XSS漏洞获取cookie

利用BlueLotus获取cookie

1.BlueLotus的安装

地址:https://github.com/trysec/BlueLotus_XSSReceiver

2.创建cooke.js

3.生成payload

4.评论发布payload

5.获取到cookie

每篇一言:有些错误无法犯两次,有些事绝对不会无趣。

相关推荐
Nebula_g27 分钟前
JavaSE拓展:可变参数
java·开发语言·算法·安全·javase·可变参数
在角落发呆1 小时前
软件配置备份方法:从手动到自动化的实践指南
windows·安全
YonyouHRSaaS2 小时前
从安全、信创、运维三方面看,人力资源管理系统哪种部署方式更适合企业HR?
运维·安全·hr系统·人力资源管理系统·hr saas·人事管理系统
白猫不黑3 小时前
网络安全专业:从入门到进阶的完整学习路线
学习·安全·web安全·计算机·网络安全·信息安全·编程
涼叶i3 小时前
反序列化漏洞
安全·开源
请输入蚊子3 小时前
CVE-2026-8260 D-Link DCS-935L缓冲区溢出漏洞 复现
网络·安全·web安全·iot
东木月4 小时前
Windows C 盘清理指南:安全删除临时文件、缓存与 Prefetch
c语言·windows·安全
. . . . .5 小时前
地理位置定位
安全
都适、隶仁ミ5 小时前
【等保加固】MySQL5.7.38
运维·服务器·mysql·安全·等保
林伽一6 小时前
从2048并发会话到501B开源模型,算力账本开始按“单位卡产出“计价|2026年10月07日
人工智能·安全·ai·开源