0x01 信息搜集
首先给定的目标为 xxx 大学官网:www.xxx.edu.cn,但是不要真的就只是对主站进行测试了,一般像这种主站都是比较安全的,大概率采用一些站群系统,像学校很多使用博达的统一管理,自带 waf
1.子域名采集
可以通过 subdomain3,fuzzdomain,subDomainsBrute,seay 子域名爆破
但是上述的我在此次渗透中并未使用,爆破时间太长了.
我用的 fofa,shadon 这些个网络空间搜索引擎
比如下图:
host="xxxx.edu.cn"
![](https://i-blog.csdnimg.cn/blog_migrate/66a7b2a4a40af3fcac11d189bc4ef1cc.png)
2.端口信息
通过上面 fofa 的结果,得知 ip 地址,使用端口扫描工具扫描。未发现可利用端口
![](https://i-blog.csdnimg.cn/blog_migrate/3567e109235909ea9708df0a41ebddbd.png)
然而很多站点的 ip 都是这个,感觉像是做的反向代理
遂放弃端口
3.敏感信息搜集
- github 搜索
- google hacking
- 凌风云网盘搜索
然后并没有搜集到一些敏感的东西 邮箱使用的是腾讯的企业邮箱,vpn 是这个样子的
![](https://i-blog.csdnimg.cn/blog_migrate/be94aea8422bb24637a52ffae7bc294f.png)
然后搜集到的部分邮箱账号如下图
![](https://i-blog.csdnimg.cn/blog_migrate/45e57d81b0c6b0c87d51fbf4d1e26216.png)
通过浏览网站,搜集到部分内网系统
![](https://i-blog.csdnimg.cn/blog_migrate/3458964d186ee1cbe7a325778feb5856.png)
通过查看统一认证平台的提示和部分社工得知 学生用学号加身份证后 6 位 (默认密码) 可以登陆
![](https://i-blog.csdnimg.cn/blog_migrate/d2d0faf69e965d9884ddb4a5c97ea2cf.png)
于是呢 俺搜集了一波学号备用
- site:xxx.edu.cn 学号
![](https://i-blog.csdnimg.cn/blog_migrate/d5423ca982b73949766221d8f339506a.png)
0x02 漏洞挖掘
搜集了部分需要的信息,就开始对着各个子域名进行挖掘了,找了半天,大部分的系统都是采用的统一的模板,功能比较单一,并未发现什么漏洞
- site:xxx.edu.cn inurl:login
- site:xxx.edu.cn intitle:登陆
然后我便把重心放在了一些登陆系统上
![](https://i-blog.csdnimg.cn/blog_migrate/4bf74eee57b6f2b6561aa1baa64aee47.png)
然后找到了一处系统登陆
![](https://i-blog.csdnimg.cn/blog_migrate/c9db96f25261ecf5df80153e955fb6b0.png)
此时我记住了他的提示,用户名和密码为自己的工号,那么就是说这里面可能会有一些教师的工号信息,而正好运气不错,这个系统的系统管理员账号是个弱口令
admin&admin 进入后台后,找到用户信息,得知教师账号为 5 位的数字,可以看到地址栏有 action,我测试了 str2,然后我在刷新网页 打不开了,目测被封 ip...
![](https://i-blog.csdnimg.cn/blog_migrate/c98406abceef0301566da8f0e0244481.png)
然后知道了用户规则,就写个脚本做字典备用
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- # datetime :2019/7/10 8:44
- begin_num = 0 # 开始参数 从第几个数字开始生成
- end_num = 20000 # 结束参数 到第n个参数停止
- print("""
- 运行该脚本后,会在脚本所在目录生成5.txt ,里面存放的是生成好的数字
- """)
- for i in range(begin_num, end_num + 1):
- if i < 10:
- i = "0000" + str(i)
- elif i < 100:
- i = "000" + str(i)
- elif i < 1000:
- i = "00" + str(i)
- elif i < 10000:
- i = "0"+str(i)
- with open("5.txt", 'a') as f:
- f.write(str(i) + "\n")
- print("程序运行完毕,文件已生成")
然后就是在这个后台找注入啊 ,上传啊,无果,遂记录在文本,换另外的域名
然后看到选课系统
![](https://i-blog.csdnimg.cn/blog_migrate/b524871a467026a2b84555dea532db9b.png)
就是用学号做账户密码,成功登陆进去
![](https://i-blog.csdnimg.cn/blog_migrate/dd49e1aa2ef8345dcd16d02ff761b317.png)
貌似没什么用,但是这个我蛋疼的是,测试上传的时候,改了个脚本格式的后缀,死活发不出去数据包,结果回到网页刷新,链接被重置... 没错 我 ip 又被 ban 了...
然后我在尝试爆破了一下教师账户,同样是账户做密码
![](https://i-blog.csdnimg.cn/blog_migrate/1ac4c33eea32c7871c7aa87100f32673.png)
进去后,四处看了看,还是没能取的什么进展
用同样的办法,我进入了研究生管理系统、学生缴费查询系统 (还真就是只查询..)、最后在财务 xx 系统中稍微得到部分进展
![](https://i-blog.csdnimg.cn/blog_migrate/b54511add06798c980b636c621328e3e.png)
是的 ,没看错,身份证号码,于是我智障的试了 100 次,拿下了 14 个存在身份证的教师账户,不过貌似都是一些退休的教师,权限应该很低或者完全进不去
然后我来到了统一身份认证平台去试着登陆,结果登陆进去了..(教务登陆不进去)
![](https://i-blog.csdnimg.cn/blog_migrate/469b2b03530cd4bc2ba9ad4e6fed048f.png)
于是在这里开始,算是有了突破。因为这里的部分系统没有认证是无法打开的,比如这次的突破点:公寓管理系统
认证前打开:
![](https://i-blog.csdnimg.cn/blog_migrate/ccc6521e131236171fde7841d1277e8d.png)
认证后打开:
![](https://i-blog.csdnimg.cn/blog_migrate/e9b08c6a16e37f6772c21d2fab19972d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/73fe2183b868a062a6dfa62792862834.png)
于是也证明了,这个系统只能是登陆过统一认证平台的用户才能使用。然后恰巧这个系统存在一个 java 的反序列化漏洞
于是通过这个反序列化漏洞 (shiro 反序列化),获得了一个反弹 shell,机器为 root 权限
![](https://i-blog.csdnimg.cn/blog_migrate/fb07da48bbe93a18068c6d753ed8cc61.png)
然后后面的就是代理流量啦,用的狗洞,就不多浪费口舌了...
然后发现一个从未见过的 waf
![](https://i-blog.csdnimg.cn/blog_migrate/69756f05ee2d34efdd4a3b4ae0a84b31.png)
0x03 总结
子域名:fofa(host="xxxx.edu.cn")端口收集:御剑扫描工具,网站采用反向代理端口只允许443或者80端口出网敏感信息收集:1.github收集(无源代码泄露和邮箱泄露)2.凌风云网盘搜索(无百度网盘和腾讯网盘等敏感信息)3.goog hack收集到学号:site:xxx.edu.cn 学号登录:site:xxx.edu.cn inurl:login 或者 site:xxx.edu.cn intitle:登陆