关于Pikachu靶场SQL注入的解答——union 注入的使用及其见解
发布时间:2026/10/29 1:37:51 锦皓数字建站

#创作灵感#我记得之前在b站上学编程时有位老师说过这么一句话‘“要想快速的学有所成就去写博客”昨天上课时老师把之前教的union拿出来做了巩固鉴于我之前也有做过一些sql注入特写此文章以留作念想。由此本文将通过 Pikachu 靶场的字符型注入关卡演示一次完整的 Union 联合查询注入流程最终目标是获取数据库中的用户名和密码。一题目来源来自于Pikachu靶场SQL注入的第二题详情可自行本地搭建评鉴。题目如下whats your username?/完成字符型注入get关卡练习最后 获得用户名和密码数量二解题思路步骤思路关于判断sql注入的类型我是生疏的但好在基础题目有提示根据题目标题“username”我推断该注入为字符型注入。1.验证注入类型这里通过本网站sql注入第一题所提供的已知账户kobe,来做字符型注入的对照具体图片如下图正常显示错误显示通过英文单引号得来的错误提示表明包含字符型漏洞。c增加“#”号注释后又可正常查询2.老师在是直接使用的union关键字实现的查询不过我并不知道为什么就一定要用union。这个问题我留做下期sql专题解答吧因为union联合查询需要保证查询出来的列相同所以这里先使用order by将列的信息给找出来。kobe order by 2#在使用二分法n次后得到存放该表的列数为二如上图3.接下来就是通过information_schema这个mysql自带的系统库查出系统的中的密码和用户名。当然在真正查到用户名和密码前我们还需要先通过“tables”表和“columns”表查出用户名和密码的“字段名”最后在查出数据神秘指示图全世界独一无二。4通过union 联合select database();查出库名“pikachu”kobe union select 1,database()#5.通过union 联合select information_schema “pikachu”查出表名“users”kobe union select 1,table_name from information_schema.tables where table_schemapikachu#6.通过union 联合select information_schema “pikachu”“user”查出列名“username”与“password”kobe union select 1,column_name from information_schema.columns where table_schemapikachu and table_nameusers;#7.最后select “password”“username”“pikachu”-----“用户名密码 ”“pikachu”“670b14728ad9902aecba32e22fa4f6bd”kobe union select username,password from pikachu.users#8.当然最后密码我也会提供明文显示,访问下列网站即可自行解密https://cmd5.com/
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。