基于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

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

相关推荐
hasty14 分钟前
安全扫描器也要被隔离:Trivy Terraform 文件读取漏洞与 CI 输出边界
安全·ci/cd·terraform
科技小登1 小时前
零信任与远程办公安全方案对比:身份认证、权限最小化与访问审计的选型测评
安全
事圆则缓2 小时前
Kotlin 入门与面试:从空安全、扩展函数到协程
安全·面试·kotlin
沫璃染墨3 小时前
《从零入门Linux系统篇(五十八):线程篇·十一——线程安全与死锁详解:从可重入到多锁管理》
linux·服务器·开发语言·c++·驱动开发·安全·架构
Flynt3 小时前
800KB 的 JSON 吃掉 8.5 秒 CPU:jackson 这波修复里,最容易被漏掉的洞藏在字符串里
java·安全
赛博守夜人4 小时前
跨境业务与出海合规之六:跨境数据出境与《个保法》/GDPR 冲突下的数据安全架构,技术隔离与加密信道实践
安全·安全架构
EatFan4 小时前
「失控AI智能体」首遭FTC立案:英伟达Agent安全体系落地,AI智能体合规设计如何前置
大数据·人工智能·安全·ai智能体·mcp·agent安全·ftc
白帽攻防录5 小时前
SRC 挖洞:V8 Turbofan 沙箱逃逸深度复盘,CVE-2026-6307 一根长矛怎么刺穿 Chrome 两道边界
网络·chrome·安全·网络安全·浏览器安全
欣欣之王来了5 小时前
5G网络基础:5G的核心特性,eMBB、uRLLC、mMTC的应用场景
网络·学习·计算机网络·安全·教程
天衍四九-5 小时前
Docker 进阶实战系列(一):容器镜像安全,最小镜像与非 Root 运行
安全·docker·eureka