Web题解1 ( CTFHUB )
- 打开burpsuit,拦截GET请求, 将GET改成CTFHUB,Forword请求,返回flag。
- 改成CTFHUB原因:
- 另一种方法:curl -X CTFHUB -v xx.comxx
- 这题稍微有点奇怪,我的网址http://challenge-419fd51c51e50e13.sandbox.ctfhub.com:10800/index.html返回状态码是304,即客户端已经缓存了资源,但不确定资源是否是最新的。
- send to Repeater。
- 将if-Modified-Since和if-None-Match头部删掉,send
- 发现返回状态码为200,页面提示:资源在index.php中。
- 将地址从index.html改为index.php中,send。
- 返回的response中包含文本flg。
- burpsuit拦截请求,将Cookie:admin=0
改成admin=1。
- send。
这题还是不能理解,为什么改admin值可以改变权限。服务器返回的是Set-Cookie:admin=0;那么客户端应该设置为0才能拿到数据啊。为什么是改成别的数值呢。
- burpsuite抓取response, 状态码401, 要求客户端进行认证。认证范围:在头部显示:WWW-Authenticate: Basic realm="Do u know admin ?”
- 联想到:客户名为admin
- 随意输入一个密码,forword
- 发现GET请求的头部有Authorization: Basic YWRtaW46MQ==
- 等号缀尾,明显是base64加密传输name:password
- send to intruder, add $(YWRtaW46MQ==), payload type 选择custom iterator, 分两个序列,第一个add(admin:)!!!小心,一定要加冒号!
- 第二个序列load密码.txt
- add encode,选择base64 encode
- 去最后一个勾
- 爆破。
- 选取200的网址,send to Repeater。
- 浏览器右键,检查,在元素那一栏就有flg。
- 这题要注意:1/ 2/ 3/ 4/ 两两搭配有16种可能。
- 即遍历的含义。
- 点击查看phpinfo.php
- 发现返回的页面文字太多了,ctrl + F 查看是否有{ ,匹配成功!
- 写一个Python程序,遍历所有组合。
import requests
def get_flg(name, index):
url = "http://challenge-85be40614e4b91c6.sandbox.ctfhub.com:10800/"
url = url + name + '.' + index
response = requests.get(url)
if response.status_code == 200:
print("Successfully downloaded")
else:
print("Failed")
def main():
indexs = ['tar', 'tar.gz', 'zip', 'rar']
names = ['web', 'website', 'backup', 'back', 'www', 'wwwroot', 'temp']
for name in names:
for index in indexs:
get_flg(name, index)
main()
- www.zip是可以ping通的。
- 在浏览器中打开网址,下载zip包,解压。
- 打开flg_2680396.txt文件,没找到flg。
- 猜测这个是路径。
- 浏览器打开http://…./flg_2680396.txt。
- .bak文件:被备份的文件的复件
- 依据提示,在网址后面添加/index.php.bak
- vim第一次意外退出时产生的缓存文件后缀为.index.php.swp (因为vim产生的缓存文件时隐藏文件。)
- 缀到网址后面,浏览器打开。
- 下载得到index.php.swp文件。
- 在linux环境中命令行:vim -r index.php.swp 回车。
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
- 网址后缀/.DS_Store打开,下载到一个文件DS_Store。
- 用vim DS_Store打开,乱码。
- 用cat DS_Store打开,
$ cat DS_Store
Bud1
▒
DSDB@▒@ @ @$1d633fd2c8ec7adea237d61a794c70cb.txtnoteustr
flag here!
依据经验,网址后缀/1d633fd2c8ec7adea237d61a794c70cb.txt打开,即可得到flg。