Weekly CTF
- 第一周:神奇的磁带
- 尝试思路
- 题解
- 第二周:就差一把钥匙
- 题解
- 第三周:迷了路
- 题目
- 题解
- 第四周:Check your source code
- 题目
- 题解
Weekly CTF:课程:Weekly CTF(合天网安实验室) (hetianlab.com)
第一周:神奇的磁带
实验:第一周 | 神奇的磁带(合天网安实验室) (hetianlab.com)
背景说明
本实验无writeup,需要同学们发挥自己所学,拿下最终目标。
实验环境
目标机:Centos7 IP地址:10.1.1.147:5001 攻击机:Win7 IP地址:随机分配 要求:获取目标flag 提示:flag格式为Flag{} 注:工具路径:C:\tools\
尝试思路
很多时候 CTF 题目都不是很明确,我一开始都完全不知道要干嘛,所以尽量利用给出的信息,尝试任何你可以想到的事情。
题目给出了目标 IP 地址,首先在浏览器里访问一下吧。
1、使用 SQL 注入:123 or '1'='1'
,无用
2、使用 XSS 语句:<script>alert('hello,gaga!');</script>
,无用
3、查看网页源码:发现底部有一行代码
<html><h1 style='font-size:0px;'>./Flag.txt</h1></html>
尝试访问 http://10.1.1.147:5001/Flag.txt
,是假信息!
4、尝试在浏览器开发者工具中查看网络请求,发现以下信息:
根据后缀是 =
猜测可能是 base64 编码。
上面是简单的试探,然后下面使用专业工具 burpsuite 正式开始。
题解
Burp Suite 工具位置在 C:\tools\burpsuite\BurpLoader.jar
使用步骤:
- 给浏览器配置代理 127.0.0.1,端口为 8080
- Burp Suite 工具的 Proxy > HTTP history 会显示抓包记录
当前拦截到的请求会显示在 Proxy > Intercept,每次拦截网页会卡住,需要手动 Forward
使用这个工具抓包也可以得到 Cokkie 信息:
使用该工具对获取到的 Cookie 进行 Base64 Decoder:得到一串数据,输入到表单中
可以直接在网页输入,也可以直接利用该工具的 Repeater 来发送请求:
根据新的提示,猜测应该输入:tape
,返回信息:
根据提示访问:10.1.1.147:5001/Flag-Win.txt
:
根据提示继续发送请求:btzhy
根据提示访问:10.1.1.147:5001/Flag-K0r4dji.php
:
查看页面源代码如下:
根据提示应该输入一个 2 位数,直接使用 Burp Suite 的 Intruder 进行爆破:
在 Proxy -> HTTP history 中右键点击抓包路径,选择 Send to Intruder
在 Intruder -> Positions 中先 Clear $
,再框选中要动态添加参数的地方点 Add $
在 Intruder -> Positions 中设置动态参数属性:
设置完毕以后,点击标题栏的 Intruder -> Start attack 开始进行攻击:
查看攻击结果,发现在参数为 66 时,Length 和其他不一样,发现返回了我们需要的信息
得到结果为:Flag{ctf_victory_SecBug}
第二周:就差一把钥匙
实验:第二周 | 就差一把钥匙(合天网安实验室) (hetianlab.com)
背景说明
本实验无writeup,需要同学们发挥自己所学,拿下最终目标。
实验环境
目标机:Centos7 IP地址:10.1.1.147:5002 攻击机:Win7 IP地址:随机分配 要求:获取目标 flag 提示:flag 格式为 flag{} 注:工具路径:C:\tools\
题解
视频使用 nikto 工具对 web server 进行扫描:
nikto -h 10.1.1.147 -p 5005
但是最新版直接已经降低难度了,直接在网页源码中提示了 robots.txt
文件:
直接访问 10.1.1.147:5002/robots.txt
,发现它禁止你爬取 console 路径
User-agent: *
Disallow: /console/
继续访问 10.1.1.147:5002/console
,提示使用指定 IP 进行访问
我们可以在请求头中添加 X-Forwarded-For
字段来伪造源 IP
使用 Burp Suite 工具的 Repeater 来发送修改后的请求:
可以得到目标:flat{hetianlab-weekctf}
第三周:迷了路
题目
实验:第三周 | 迷了路(合天网安实验室) (hetianlab.com)
背景说明
本实验无writeup,需要同学们发挥自己所学,拿下最终目标。
实验环境
目标机:Centos7 IP地址:10.1.1.147:5003 攻击机:Win7 IP地址:随机分配 要求:获取目标 flag 提示:flag 格式为 flag{} 注:工具路径:C:\tools\
题解
此题的考点在于通过语言联想到
Accept-Languae
字段
Accept-Language
表示浏览器所支持的语言类型
语法:
Accept-Language: <language>
Accept-Language: <locale>
Accept-Language: *// Multiple types, weighted with the syntax:
Accept-Language: fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5
参考:语言代码缩写表大全
然后根据显示出来的国旗,分别发送对应的 Accept-Language: <language>
所以这题的难点是有些国旗我不认识。。。。
例如,美国国旗对应的是:en-us
最后得到答案:flag{This is - hetianlab @}
第四周:Check your source code
题目
实验:第四周 | Check your source code(合天网安实验室) (hetianlab.com)
背景说明
本实验无 writeup,需要同学们发挥自己所学,拿下最终目标。
实验环境
目标机:Centos7 IP地址:10.1.1.147:5004 攻击机:Win7 IP地址:随机分配 要求:获取目标flag 提示:flag 格式为 flag{} 注:工具路径:C:\tools\
题解
查看网页源码,根据提示去查看 source.txt
文件
简单阅读一下代码逻辑,ahash
这个 Cookie 对应的值是将 $secret + admin + admin
进行 Base64 编码
将这个值进行 Base64 解码,得到 88adminadmin
,可知 $secret = 88
代码中显示还需要 Cookie 中键为 check
的值是 $secrt + $username + $password
的 Base64 编码
- 但是有个前提:
$username
必须是 admin,$password
不能是 admin
那么对 88
进行 Base64 编码,得到 ODg=
,然后拼接出 Cookie 中 check 的值是 ODg=admin1
同时在表单中输入 用户名:admin,密码:1,点击登录即可