2026 Scarletctf
Commentary
托管反向代理服务器
这里顺便学习了一些Linux系统的WEB代理服务器的配置知识
反向代理具有以下几个主要优势:
- 增强安全性:隐藏后端服务器的 IP 地址,并通过 TLS/SSL 启用加密。
- 负载均衡:将流量均匀分配到多个后端服务器上。
- 优化:降低延迟并提高资源效率。
- 可扩展性:更容易管理高流量场景。
- 易于管理:简化了统一域背后多个后端服务的配置。
尝试搭了一点儿nginx反向代理,试了下自定义防火墙,后来发现和题没啥关系了,就没有继续做下去
HTTP Host标头的操作
先扫描网站看端口
nginx 这样的 Web 服务器托管多个虚拟主机时,它会使用 HTTPHost头部来确定要提供哪个站点的服务。在 HTTP/1.1 中,Host 头部是必需的。然而,在 HTTP/1.0 中,Host 头部并非必需。
图解HTTP P106 关于HOST的内容是这样的:
- 首部字段 Host 会告知服务器,请求的资源所处的互联网主机名和端口号。Host 首部字段在 HTTP/1.1 规范内是唯一一个必须被包含在请求内的首部字段。
根据提示就是不通过HOST去访问,那么就去访问HTTP/1.0不加HOST就可以了
如果向端口 80 发送不带 Host 标头的 HTTP/1.0 请求,nginx 将回退到提供其默认页面,因为它无法确定要将请求路由到哪个虚拟主机
GET:HTTP请求服务的一种方式(并不只局限于脚本中)也不只是局限于对url的更改,但是可以通过命令行直接对url执行内容
需要作为一个完整的HTTP请求的一部分,通过网络发送到目标服务器,才能触发服务器的响应
payload的结构:
1 | echo -e "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n" | nc example.com 80 |
这里就会打印返回的HTTP响应,比如HTML内容
需要结合netcat (nc)或telnet等工具将这个请求发送到服务器端口(如80或443)才能看到服务器的响应
使用HTTP/1.1协议的GET方式请求资源
\r\n:回车加换行,表示内容的新行
swe_intern
做这个题的时候还没有接触.git泄露,嗯就是学习速度慢了,非常的不够,所以现学了一些.git目录的常用内容和涉及原理
这道题很明显有目录遍历的漏洞

提示可以访问.git目录,
1 | .git目录结构:(目录遍历的时候注意大小写) |
然后获得了这么一串内容:(不一定要列举,可以直接一次性执行)

1 | ../.git/config ../.git/HEAD ../.git/index(递归下载此目录下的所有对象) |
利用git扫描工具,获得git目录的内容
.git泄露原理:
.git的目录可以保留一些版本变化的内容,我们需要去查看历史版本内容去获取上传的一些内容的保留,比如说管理员原本密钥什么的
说得具体一点:假如工程师在测试登入功能时,将admin 的帐密纪录在程式的注解中,并使用git 纪录到历史版本中,当工程师不小心上传.git,并且没有做权限控管,那么骇客就能从泄漏的.git 目录中拿到帐密;
除此之外,还能对.git目录执行写入,覆写的作用
实际上找文件内容也是看经验之谈的类型:
1 | Git 储存资料的位置 |
.git目录下的master文件夹
使用的命令是gitk或git log


campus_one
miss-input
mole-in-the-wall
