http://www.wechall.net/challenge/wannabe7331/limited_access_too/index.php
这道题与上一道.htaccess的题目思路基本一样。可以参考:[WeChall] Limited Access (Exploit, HTTP)
其中不一样的就是.htaccess不仅限制GET方法,还限制了POST, HEAD, PUT, DELETE, CONNECT, OPTIONS方法。但是呢HTTP的方法这么多,随便一个能成功我们都能完成这道题目,因此只要找一下HTTP的其他方法,用它们访问即可。
既然是这样,那么用Firefox的Hackbar就不能完成这个任务了。但是同样可以使用BurpSuite抓包发包的方式完成,这里就不再演示一次了。
这次要介绍的是上次没有介绍的一个方法——Python编程访问。
这一点跟之前的Cookie题目是很类似的。可以参考:[WeChall] Training: Programming 1 (Training, Coding)
需要知道的一点是:
-
HTTP允许的方法:GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, PATCH, PROPFIND, PROPPATCH, LOCK, UNLOCK, TRACE
我们可以选择PATCH进行尝试。与 Cookie题目 不一样的是需要改变请求的方法。
查一下文档:https://docs.python.org/3/library/urllib.request.html
发现只需要改变method的参数值即可。
于是代码如下:
1 2 3 4 5 6 7 8 |
import urllib.request url='http://www.wechall.net/challenge/wannabe7331/limited_access_too/protected/protected.php' header={} req = urllib.request.Request(url, headers = header, method='PATCH') req.add_header('Cookie','WC=Value') text = urllib.request.urlopen(req).read().decode('utf-8') print(text) |
值得注意的是Cookie的获取同样参照 Cookie题目 即可。
运行结果如下:
可见题目已经成功完成。
通过这道题目我们可以发现,为了弥补这些漏洞,建议完全删除限制,以便始终需要进行身份验证。
2018/11/20 更新
看到一位网友的评论特地去再看了一下这道题目,发现这道题目的.htaccess被修改了。新的题目把PATCH也限制了。于是使用别的方法。PROPFIND可以完成这道题目哦。
博主你好 这个代码在pycharm下报了一堆错误
我是python3.x的环境
你好,我用的也是python3环境,在sublime里面运行没有报错诶。以及现在题目被修改了,不可以使用PATCH方法了,可以改用PROPFIND方法。
感谢博主~
不客气哦