[WeChall] Limited Access (Exploit, HTTP)

http://www.wechall.net/challenge/wannabe7331/limited_access/index.php

这是一道关于.htaccess文件的Web题。下面是题目提供的.htaccess的内容。

.htaccess文件(或者”分布式配置文件”)提供了针对每个目录改变配置的方法,即在一个特定的目录中放置一个包含指令的文件,其中的指令作用于此目录及其所有子目录。

其实.htaccess是个复杂的东西,编写它需要花点时间学习才行。对我们小白来说整个语法学一遍实在是太耗费耐心了。所以可以看看能不能从字面上解决这个小问题。

打开超链接 my pages 可以发现会出现一个登录窗口。当然我们又是不知道人家的账号密码的,所以别想了。

反过来观察一下.htaccess的内容,我们可以发现有这样的东西:

require valid-user很显然就是要用户名密码认证的语句了。那么外面的<Limit GET></Limit>什么意思呢?不知道的时候就去百度嘛。

你会发现<Limit GET></Limit>的意思是限制GET方式,题目中就是用认证来限制GET方式。知道这一点就很容易绕过了,用POST不就可以了。

但是呢,由于GET是可以在URL上改的,但是POST只能在Request Header里面改。所以新手的话可能会不知所措。不用担心,至少有两个办法能完成这一点事。

  1. 通过Firefox浏览器的Hackbar插件
  2. 通过强大的BurpSuite

第一种方法比较简单,所以先讲第一种。

Step 1. 在Firefox上下载HackBar这个强大的插件。

Hackbar如下图所示。

Step 2. 先用Firefox访问题目地址,完成登录等操作,否则你完成题目了也没算进你的账号下。

Step 3. 复制 my pages 的链接地址,粘贴到HackBar的URL栏。在下方Post data前面的check box上打钩,此时会出现下方的Post data内容一栏,再次将 my pages 的链接地址粘贴上去。

Step 4. 点击左方的Execute按钮,即可完成题目。

Step 3~Step 4 步骤见下图。


第二种方法,使用强大的BurpSuite

Step 1. 下载BurpSuite(并破解)。

Step 2. 打开Proxy下的Options查看监听的代理地址和端口。一般是127.0.0.1:8080

然后接下来就需要设置浏览器的代理。为什么?因为只有浏览器通过BurpSuite的代理,才能让BurpSuite抓到自己收发的包。

Step 3. 打开代理设置(以Chrome为例,在设置 中选择 打开代理设置,如下图)

Step 4. 打开局域网设置

Step 5. 设置代理。注意红色箭头的部分都是关键点

Step 6. 访问 my pages,此时,BurpSuite会提示抓到包了。并且可以发现,此时的Request Header是有Cookie的,也就是可以完成登录的操作了。

Step 7. 全选包内容,右键发送到Repeater

随后点开Repeater就可以发现刚刚的包内容在左边的request栏。

Step 8. 将Request Header的GET方法改成POST方法。然后点击GO。

Step 9. 网页的返回结果会出现右边的Response栏。查看代码我们会发现题目已经被完成了。

最后,因为你改变了代理设置用于抓包,那如果你有科学上网(翻墙)的工具,此时应该是不能用了。因此在不抓包的时候应该恢复代理设置,如下图。

1 Comments

Leave a Comment