首页 > 编程语言 >DVWA靶场JavaScript Attacks漏洞所有级别通关教程及源码审计

DVWA靶场JavaScript Attacks漏洞所有级别通关教程及源码审计

时间:2025-01-08 12:31:25浏览次数:3  
标签:function Attacks JavaScript getElementById value token 源码 part document

目录标题

JavaScript Attacks (前端攻击)

JavaScript Attacks(前端攻击)漏洞通常涉及利用Web应用程序中的安全漏洞,特别是在JavaScript代码的使用和实现上,从而对用户或系统造成损害

low

先根据提示输入success,回显说明存在token

抓包看看,可以发现存在token值,经过多次尝试,发现token值不会变化,也就是说每次提交使用的token值都是无效的,通过对源码的审计,发现token的生成基于generate_token()函数里的md5(rot13(’phrase‘)

生成token

在burp里修改token重新提交success

源码审计

核心代码:

  function rot13(inp) {
		return inp.replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);});
	}

	function generate_token() {
		var phrase = document.getElementById("phrase").value;
		document.getElementById("token").value = md5(rot13(phrase));
	}

	generate_token();

定义了两个函数,token主要是由输入的值md5(rot13)加密的

medium

与low级别操作方法基本一致,查看源码发现token基于**do_elsesomething(“XX”)**函数反转控制

抓包发现token是被反转的,可以手动修改

修改成功

源码审计

核心代码:

function do_something(e)
{for(var t="",n=e.length-1;n>=0;n--)t+=e[n];return t}
setTimeout(function()
           {do_elsesomething("XX")},300);
function do_elsesomething(e)
{document.getElementById("token").value=do_something(e+document.getElementById("phrase").value+"XX")}

do_elsesomething利用这个函数进行反编码,将输入结果反序

high

步骤和上面没什么区别,查看源码发现是js混淆,在这个网站还原一下http://deobfuscatejavascript.com/#,找出关键部分

由于执行 token_part_2(“XX”) 有 300 毫秒延时,所以 token_part_1(“ABCD”, 44) 会被先执行,而 token_part_3() 则是和提交按钮的 click 事件一起执行,控制台执行

然后输入success提交

源码审计

看核心代码:

执行 token_part_2(“XX”) 有 300 毫秒延时,所以 token_part_1(“ABCD”, 44) 会被先执行,而 token_part_3() 则是和提交按钮的 click 事件一起执行

function do_something(e) {
    for (var t = "", n = e.length - 1; n >= 0; n--) t += e[n];
    return t
}
function token_part_3(t, y = "ZZ") {
    document.getElementById("token").value = sha256(document.getElementById("token").value + y)
}
function token_part_2(e = "YY") {
    document.getElementById("token").value = sha256(e + document.getElementById("token").value)
}
function token_part_1(a, b) {
    document.getElementById("token").value = do_something(document.getElementById("phrase").value)
}
document.getElementById("phrase").value = "";
setTimeout(function() {
    token_part_2("XX")
}, 300);
document.getElementById("send").addEventListener("click", token_part_3);
token_part_1("ABCD", 44);

impossible

You can never trust anything that comes from the user or prevent them from messing with it and so there is no impossible level.
你永远不能相信来自用户的任何内容或阻止他们弄乱它,所以没有不可能的水平。

标签:function,Attacks,JavaScript,getElementById,value,token,源码,part,document
From: https://blog.csdn.net/m0_74786138/article/details/144979406

相关文章

  • PHP大文件上传解决方案实例源码
    要求:免费,开源,专业技术支持前端:vue2,vue3,vue-cli,html5,jquery,webuploader后端:php服务器:linux,centos,Windows,数据库:MySQL,达梦数据库,人大金仓平台:Windows,macOS,Linux,Ubuntu,RedHat,中标麒麟,银河麒麟,统信UOS,信创国产化CPU:x86(Intel,AMD,兆芯,海光),arm(鲲鹏,飞......
  • 2025年毕设ssm图书管理系统论文+源码
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容选题背景随着信息技术的迅猛发展,图书馆作为知识传播与存储的重要场所,其管理方式正逐步向自动化、智能化转型。关于图书管理系统的研究,现有研究主要以大型图书......
  • 2025年毕设ssm图书管理系统论文+源码
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容选题背景关于图书管理系统的研究,现有研究主要以传统图书馆的管理模式和大型图书馆的数字化建设为主,专门针对中小规模图书馆(如学校图书馆、社区图书馆)的图书管......
  • 2025毕设springboot Script全栈视频播放系统论文+源码
    系统程序文件列表开题报告内容研究背景随着互联网的飞速发展,在线视频已经成为人们日常生活中不可或缺的一部分。从教育学习到娱乐休闲,视频内容以其直观、生动、易于理解的特点,吸引了大量用户。然而,当前市场上的视频播放系统虽然众多,但在用户体验、内容管理以及系统架构的灵......
  • 2025毕设springboot ON-FITy论文+源码
    系统程序文件列表开题报告内容研究背景在当今社会,随着生活节奏的加快和工作压力的增大,越来越多的人开始关注自身健康问题,尤其是健身已成为许多人日常生活的重要组成部分。然而,传统的健身方式往往缺乏个性化和互动性,难以满足广大健身爱好者的多元化需求。ON-FITy项目正是在......
  • 2025毕设springboot MBCTS溯源系统论文+源码
    系统程序文件列表开题报告内容研究背景在当今快速发展的食品与农产品行业中,确保产品的安全与品质已成为消费者最为关心的问题之一。随着供应链的不断延长和复杂化,从原材料种植到最终消费品送达消费者手中的每一个环节都可能成为食品安全风险的潜在来源。为了有效应对这一问......
  • 【Vue.js 2.x源码解析】第22章 从解析到 AST:Vue 模板编译的实现
    第22章从解析到AST:Vue模板编译的实现parse的神秘面纱解析的整体流程正则驱动的HTML解析栈结构管理DOM层级小结Vue编译原理|AST解析|前端基础你会不会在用Vue2写一个组件时,忽然想到,模板字符串是怎么变成DOM的?深入研究一番你会发现,发现背......
  • 2025毕设springboot 《计算机网络》课程学习网站论文+源码
    系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,教育领域正经历着深刻的变革。在线学习作为一种新兴的教育模式,以其灵活、便捷的特点,受到了广大师生的青睐。特别是在《计算机网络》这类理论与实践并重的课程中,学生往往需要在课外时间进行深入的自主学习和实......
  • 校园失物招领系统管理系统-毕业设计-附源码
    文末获取源码和万字论文,制作不易,感谢点赞支持。图片无法加载的情况可看文末私我获取      毕业设计(论文)   题目:校园失物招领系统的设计与实现摘 要如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。......
  • 2025毕设springboot 《花间故里》论文+源码
    系统程序文件列表开题报告内容研究背景《花间故里》这一毕业设计题目源于对现代都市人精神需求的深刻洞察。随着生活节奏的加快,人们愈发向往自然与宁静,渴望在繁忙之余寻得一处心灵的栖息地。鲜花,作为大自然的使者,不仅美化环境,更以其独特的韵味抚慰人心。然而,传统花卉市场受......