4.4 使用sqlmap直连MSSQL获取webshell或权限
在某些情况下可能不存在SQL注入漏洞,但是通过发现目标源代码泄露,备份泄露,文件包含等方法获取了数据库服务器的IP地址,数据库账户和密码,而且含有对外可以访问的端口,或者可以通过代理的方式能够访问到端口,简单点理解就是可以通过公网直连MSSQL数据库,那么这个时候就可以根据具体情况获取webshell或系统权限
4.4.1 MSSQL数据获取webshell相关命令
1. 数据库恢复xp_cmdshell存储过程、
(1) 判断xp_cmdshell是否存在
(2) MSSQL 2000版本:
(3) MSSQL 2005及以上版本:
2. 手工注入写入shell
3. 反弹写入webshell
这里的必要条件是必须知道网站的真实路径,可以通过访问网站文件出错来获取真实路径
4. SQLTOOLS工具通过账户直接连接
(1) 恢复存储过程
(2) 通过文件管理查看文件及目录
(3) 获取网站的真实路径
(4) 写入shell
5. 知道sa账户和密码,直连后写入webshell或获取系统权限
sqlmap.py -d mssql://sa:sa@xxx.xxx.xxx.xxx:1433/master --os-shell
6. 执行提权命令
这里就是通过存储过程执行添加用户和密码 ,然后将添加的用户加入到管理员组
7. 日志备份获取webshell
(1) log日志备份获取webshell
';alter database dbname set RECOVERY F