JavaScript 题目破解过程与解析
题目来源 https://www.hackthissite.org/missions/javascript/
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
第四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

全部完成。
JavaScript 题目破解过程与解析的更多相关文章
- 看看国外的javascript题目,你能全部做对吗?(分享)
本文转自@Aaron的博客,拿过来分享一下.原文:看看国外的javascript题目,你能全部做对吗? 题目一: (function(){ return typeof arguments; })(); ...
- 试试看 ? 离奇古怪的javascript题目
来源地址: http://dmitrysoshnikov.com/ecmascript/the-quiz/#q1 另一篇帖子 看看国外的javascript题目,你能全部做对吗? http://www ...
- JavaScript URL传值过程中遇到的问题及知识点总结
JavaScript URL传值过程中遇到的问题及知识点总结 Web系统开发过程中经常用到URL进行传值,刚刚接触时不太会解析,会出现中文乱码问题等. 1.父子页面之间的传值(在一个页面中以加载ifr ...
- JavaScript的工作原理:解析、抽象语法树(AST)+ 提升编译速度5个技巧
这是专门探索 JavaScript 及其所构建的组件的系列文章的第 14 篇. 如果你错过了前面的章节,可以在这里找到它们: JavaScript 是如何工作的:引擎,运行时和调用堆栈的概述! Jav ...
- Javascript创建对象几种方法解析
Javascript创建对象几种方法解析 Javascript面向对象编程一直是面试中的重点,将自己的理解整理如下,主要参考<Javascript高级程序设计 第三版>,欢迎批评指正. 通 ...
- How Javascript works (Javascript工作原理) (十四) 解析,语法抽象树及最小化解析时间的 5 条小技巧
个人总结:读完这篇文章需要15分钟,文章介绍了抽象语法树与js引擎解析这些语法树的过程,提到了懒解析——即转换为AST的过程中不直接进入函数体解析,当这个函数体需要执行的时候才进行相应转换.(因为有的 ...
- 游览器中javascript的执行过程
在讲这个问题之前,先来补充几个知识点,如果对此已经比较了解可以直接跳过 大多数游览器的组件构成如图 在最底层的三个组件分别是网络,UI后端和js解释器.作用如下: (1)网络- 用来完成网络调用,例如 ...
- JavaScript的执行过程(深入执行上下文、GO、AO、VO和VE等概念)
JavaScript的执行过程 前言 编写一段JavaScript代码,它是如何执行的呢?简单来说,JS引擎在执行JavaScript代码的过程中需要先解析再执行.那么在解析阶段JS引擎又会进行哪些操 ...
- Web APi之过滤器执行过程原理解析【二】(十一)
前言 上一节我们详细讲解了过滤器的创建过程以及粗略的介绍了五种过滤器,用此五种过滤器对实现对执行Action方法各个时期的拦截非常重要.这一节我们简单将讲述在Action方法上.控制器上.全局上以及授 ...
随机推荐
- 有关C#标签Attribute的熟悉
Attribute 简单用法: 最近用到了,所以静下心来找些资料看了一下,终于把这东西搞清楚了. 一.什么是Attribute 先看下面的三段代码: 1.自定义Attribute类:VersionAt ...
- Python入门笔记(18):Python函数(1):基础部分
一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...
- Python基础:数值(布尔型、整型、长整型、浮点型、复数)
一.概述 Python中的 数值类型(Numeric Types)共有5种:布尔型(bool).整型(int).长整型(long).浮点型(float)和复数(complex). 数值类型支持的主要操 ...
- 重新想象 Windows 8 Store Apps (40) - 剪切板: 复制/粘贴文本, html, 图片, 文件
[源码下载] 重新想象 Windows 8 Store Apps (40) - 剪切板: 复制/粘贴文本, html, 图片, 文件 作者:webabcd 介绍重新想象 Windows 8 Store ...
- 重新想象 Windows 8 Store Apps (45) - 多线程之异步编程: IAsyncAction, IAsyncOperation, IAsyncActionWithProgress, IAsyncOperationWithProgress
[源码下载] 重新想象 Windows 8 Store Apps (45) - 多线程之异步编程: IAsyncAction, IAsyncOperation, IAsyncActionWithPro ...
- ajax案例源码
html文件中demo2_index.html ---------------------------------------------------------------------------- ...
- 学习Scala: 初学者应该了解的知识
Scala开发参照清单 这里列出在开发一个Scala工程中需要参照的资料. 官网网站 http://www.scala-lang.org/ 文档网站 http://docs.scala-lang.or ...
- 小白初学Ioc、DI、Castle Windsor依赖注入,大神勿入(不适)
过了几天,我又来了.上一篇中有博友提到要分享下属于我们abp初学者的历程,今天抽出点时间写写吧.起初,我是直接去看阳光铭睿的博客,看了一遍下来,感觉好多东西没接触过,接着我又去下了github 里面下 ...
- Tomcat/JSP中文编码配置
来源:http://blog.csdn.net/zhangzikui/article/details/6169978 http://www.iteye.com/topic/300656 ...
- Runtime -----那些被忽略的技能
有人说现在的程序员都被惯坏了,尤其使用一些面向对象的语言开发的时候,只是简单的调用一些系统封装好的接口或者是调用一些“便利的”第三方,对于一个程序的真正实现有了解吗???又有多少了解呢 ...