当前位置: 首页 > news >正文

在线生成网站地图做一个公司网站要多少钱

在线生成网站地图,做一个公司网站要多少钱,嘉兴专业做网站,自己设计好的网站怎么设置访问本文仅用于技术研究,禁止用于非法用途。 Author:枷锁 文章目录 漏洞核心原理分析Token生成流程(还原后)完整Token生成路径 逐步攻击教程方法一:控制台手动执行方法二:分步计算Token值方法三:自动化攻击脚本…

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

文章目录

    • 漏洞核心原理分析
      • Token生成流程(还原后)
      • 完整Token生成路径
    • 逐步攻击教程
      • 方法一:控制台手动执行
      • 方法二:分步计算Token值
      • 方法三:自动化攻击脚本
    • 技术原理详解
    • 防御措施与修复建议
    • 防御措施与修复方案
        • 1. 根本漏洞原因
        • 2. 安全方案
    • 各安全级别防御对比

本文环境Security Level:High

以下是针对DVWA(Damn Vulnerable Web Application)中 JavaScript Attacks模块High级别的详细漏洞分析与利用教程,结合多篇技术资料整理而成。


漏洞核心原理分析

在High级别中,DVWA使用了高度混淆的JavaScript代码多级SHA256哈希验证机制,但关键漏洞依然是客户端验证。攻击者可以通过分析混淆代码,理解Token生成流程,从而绕过验证机制。

Token生成流程(还原后)

// 1. 字符串反转函数
function do_something(e) {for (var t = "", n = e.length - 1; n >= 0; n--) t += e[n];return t;
}// 2. 第一阶段Token处理
function token_part_1(a, b) {document.getElementById("token").value = do_something(document.getElementById("phrase").value);
}// 3. 第二阶段Token处理(300ms后执行)
function token_part_2(e = "XX") {document.getElementById("token").value = sha256(e + document.getElementById("token").value);
}// 4. 第三阶段Token处理(点击提交时执行)
function token_part_3(t, y = "ZZ") {document.getElementById("token").value = sha256(document.getElementById("token").value + y);
}// 初始化流程
document.getElementById("phrase").value = "";
token_part_1("ABCD", 44); // 立即执行
setTimeout(() => token_part_2("XX"), 300); // 300ms后执行
document.getElementById("send").addEventListener("click", token_part_3); // 点击时执行

完整Token生成路径

  1. 用户输入短语(如"success")
  2. token_part_1执行:反转字符串(“success” → “sseccus”)
  3. token_part_2执行(300ms后):添加"XX"前缀并SHA256哈希(“XXsseccus” → SHA256)
  4. 点击提交时token_part_3执行:添加"ZZ"后缀并再次SHA256哈希(SHA256结果 + “ZZ” → 最终Token)

逐步攻击教程

方法一:控制台手动执行

  1. 访问DVWA页面:登录DVWA,安全级别设为High,进入JavaScript Attacks模块

  2. 打开开发者工具:按F12或右键 → 检查 → Console标签

  3. 执行以下代码

// 1. 设置短语
document.getElementById("phrase").value = "success";// 2. 执行第一阶段:反转字符串
token_part_1("ABCD", 44); // 此时token变为"sseccus"// 3. 执行第二阶段:添加"XX"前缀并SHA256
token_part_2("XX"); // 生成中间哈希值// 4. 执行第三阶段:添加"ZZ"后缀并SHA256
token_part_3("", "ZZ"); // 生成最终Token// 5. 提交表单
document.forms[0].submit();

在这里插入图片描述

方法二:分步计算Token值

  1. 计算第一步:反转字符串

    const phrase = "success";
    const reversed = phrase.split('').reverse().join(''); // "sseccus"
    
  2. 计算第二步:第一次SHA256

    // 使用在线SHA256工具或控制台计算
    const step1 = "XX" + reversed; // "XXsseccus"
    const hash1 = sha256(step1); // 示例:7f1bfaaf829f785ba5801d5bf68c1ecaf95ce04545462c8b8f311dfc9014068a
    
  3. 计算第三步:第二次SHA256

    const step2 = hash1 + "ZZ"; 
    const finalToken = sha256(step2); // 示例:28638d855bc00d62b33f9643eab3e43d8335ab2b308039abd8fb8bef86331b14
    
  4. 手动提交

    • Phrase输入框:success
    • Token输入框:填入上面计算的finalToken
    • 点击Submit按钮

方法三:自动化攻击脚本

<!DOCTYPE html>
<html>
<body>
<script>
function attackDVWA() {// 1. 创建隐藏iframe访问目标页面const iframe = document.createElement('iframe');iframe.style.display = 'none';document.body.appendChild(iframe);iframe.onload = function() {const doc = iframe.contentDocument;// 2. 设置目标短语doc.getElementById("phrase").value = "success";// 3. 获取并执行原始脚本const scripts = doc.getElementsByTagName('script');for (let script of scripts) {if (script.src.includes('high.js')) {// 4. 直接调用混淆函数const newScript = doc.createElement('script');newScript.textContent = `token_part_1("ABCD", 44);token_part_2("XX");token_part_3("", "ZZ");document.forms[0].submit();`;doc.body.appendChild(newScript);break;}}};// 5. 设置目标URL(需先登录DVWA)iframe.src = 'http://localhost/dvwa/vulnerabilities/javascript/';
}// 执行攻击
attackDVWA();
</script>
</body>
</html>

技术原理详解

  1. 混淆代码还原

    • 使用在线工具如http://deobfuscatejavascript.com/还原代码
    • 关键识别点:setTimeoutaddEventListener调用顺序
  2. SHA256哈希机制

    // 典型SHA256实现结构
    function sha256(input) {// 初始化哈希常量const K = [0x428a2f98, 0x71374491, ...];// 消息填充和分块处理// 多轮压缩函数运算// 返回十六进制哈希值
    }
    

    两次哈希增加复杂度但仍在客户端进行

  3. 时序攻击关键

    • token_part_2的300ms延迟必须等待
    • token_part_3绑定在点击事件上
    • 执行顺序:part1 → part2 → (点击) part3

防御措施与修复建议

  1. 服务端验证
// 服务器端验证示例
session_start();
$validToken = hash('sha256', hash('sha256', "XX".strrev($_SESSION['secret'])."ZZ"));if ($_POST['token'] !== $validToken || $_POST['phrase'] !== "success") {die("Invalid request!");
}
  1. 增强防护机制

    • 使用HMAC-SHA256替代纯SHA256
    • 添加时间戳和一次性随机数(nonce)
    • 实施CSRF令牌保护
  2. 混淆技术的局限性

    • 混淆不能替代服务器验证
    • 客户端代码永远不可信
    • 最小化客户端敏感逻辑

通过本教程,您已掌握DVWA High级别JavaScript攻击的核心技术。关键要点是:无论客户端如何混淆加密,只要验证逻辑在客户端执行,就存在被绕过的风险。实际应用中务必在服务端完成最终验证。

: 展示了HMAC-SHA256的应用实例,说明单纯SHA256的不足
: 提供了DVWA各难度级别的对比分析,包括High级别的混淆技术
: 详细解释了SHA256的JavaScript实现原理


防御措施与修复方案

1. 根本漏洞原因
  • 客户端Token生成:所有加密逻辑在浏览器端完成,攻击者可完全控制流程。
  • 混淆非加密:混淆(Obfuscation)仅增加阅读难度,无法替代服务端验证。
2. 安全方案
<?php
// 服务端Token验证示例(Impossible级别思路)
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {$expectedToken = hash('sha256', hash('sha256', "XX" . strrev($_SESSION['secret']) . "ZZ"));if ($_POST['token'] !== $expectedToken || $_POST['phrase'] !== "success") {die("Invalid token!");}echo "Success!";
}
?>

关键改进

  • 服务端生成Token:基于会话密钥动态计算,避免客户端暴露逻辑。
  • 一次性Token:每次请求更新会话密钥,防止重放攻击。

各安全级别防御对比

安全级别Token生成位置加密逻辑绕过难度
Low客户端无加密(ROT13+MD5)
Medium客户端字符串反转⭐⭐
High客户端SHA256混淆⭐⭐⭐
Impossible服务端动态密钥+多次哈希无法绕过

总结:High级别的混淆虽增加分析成本,但未解决核心问题——信任客户端输入。安全设计的核心原则是:关键逻辑必须在服务端实现,且需结合会话隔离与动态密钥。建议在实战中参考Impossible级别的服务端验证模型。

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

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

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

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

http://www.dinnco.com/news/68230.html

相关文章:

  • 卢沟桥做网站的公司今日重大财经新闻
  • 郑州企业建站免费咨询百度地图排名怎么优化
  • 3d动画制作流程诊断网站seo现状的方法
  • 网络维护员主要什么工作长春seo排名收费
  • 北京城乡建设委员会网站网络营销推广的
  • 电子商务网站开发形式有平台运营
  • 店铺管理appseo属于技术还是营销
  • 青海wap网站建设比较好百度推广计划
  • 做360网站优化排培训网址大全
  • 济南网站的建设做seo需要哪些知识
  • 做头像的日本网站营销网站建设选择
  • 永城网站设计公司百度热搜榜历史
  • 黄江网站建设微信seo是什么意思
  • 自己网站上做淘宝搜索香港疫情最新消息
  • 专题类的网站培训心得总结怎么写
  • 幸运28网站代理怎么做营销型网站更受用户欢迎的原因是
  • 个人主页自助建站域名注册免费
  • 哪个网站是专做宝宝饭的现在做网络推广好做吗
  • 合肥建站软件推广网站软文
  • 外呼系统重庆百度seo公司
  • 贵阳网站建设多少钱高端网站建设公司排名
  • 做葡萄牙语网站徐州网站建设
  • 自适应网站dedecms代码学软件开发学费多少钱
  • 国内简约网站设计欣赏seo排名点击软件
  • 庆阳市建设局门户网站中国今日新闻
  • asp.net 网站数据库个人免费建站系统
  • 计算机网站建设是什么百度学术论文查重入口
  • 已有网站可以做服务器吗什么是竞价推广
  • 大连手机自适应网站建设维护西安seo优化系统
  • 自适应网站的优劣网站推广与优化平台