HackThisSite JavaScript 题目破解过程与解析
source link: https://phuker.github.io/hack-this-site-javascript-challenges.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
HackThisSite JavaScript mission 1-7
题目来源:https://www.hackthissite.org/missions/javascript/
2020 年 10 月 28 日迁移老博客时注:这篇文章是洒家刚接触计算机和信息安全时的社团作业,那时候 URL decode 全靠往百度地址栏复制,F12 也不会按,属实怀旧了一波。
第 1 关¶
我先尝试输入 123456
,当然失败了。
搜索按钮的文字:
找到代码,发现有一个名为 check
的函数:
再次搜索:
答案明显:cookies
第 2 关¶
点进去,直接 fail:
发现 https://www.hackthissite.org/missions/javascript/2/ 直接跳转到了 https://www.hackthissite.org/missions/javascript/2/fail.php
我在未跳转时按下了 ESC
键,然后在前面的源代码发现这个:
结合提示和代码,尝试禁用 JavaScript
:
再点进去:
第 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 个字母
看来是过了?
第 4 关¶
第 4 个 mission,又是密码:
当然,一开始猜测,报错误。
同上某题方法,搜索 password
于源代码。发现:
<button onclick="javascript:check(document.getElementById('pass').value)">Check Password</button>
同样把 <input>
框的文字传递给 check
函数。
这是什么玩意儿?
输入 hack_this_site
,错误。
仔细研究代码,这好像是个坑。RawrRawr
字符串就 == "moo"
,函数 check
里面的 "+RawrRawr+" == "hack_this_site"
只是返回一个 false
而已,对 RawrRawr
无影响。if (x == ""+RawrRawr+"")
,这 RawrRawr
两边加个 ""
,不就没加吗!所以输入 moo
:
这次成功了。
第 5 关¶
5th mission 又一个密码题。老规矩:
这里面出现了 %69%6C
什么东西。在很多搜索引擎的地址栏见过,直接利用一下:
因此输入 ilovemoo
第 6 关¶
又是密码题,老规矩:
有两段 JavaScript,一个在外部。打开之:
综合看来,有 check
,checkpass
,checkpassw
三个函数。
研究发现,显然密码是:moo pwns
第 7 关¶
第七个密码题。
这一次,源代码里 Check Password
都搜不出来了。
这是什么玩意儿啊!
似乎 JavaScript 代码内容被转了码。目测是 ASCII 码:(明显是 <button ......
)
那就写个 Python 代码(正好逗号构成 tuple
):
翻译出来:
<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
全部完成。
Advertisements
Comments
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK