securityoverridehacking challenge 解题思路汇总——JavaScript

通过了Advanced部分( securityoverridehacking challenge 解题思路汇总——Advanced),下面就进入JavaScript了。总的来说,这个部分比较简单,因为JavaScript是高度可控的东西。也就是说,安全角度而言,JavaScript是不可信的。

4        Javascript

4.1       Login Bypass

这题比较容易让人想多,逛了下hint,发现很简单。观察,首先请求了index.php,然后跳转到了fail.php,并且服务器没有返回302跳转,所以应当是javascript作了跳转工作。于是想办法屏蔽就好了,方法有两种:1)下载一份index的源码,把javascript注释掉,linux下直接wget就可以。2)设置浏览器禁用javascript。改完后就可以看到index.php的内容了,直接通过。

4.2       Login Bypass

直接找到按钮的源码,。密码都告诉你了,照着填就好了。

4.3       Login Bypass

进入页面,会弹出对话框要求输入密码。直接找到源码

var password= 'test';
password=prompt('Please enter the Password!','');
if (password=='4D3dchfa') {
window.location.href=''+password+'.php';
}

输入对应密码即可。

4.4       Login Bypass

一样的套路,换成了一个乘法,计算一下就好。

4.5       Extended Math

将乘法升级成代数式了,不过不管计算多么复杂,作为程序员都是不需要担心的,让代码去算就好了。直接将题中的代数式拿出来,写成html即可。

4.6       Potentially ‘Evil’ Scripting

观察脚本,发现有两次验证。如果第二次通过了,就会跳到666.php,然后返回404。于是尝试第一次通过,第二次错误,就成功了。没太懂这题什么意思。

4.7       Login Bypass MD5 Style

使用MD5进行了加密,网上搜一个解密网站解密一下就可以了。对于弱秘钥的哈希解密现在基本还是不难了,不过如果是一个复杂秘钥的话,解密的成功率就不一定了,尤其是使用了更高级的哈希算法。因此,Hash基本还是算安全的,只要秘钥足够复杂。

4.8       JavaScript with 448-bit Blowfish encryption

观察源码,发现提交后调用了password_submit这个方法。在decipher.js中找到这个方法,同时也找到了key。这题大致是说,“碰到加密不要怕,会有逗逼把密码告诉你的”。

4.9       JavaScript with live encryption/decryption

这次用了SHA1加密,不过弱秘钥还是可以解密出来的。同时,也尝试了一下直接修改验证逻辑的方法,但是行不通,不知道是怎么回事,也许做保护了?不过总而言之,在客户端的任何保护基本都是无效的,因为攻击者可以很随意的阅读并修改。

PS:实时解密的动态效果非常酷炫

 

 

你可能感兴趣的:(security,javascript,安全,ctf)