Hack this site basic missions(level 1~11)

Level 1

直接用浏览器的检查功能,选中 submit 点击检查;或者将网页源码下载下来;


答案就在该html文件中,我们直接搜索password,密码就在那里。

Level 2

任务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………
提示说,有设置一个密码保护脚本,也就是存放密码的脚本/文本,用于比对实际输入密码,可是她说忘记上传这个文本了,我们不慌,既然她没有上传用于比对的密码,那这道题又出来了,我们该怎么办?
果断试一下,无密码提交……成功了!

Level 3

这会,她没有忘记上传密码了,那我们怎么找到这个密码文本呢?还是去看下网页源码,在表单有这么一项值得怀疑,是input type =“hidden”,value=“password.php”:

有理由怀疑这就是密码文本,那么我们可以尝试在浏览器地址栏添加这样来访问这个文件,看图:

密码就出来了。

Level 4

提示说,这次她怕忘了密码所以加了一个按钮,点击之后发送密码到她的邮箱。我们还是先看一下代码,很清楚地看到这个按钮的逻辑和她的邮箱:()
有几种思路:

  1. 将她的邮箱改成我们自己的邮箱,可以在google上面使用检查功能直接更改源码,然后在界面点击“to”按钮,密码就到我们自己邮箱了;

将画线的邮箱换成自己的邮箱,之后,点击原本界面的发送按钮,接收邮件收到密码就行了。

也可以将网页html下载下来用记事本打开,将邮箱替换之后,用浏览器打开,再点击“to”按钮,看邮箱就行了。

Level 5

这次和level 4类似的操作,直接使用浏览器的检查功能并修改邮箱就行了

Level 6

这次和之前的不太一样,有一个加密框,还有已经被加密的密码,显然就是叫我们去试密码,输入abcd得到aceg,试了很多次发现有这么个规律:第n位字符的密文是它的ACSII+(n-1)的字符,也就是第一位不变,第二位加一,是b就转为c,第三位是c就转为e……以此就可以算出密码了。

Level 7

这一次,她说将密码保存在 当前目录下 ,我猜就是浏览器的这个目录https://www.hackthissite.org/missions/basic/7/吧,

然后又说,上面的框框输入年份就可以显示全年的日历了,我试了一下,确实可以,这就相当于有一个脚本,在输入框输入2020,就等于 unix 下的 cal 2020 命令,那么我们可以尝试:2020; ls 这个命令就可以将当前目录列出来了。

同理在地址栏输入该文件名就可以查到密码了。

Level 8

这一次,她还说将密码保存在 当前目录下 ,而密码的获取一定和上面的框有关系,这个框是她女儿写的一个php脚本,但并不安全,我想我们可以和level 7类似,输入点什么……


查看提示:要求SSI(Server Side Include)知识,服务器执行的动态html,而不是浏览器的,这话的意思是:

SSI(Server Side Include)使用在HTML中,用于在请求内容返回到客户端前执行页面中的SSI命令,生成动态内容。通常用于多个页面引用公共的内容模块,将此模块分离出来,使用SSI引入即可。

换言之,我们需要嵌入一条SSI命令用于查询我们的目录。

SSI指令基本格式:
  程序代码:
  <!-– 指令名称=“指令参数”>
  如 程序代码:
  
  说明:
  1. 是HTML语法中表示注释,当WEB服务器不支持SSI时,会忽略这些信息。
  2.#include 为SSI指令之一。
  3.file 为include的参数, info.htm为参数值,在本指令中指将要包含的文档名。
  注意:
  1.<!–与#号间无空格,只有SSI指令与参数间存在空格。
  2.上面的标点="",一个也不能少。
  3.SSI指令是大小写敏感的,因此参数必须是小写才会起作用。
————————————————
版权声明:本文为CSDN博主「lsfhack」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lsfhack/article/details/69664402

那么,我么看一下有什么命令适合用在这里,

#echo 示范
  作用:
  将环境变量插入到页面中。
#include 示范
  作用:
  将文本文件的内容直接插入到文档页面中。
#flastmod 和#fsize 示范
  作用: #flastmod 文件最近更新日期
  #fsize 文件的长度
#exec 示范
  作用:
  将某一外部程序的输出插入到页面中。可插入CGI程序或者是常规应用程序的输入,这取决于使用的参数是cmd还是cgi。

详细看看#exec示范:

  <!--#exec cmd="cat /etc/passwd"-->将会显示密码文件
  <!--#exec cmd="dir /b"-->将会显示当前目录下文件列表
  <!--#exec cgi="/cgi-bin/gb.cgi"-->将会执行CGI程序gb.cgi。
  <!--#exec cgi="/cgi-bin/access_log.cgi"-->将会执行CGI程序access_log.cgi。
  ………………

输入 <!--#exec cmd="dir /b"--> 会显示以下内容,说明方向正确
If you are trying to use server side includes to solve the challenge, you are on the right track: but I have limited the commands allowed to ones relevant towards finding the password file for security reasons(because there will always be that one person who decides to execute some rather nasty commands). So please manipulate your code so that it is a little more pertaining to the level.

再试一下:<!--#exec cmd="ls"-->

点击进去之后,没有发现 密码文件/php,猜想是否在以一个目录,然后输入:<!--#exec cmd="ls .."-->就查到了想要的php密码文本。

Level 9

这会儿她说:密码仍然存在于文本中,可是之前用的脚本被限制了,我们也发现少了一个框了,但她仍然坚持说还要求SSI知识和 unix 目录知识,这就是奇怪的地方了。

我们可以尝试一下在密码框内输入,却发现完全不可行,
后来我们想能不能用第八题得查询框查询该题的呢,想想只是目录不同,应该可行,不过命令就需要变一下了:`

上一题的目录 是 ls .. 这个是查询basic/8/的,那么basic/9的就应该是ls ../../9。

输入之后就查到和前面一题一样的结果,返回basic 9 任务,输入密码即可。

Level 10

翻译一下:

这个她没说采用文本文件来存密码了,而是一种更为临时和“隐藏”的方式来验证,会是什么呢?

  1. 是不是不用输密码了呢?
    如果要输密码,那么我们从哪里找呢,没有提示,这条路就走不下去了。没有输密码的只有第二题,是直接提交的,尝试一下这道题,不可行。
  2. 她所说的更为临时和隐藏的方式是什么呢?
    平时我们登陆网站有时候不用输入密码也可以通过,是因为什么呢?对,是因为cookies,而cookies恰恰是一种临时和隐藏的方式。
    为此,我去找一下浏览器的设置,在其中看到了


    不禁觉得奇怪:前面这么多道题,为何只有这一个level 10,猜想一定和这个有关,那么我们这时候就应该想到能不能去修改一个cookies,一找还真有:


    可以确定的是一定是和cookies中 内容=“no”有关。注意,重新设置cookies需要删掉已经生成的level10_authorized cookies,然后在https://www.hackthissite.org/下的域的console中输入
javascript:document.cookie='level10_authorized=yes'

document.cookie="level10_authorized=yes"

设置成功后,会发现https://www.hackthissite.org/下的cookies多了,并且level10的内容变为了“yes”,然后刷新或回到答题界面直接提交即可。

Level 11

终于来到 level 11,这里她说,要建立一个音乐网站,可她不是很懂apache(一个服务器软件)。点进去显示:

刷新一次:

再一次刷新,音乐还是会变,
想想这些音乐有什么共同点: 搜一下发现所有音乐都是出于一个叫“elton john”。她是在提示我们点什么吗?
查看一下源码,发现有这么一句话:

那我们就有apache、“elton john”、“We even have our own collection……”这三条线索。我们可以推断:这个网站是用apache做的,并且这个网站有很大的漏洞,因此我们去看一下apache的一些使用介绍:

会不会是目录访问权限没有设置好呢?试一下。试了一下index.php和index.html,发现输入index.php(https://www.hackthissite.org/missions/basic/11/index.php)可以出现:

不知道密码是多少,继续找,又试了很多个链接,发现到e这里发现有内容https://www.hackthissite.org/missions/basic/11/e/,会不会是 elton ,继续点下去:


到了这里,已经成功了一半。
可是到这线索断了吗,会不会有隐藏文件,如果有,会是什么呢?来搜搜 apache Web服务器目录 隐藏文件,出现一些相关的知识,就是说apache下一些不安全的目录下会有一个".htaccess"目录,那我们去试一下,直接打https://www.hackthissite.org/missions/basic/11/e/l/t/o/n/.htaccess
Got it!

画线的都是一个目录或文件来的,一开始我还以为这其中有一个是密码,后来发现不对。
最后输入:https://www.hackthissite.org/missions/basic/11/e/l/t/o/n/DaAnswer
打开这个文件后发现密码就是 short

参考:

https://blog.csdn.net/dolphinysj/article/details/6706386

https://blog.csdn.net/daydayupergouzi/article/details/82622943?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase
http://cn.voidcc.com/question/p-fmqgfcfa-zg.html //apache
https://blog.csdn.net/weixin_41843699/article/details/90390562 //apache

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值