Windows 下第三方服务提权
0x00 MSSQL提权
MSSQL运行在system权限时才可以通过xp_cmdshell组件执行系统命令提权
提权条件:数据库账号是DBA权限
-
关于xp_cmdshell
- 得到数据库连接信息,连接数据库后执行
EXEC xp_cmdshell 'net user';
- 有sql注入时也可以直接在url上使用xp_cmdshell,因为mssql可以多语句执行,例如
?id=1;EXEC xp_cmdshell 'net user';--
- 得到数据库连接信息,连接数据库后执行
-
连接数据库
-
执行系统命令
-
添加用户
-
远程连接
0x01 MySQL提权
环境:web应用服务器权限较低
提权条件:MySQL是system权限
- 关于UDF
MySQL提权可以用UDF和Mof。UDF就是User defined Function,即用户定义函数,可以通过创建存储方法来定义函数,从而调用系统命令。
-
UDF提权过程
- 导入udf.dll到服务器指定目录
- MySQL版本小于5.1的udf.dll要导入到c:\windows\目录下
- MySQL版本大于等于5.1的udf.dll要导入到plugin_dir目录,plugin_dir在MySQL安装目录下的lib/plugin目录下(MySQL安装目录可以用select @@basedir得到),默认不存在这个目录,我们要自己创建
- 使用SQL语句创建功能函数
CREATE FUNCTION shell RETURNS STRING SONAME ‘udf.dll’; - 执行MySQL语句调用新创建的函数
select shell(‘cmd’,‘whoami’); - 删除创建的函数
drop function shell;
- 导入udf.dll到服务器指定目录
-
查看基本信息
-
上传udf提权
-
添加用户
-
远程连接