JavaScript 题目破解过程与解析

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

HackThisSite JavaScript mission 1-7

1

JavaScript 题目破解过程与解析_第1张图片
 

 

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

 

搜索按钮的文字:

JavaScript 题目破解过程与解析_第2张图片

 

 

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

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

 

再次搜索:

JavaScript 题目破解过程与解析_第3张图片

 

 

答案明显: cookies

 

 JavaScript 题目破解过程与解析_第4张图片

 

2

点进去,直接fail。:

JavaScript 题目破解过程与解析_第5张图片

 

 

发现                                                            

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

直接跳转到了

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

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

JavaScript 题目破解过程与解析_第6张图片

 

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

JavaScript 题目破解过程与解析_第7张图片

 

 

再点进去:

JavaScript 题目破解过程与解析_第8张图片

 

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

 

 

 

 

3

 

出现了这个东西。

 

 

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 题目破解过程与解析_第9张图片

 

4

 

第四mission,又是密码。

 

JavaScript 题目破解过程与解析_第10张图片

 

 

 

 

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

 

 

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

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

同样把input框的文字传递给check函数。JavaScript 题目破解过程与解析_第11张图片

 

这是什么玩意儿?

输入hack_this_site,错误。

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

JavaScript 题目破解过程与解析_第12张图片

 

这次成功了。

5

JavaScript 题目破解过程与解析_第13张图片
    

 

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

JavaScript 题目破解过程与解析_第14张图片

 

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

JavaScript 题目破解过程与解析_第15张图片

 

替换:

JavaScript 题目破解过程与解析_第16张图片

 

 

输入 ilovemoo

JavaScript 题目破解过程与解析_第17张图片

 

过了。

6

又是密码题:老规矩。

JavaScript 题目破解过程与解析_第18张图片

 

 

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

 JavaScript 题目破解过程与解析_第19张图片

 

 

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

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

JavaScript 题目破解过程与解析_第20张图片

 

 

7

第七个密码题。

JavaScript 题目破解过程与解析_第21张图片

 

 

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

直接看:

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

 

 

这是什么玩意儿啊!

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

JavaScript 题目破解过程与解析_第22张图片

 

 

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

JavaScript 题目破解过程与解析_第23张图片

 

 

翻译出来:

<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 题目破解过程与解析_第24张图片

 

 

全部完成。

你可能感兴趣的:(JavaScript)