theOldDream 的博客

独守空城忆旧梦

hack this site learn -----> Basic missions

一、 Level 1 (the idiot test)

This level is what we call "The Idiot Test", if you can't complete it, don't give up on learning all you can, but, don't go begging to someone else for the answer, thats one way to get you hated/made fun of. Enter the password and you can continue. 

一开始点击输入密码框的时候,它提示要输入用户名的密码,我以为是要账号的密码,但是 summit 了之后,发现是错误的,又想想,感觉应该不是这样的,然后想看看网页的源码看看,之后 就看到了在密码输入框 那里有个一 注释,如下:


输入这个密码之后, submit ,成功了!!

备注:   有时候 密码可能就在页面的源码里,开发人员注释  而忘记删除!


二、Level 2  

Network Security Sam set up a password protection script. He made it load the real password from an unencrypted text file and compare it to the password the user enters. However, he neglected to upload the password file...

主要说了Sam 设置了密码保护脚本,通过输入的密码和密码保护脚本进行比对,但是它没有把密码脚本文件 上传。。。

  既然没有密码脚本文件了,那就不输入密码,直接是空的。 如果你输入了密码,是错误的,没有密码脚本进行比较。 正确做法就是不输入密码,直接submit 。

备注: 有时候开发人员可能会忘记上传密码加密文件,所以试着不输入密码,有可能是正确的。


三、 Level 3

This time Network Security Sam remembered to upload the password file, but there were deeper problems than that.

通过和Level 2 页面源码的对比,发现了

Level 2 页面的源码:


Level 3 页面的源码:


则 在 view-source:https://www.hackthissite.org/missions/basic/3/  后面直接添加 password.php  就可以看到密码了。


四、Level 4 

This time Sam hardcoded the password into the script. However, the password is long and complex, and Sam is often forgetful. So he wrote a script that would email his password to him automatically in case he forgot. Here is the script:

源码如下: 


破解方法说是 把 源码拷贝到本地,然后把 邮箱地址换成自己的就可以了,但是我试过了,好像没有成功,其中的原理也没有看明白。


五、Level 5  

百度查询了一下,发现了这个方法,但是我没有试成功。

这个解决方法比较高级,因为用mission4的方法没用了,而要用firefox的一个插件firebug调试修改源代码,同样部位改成自己的email,破解成功


六、Level 6

添加了一个加密的程序,通过测试这个加密程序,发现加密规则是这样的:  第一位的字符,ascii 码 加0,第二位字符加1,一次类推,得到加密的算法,然后进行反解密:

解密的程序如下(java写的):  

public class Demo {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str = "eg7fj5j<";
        for(int index = 0; index < str.length(); index ++){
            char temp = str.charAt(index);
            int flag = temp - index;
            System.out.print((char)flag);
        }       
    }
}

得到的解密密码为:  ef5cf0d5 

七、Level 7


通过测试发现,输入一个年份,然后就返回了日历,而且上面也说了 ,UNIX cal command ,所以知道这个Unix 命令,然后可在输入框输入年份之后,再输入一个分号,输入 ls  显示文件夹,就能看到 密码文件。


八、Level 8 



通过测试发现,提交到服务器的是 .shtml 文件  ,由这个发现,查询了一下,发现可能用到到了SSI (server side include) ,通过下面博客了解了SSI

http://blog.csdn.net/shaerdong/article/details/8071114 

然后通过  输入“<!--#exec cmd="ls .." -->” 得到想要的文件 如果只输入<!--#exec cmd="ls " -->” 则不能得到密码文件,因为 此时的ls 不是在../8/目录下,而是在../8/tem/ 多了一层,所有需要到它的上一层去找

九、Level 9


这里只有一个密码输入框,但是我们可以知道,文件存放的位置是在 ../9/下的,然后我们可以回到 Level 8 中,通过在输入框中输入“<!--#exec cmd="ls ../../9"-->” 就可以看到密码文件,然后通过浏览器 访问该文件就OK了、


十、Level 10

这个百度了一下,说是因为cookie 的原因,修改一下就可以了,我没有安装Firefox 浏览器,所以没有修改。

十一 、Level 11

这个百度了,也没有查询出来怎么解决!




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012407663/article/details/49963549
文章标签: basic
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭