DVWA攻略-07-JavaScript

原文作者:JOJO的奇妙代码
原文链接:https://www.cnblogs.com/jojo-feed/p/10206443.html

新版本的 DVWA 有新东西,其中一个就是这个 JavaScript 模块了。
玩法也挺特别的,如果你能提交 success 这个词,成功是算你赢了。也看得我有点懵逼。
在这里插入图片描述

初级

如果你改成 “success” 提交一下会出现了这个,Invalid token。这是什么回事呢?
在这里插入图片描述

你可以打开控制台(F12),看看情况。
在这里插入图片描述

你会看到这个 token,不是后台生成的,而是前台生成的。。。而前台生成的 token,是用 md5("ChangeMe"),而后台期待的 md5 是 md5("success")
所以你在输入框中输入 success 之后,还得在控制台在调用 generate_token() 函数。

结果如下
在这里插入图片描述

中级

思路是一样的,只是生成 token 的函数放到另外的 js 文件中了。
在这里插入图片描述

如果你打开这个 js 文件 http://192.168.0.110:5678/vulnerabilities/javascript/source/medium.js ,你会看到这样

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")
}

所以,在输入框输入 “success” 之后,在控制台中,输入do_elsesomething("XX") 就可以了。
在这里插入图片描述

高级

高级和中级类似,生成 token 的逻辑在额外的 js 文件中。和中级不同的是,这里的 JS 经过了混淆的。。。就显得很混乱。

http://192.168.0.110:5678/vulnerabilities/javascript/source/high.js

截取其中的一段给大家看看

var a=['fromCharCode','toString','replace','BeJ','\x5cw+','Lyg','SuR','(w(){\x273M\x203L\x27;q\x201l=\x273K\x203I\x203J\x20T\x27;q\x201R=1c\x202I===\x271n\x27;q\x20Y=1R?2I:{};p(Y.3N){1R=1O}q\x202L=!1R&&1c\x202M===\x271n\x27;q\x202o=!Y.2S&&1c\x202d===\x271n\x27&&2d.2Q&&2d.2Q.3S;p(2o){Y=3R}z\x20p(2L){Y=2M}q\x202G=!Y.3Q&&1c\x202g===\x271n\x27&&2g.X;q\x202s=1c\x202l===\x27w\x27&&2l.3P;q\x201y=!Y.3H&&1c\x20Z!==\x272T\x27;q\x20m=\x273G\x27.3z(\x27\x27);q\x202w=[-3y,3x,3v,3w];q\x20U=[24,16,8,0];q\x20K=

这不是正常人类能看懂的。
http://deobfuscatejavascript.com 中提供的功能是,把混淆后的代码转成人类能看懂一些 js 代码
其中关键的部分是这里:
在这里插入图片描述

这里生成 token 的步骤是:

  • 1、执行token_part_1("ABCD", 44)
  • 2、执行token_part_2("XX")(原本是延迟 300ms执行的那个)
  • 3、点击按钮的时候执行 token_part_3

所以我们在输入框输入 success 后,再到控制台中输入token_part_1("ABCD", 44)token_part_2("XX")这两个函数就可以了。
在这里插入图片描述

不可能

在这里插入图片描述

哈哈哈,被摆了一道了。你永远不要信息来自用户的任何东西!!!

如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值