1.
查看网页源代码,按Ctrl+F搜索password,可以发现一段注释,<!-- the first few levels are extremely easy: password is 15f0ee9e -->,于是把这个密码输入即可过关。
2.
关卡提示没有上传密码文件,此时可以意识到对这个系统来说,没有读取到密码,所以密码是空的,于是直接点击submit即可过关。
3.
查看网页源代码,按Ctrl+F搜索password,会发现
<input type="hidden" name="file" value="password.php">
hidden 类型的 <input> 元素允许 Web 开发者包含用户不可见、不可改的数据,在用户提交表单时,这些数据会一并发送出。这种意味着在同一级目录下有一个叫password.php的文件,直接访问即可查到密码。
4、5.
使用burpsuite抓包,将最下面的to=巴拉巴拉,改成自己的邮箱再send即可,两关的过法相同。
6.
加解密的简单题,要我们恢复一段密文,所以我们得先知道加密算法(几乎一定是古典密码,到对称密码了就得学习差分-线性攻击、回飞棒攻击、矩形攻击等常见的东西了,不至于那么狠)。先简单的尝试一下,在加密的框里输入111111111,会告诉我们Your encrypted string is: '123456789',这下加密算法就很明显了,按输入的字符,参照ASCII表,每个往后推0,1,2,3……个,而解密的流程就显而易见了。将密文的每个字符取出来,按照ASCII表,每个往前推0,1,2,3……个,最后得到对应的8个字符,就是密码。
7.
使用burpsuite抓包,可以发现最下面的是为cal命令传参。
于是可以用;尝试在一行里执行多个命令,例如,command1 ; command2 ; command3
将执行 command1
,等待它完成,然后执行 command2
,以此类推,多条命令顺序执行,命令之间没有任何逻辑关系。
然后在框框里输入2023;ls试试
在后续页面的底部可以看到ls命令运行的结果
随后访问这个php文件即可获取密码
8.
根据查阅其他的教程,得知这关需要使用SSI(Server Side Includes)指令(是鼠鼠完全没听说过的东西捏),SSI存在着漏洞,即允许通过在HTML页面注入脚本或远程执行任意命令。
总之,输入类似<!--#exec cmd="ls -lsa" -->的命令,可以被服务器执行,获取到一些信息。将上述命令输入并submit后,会发现一些提示内容,翻译后的内容如下:
如果你试图使用服务器端包括解决挑战,你是在正确的轨道上:但我有限的命令允许相关的寻找密码文件安全原因(因为总会有一个人决定执行一些相当讨厌的命令)。所以请操作您的代码,使它与级别更相关。
将命令修改成<!--#exec cmd="ls" -->,就可以得到如下的效果。可以发现,这里是将每一次点击submit后的结果都存在这了,而根据题目里提示的信息,可知密码文件存在/basic/8/下,所以需要查看上一级目录。
于是,将命令修改成<!--#exec cmd="ls .." -->,成功查到了密码存放的文件名
在网址中直接对其访问即可
9.
根据关卡提示,似乎和第八关没什么区别,但第九关里没有可以输入命令的框框,查阅其他攻略后得知可以回第八关,随后输入<!--#exec cmd="ls ../../9"-->命令,可以得到存放密码的文件名。
随后,回到第九关访问这个密码文件即可。
10、11
编不下去了,不会了……看别人的教程吧,我菜死了,后两个我真的无法理解