Level 1
第一关很简单 直接查看源代码
可以看到密码已经写在注释里了 复制粘贴 pass (复制的时候注意空格)
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…
苦笑不得,忘记上传密码文件了,什么也不用输,直接submit
Level 3
This time Network Security Sam remembered to upload the password file, but there were deeper problems than that.
这次他想起来上传密码文件了 查看源代码 可以直接看到保存密码的文件名
直接在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:
怕忘记密码,加了一个直接把密码发送到他邮箱的按钮
查看源代码
这里可以看到他的邮箱号,我用的是chrome 直接F12,把他的邮箱号改成你自己的,然后直接点send password to sam 就可以得到密码了
Level 5
第五关和第四关一样,直接把他的邮箱号改成你自己的,就可以得到密码了
Level 6
Network Security Sam has encrypted his password. The encryption system is publically available and can be accessed with this form:
一个加密算法
他的原密码通过他所谓的算法加密之后得到是2df9;k=< ;
先把这个加密一下看看能得到什么 得到的是:
比较一下,明文(2df9;k=<)和密文(2eh<?pCC)两个都是8位的,而且第一位是一样的,密文的第二位(e)是明文(d)的ASCII值的+1,密文的第三位(h)是明文第三位(f)的ASCII值的+2,由此可见,后面的依次加一。
分析完这个就可以得到原始密码了,他给出的加密密码是(2df9;k=<),往逆向思维,第一位不变(2),第二位就是(d)的ASCII值的-1,第三位就是(f)的ASCII值的-2,依次类推,得到原始密码:2cd67f75
Level 7
This time Network Security sam has saved the unencrypted level7 password in an obscurely named file saved in this very directory.
In other unrelated news, Sam has set up a script that returns the output from the UNIX cal command. Here is the script:
说是输入cal命令的参数,点击view,就可以得到相对应的年份的日历
因为UNIX是支持一次执行多个命令的,三种形式:
1.每个命令之间用 ; 隔开:
这种方式下每个命令的执行给果,不会影响其它命令的执行。每个命令都会执行,但不保证每个命令都执行成功。
2.每个命令之间用 && 隔开:
这种方式下如果前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。
3.每个命令之间用 || 隔开:
这种方式下,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止。
所以我们在文本框里输入“ 参数;ls ” ,可以得到:
看到一个名字很怪的文件,然后访问:
https://www.hackthissite.org/missions/basic/7/k1kh31b1n55h.php就可以得到密码:006ac8cd
Level 8
先输入个名字看看
出现了以上的界面.OK.看题目
php代码,那应该就是Server-Side-Include漏洞了
<!--#include file="..."--> (会显示给定的文件)
<!--#exec cmd="..."--> (会执行给定的 shell 命令)
输入
<!--#exec cmd="ls .."-->
这个应该就是那个名称很复杂的文件了,直接访问
https://www.hackthissite.org/missions/basic/8/au12ha39vc.php
得到密码:9c72a654
Level 9
根据第9关的提示,感觉没多大变化呀
回到第8关,使用第8关的文本框
输入:
<!--#exec cmd="ls ../../9"-->
得到:
回到第九关,还是一样,直接访问,得到密码:ef59d573
Level 10
直接点submit,会提示你无权查看
直接F12 查看cookies
直接改成yes,然后submit 就OK了
Level 11
点开页面发现有:I love my music! “Ballad of a Well-Known Gun” is the best!
刷新,又变成了I love my music! “Are You Ready for Love” is the best!
看样子都是一些歌名,XX一下,发现都是Elton John这个人唱的。
尝试多次后发现,在URL后面加上e/l/t/o/n…会打开新的页面.
这里终于用到阿帕奇的知识了,.htaccess,这个命令htaccess在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。
于是:访问:https://www.hackthissite.org/missions/basic/11/e/l/t/o/n/.htaccess
继续直接访问:
https://www.hackthissite.org/missions/basic/11/e/l/t/o/n/DaAnswer
回到https://www.hackthissite.org/missions/basic/11/index.php