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

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

相关推荐
蓝田~3 分钟前
AI Demo到上线有多远?→ 安全纵深防御+Token成本精确计算+可观测性,PrismAI三周工程化复盘
人工智能·安全
互联网中的一颗神经元10 小时前
04 — 安全撤销:改错了怎么退回去
大数据·安全·elasticsearch
智脑API14 小时前
Claude Code sandbox.failIfUnavailable 怎么用?沙箱启动失败、拒绝降级和 CI 安全
安全·ci/cd
笨#小孩14 小时前
文件上传漏洞:原理与20种实战绕过方法(上)
安全·web安全
栩栩云生15 小时前
AI 最大的安全问题:它让”发送数据”看起来像”继续思考”
安全·github·agent
OCR_1337162127520 小时前
从硬件到加密协议:深度解析电子护照芯片的技术规范与安全架构
安全·安全架构
海浪仙人掌20 小时前
数据要素流通存在哪些安全隐患?数据要素流通怎样规避安全风险?
安全
mounter6251 天前
深度解析 eBPF LSM:如何利用 eBPF 构建安全的 Linux 内核纵深防御体系
linux·安全·ebpf·linux kernel·kernel
其实防守也摸鱼1 天前
VS Code Git 工作树:解锁多分支并行开发新体验
数据库·git·安全·oracle·架构·自动化
m0_547486661 天前
《网络协议安全》全套PPT课件(太原理工大学)
网络协议·安全·网络安全