首页 > 网站 > WEB开发 > 正文

JavaScript 题目破解过程与解析

2024-04-27 14:16:56
字体:
来源:转载
供稿:网友

javaScript 题目破解过程与解析

题目来源 https://www.hackthissite.org/missions/Javascript/

HackThisSite JavaScript mission 1-7

1

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

我先尝试输入123456 .当然失败了

搜索按钮的文字:

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

找到代码,发现有一个名为check的函数。:

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

再次搜索:

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

答案明显:cookies

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

2

点进去,直接fail。:

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

发现

https://www.hackthissite.org/missions/javascript/2/

直接跳转到了

https://www.hackthissite.org/missions/javascript/2/fail.php

我在未跳转时按下了ESC键,然后在前面的源代码发现这个:

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

结合提示,和代码,尝试禁用javascript

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

再点进去:

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

3

出现了这个东西。

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

var foo = 5 + 6 * 7

var bar = foo % 8

var moo = bar * 2

var rar = moo / 3

function check(x)

{

if (x.length == moo)

{

alert("win!");

window.location += "?lvl_passWord="+x;

} else {

alert("fail D:");

}

}

先正面解一下:

foo == 47

bar == 7

moo == 14

rar == 4.666667

我就输入14个字母

看来是过了?:

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

4

第四mission,又是密码。

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

当然,一开始猜测,报错误。

同上某题方法,搜索password于源代码。发现:

<button onclick="javascript:check(document.getElementById('pass').value)">Check Password</button>

同样把input框的文字传递给check函数。JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

这是什么玩意儿?

输入hack_this_site,错误。

仔细研究代码:这好像是个坑。RawrRawr字符串就== “moo”,函数check里面的"+RawrRawr+" == "hack_this_site"只是返回一个false而已。对RawrRawr无影响。if (x == ""+RawrRawr+""),这RawrRawr两边加个””,不就没加吗!所以输入moo:

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

这次成功了。

5

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

5th mission又一个密码题。老规矩:

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

这里面出现了%69%6C什么东西。在很多搜索引擎的地址栏见过。直接利用一下:

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

替换:

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

输入ilovemoo

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

过了。

6

又是密码题:老规矩。

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

有两段javascript,一个在外部。打开之:

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

综合看来,有check,checkpass,checkpassw三个函数。

研究发现,显然密码是:moo pwns

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

7

第七个密码题。

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

这一次,源代码里Check Password都搜不出来了。

直接看:

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

这是什么玩意儿啊!

似乎JavaScript代码内容被转了码。目测是ASCII码:(明显是 <button……> )

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

那就写个Python代码(正好逗号构成tuple):

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

翻译出来:

<button onclick='javascript:if(document.getElementById("pass").value=="j00w1n"){alert("YouWIN!");window.location+="?lvl_password="+document.getElementById("pass").value}else{alert("WRONG!Tryagain!")}'>CheckPassword</button>

密码为j00w1n

JavaScript 题目破解过程与解析 - 电脑修得好 - WIFI for Free

全部完成。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表