1.条件
- 具有sa用户的密码
- xm_cmdshell组件存在并开启
2.SA(mssql管理员默认账号)账号的获取
- 爆破获取账号密码(port:1433)
- 通过webshell读取网站配置文件或者数据库文件(sql server的数据库文件存储格式是mdf)。
如web.config、config.asp、conn.asp、dbconfig.asp。
可能得到的账号名称不是sa,但是具有系统权限。
使用数据库软件连接数据库执行系统数据库的操作,若可以操作说明此账号具有sa权限。
或者利用注入sqlmap --is-dba确认是否为dba权限。
SQL server默认允许sa外链登陆,mysql root用户默认不允许外链登陆。
3.利用
3.1允许外联
- 直接利用sql工具外联开启xp_cmdshell。
如下图,sql sever有一个自带的系统数据库master,而xp_cmdshell在 《存储过程》–>《扩展存储过程中》的脚本。

查看《扩展存储过程》,如果其中含有 sys.xp_cmdshell 说明目标网站没有删除该组件,只是默认把该组件禁止,如果没有看到该组件说明已删除xp_cmdshell,那么可以使用自带的xplog70.dll或者上传dll文件进行恢复。
386




被折叠的 条评论
为什么被折叠?



