信息收集
这次信息收集比较玄学,起初就是用谷歌语法搜了一下带注册功能的点
然后就找到了本次目标站的注册点:
这边的学号啥的我都是不知道的而且这边最后显示的不是注册,显示的是提交所以可以断定注册账号得需要管理员审核信息才能注册,所以我没报啥希望随便编了一个1213311的学号,身份证号码是bing上随便搜的一个身份证。
然后过了2,3个星期本来已经忘了这个站点了但是后面收到了账号注册通过审核的邮件了,花某也是一整个懵圈。。
然后就迅速去登录进行测试了。
存储xss
进去之后功能比较少就一个论文上传点,先传个pdf-xss试试
成功弹窗,要是以前还能混一个低危但是现在EDU不收录pdf-xss了所以这个点就先放放,然后还有个摘要框,在试试存储xss。
成功弹窗,存储xss+1
越权
然后点击查看个人信息,抓包看看有没有越权参数。
没啥能操作的,而且这个系统操作的局限性比较大因为功能点有点少,所以打算继续在论文功能上看看能不能再出货,先上传一个正常的pdf然后点击浏览抓包,这边之所以能想到论文浏览抓包是可以凭经验猜想下的,论文管理处上传的论文肯定不止我们一篇,所以论文一多最后数据可能会是以一串有规律的数字而存储:所以我们上传一篇正常的pdf之后抓包看看能不能越到别人的pdf论文上。
果然提交类型中是存在参数的,所以我们改下参数试试,把原来的:&ataid=212871063
改为:&ataid=212871064
结果没有回显数据,再改为:&ataid=212871065
试试
有数据回显再看看论文有没有变成别人的
成功看到别人论文,逻辑越权+1 这边在后期大量收集论文信息改包的过程中发现这边的参数 &ataid=212871065
最后一位的数字貌似只能是奇数,因为改成 &ataid=212871064/&ataid=212871066/&ataid=212871068
偶数是不会成功的但是改为&ataid=212871065/&ataid=212871067/&ataid=212871069
的奇数结尾就会有数据回显
信息泄露
这里的信息泄露是论文自带的一个信息是算在越权里的不能单独算成一个敏感信息泄露漏洞,但是花某单独列成一个洞是因为这快的信息泄露就是帮助我们最后getshell的基础。
论文开头是有学生姓名和学号的,末尾还有身份证,刚拿到这块信息其实并没有太过在意,因为只到打到这里我并没有对这个学校的别的资产进行收集,只是对有号的这个系统测试了一番,所以就打算去收集一下别的资产。
谷歌语法:
fofa:
再加个Hunter就比较全了:
记事本整理一下主要的系统,然后结合已有的学号登信息最后确定了一个智慧系统(看似是通用模板,最后又收集一波发现并不是通杀.......)
可以用学号登录,就能用到我们之前论文上泄露的学号了,输入学号:2xxxx,密码再试试简单的弱口令都提升密码错误。
这时候再去整理整理收集到的信息看看有没有操作指南或者账号手册之类的东西,因为现在很多系统都会设有初始密码例如某系统学生统一初始密码为:admin123那我们只需要找到这个初始密码就能登录,
整理完信息发现是有这个登录手册的,但是在手册上有发现了一个别的问题,就是虽然初始密码是:xxx123456但是手册上还说初次登录得要更改密码才能进一步操作,那只能换个思路了结合现实中修改密码的习惯,姓名字母+123456/姓名字母+生日
然后我们在论文上也是能得到学号所对应姓名的,所以我这么就去多越了几篇论文多收集了一些学号和姓名信息以及从论文上身份证号码上得到的出生年月整理到了记事本其实如果没有身份证信息出生年月也可以不作收集只是如果有这个信息的话能增大爆破几率而且:
然后再去一个个生成密码字典爆破试试,在线生成爆破字典的链接为: https://www.shentoushi.top/tools/distplus/index.html
填写好知道的信息后生成字典,不知道的可以留空。
下载一下,为了提高效率,我是先把记事本上的前三个人的信息生成了字典打算试试能不能先跑出来
开始跑。。。。,前三个都没有,继续跑后面的,其实这边能跑的几率是比较大的,因为普通的大学生或者说普通人设置密码安全意识肯定没有学过网络安全类的人高,就连花某设置密码平常为了方便还是会设置成flower+xxx
这种密码,所以在收集的2,30个人中肯定是会有2,3个人设置弱密码,果不其然。
试了没几个就成功跑出密码,然后再去登录一下那个系统。
getshell
成功登录系统,然后再继续寻找测试点,这边getshell比较简单
寻找功能点寻找到一个【学生信息设置】功能点,测试中更改学生信息肯定是不可取的因为如果会有系统登记学生名字你改了学生名字那就会影响到学生正常的生活,所以我打算更改的是密码,为了不影响学生正常登录,所以我也是打算晚上凌晨试试,速战速决了,如果没有测成功就赶紧恢复之前的密码。更改用户名然后抓包:
敏感信息有点多,这块打个厚码。
试试写个phpinfo:
看到其它数据编码了,这边写phpinfo的也编下码 ', file_put_contents('flower.php',base64_decode('PD9waHAgcGhwaW5mbygpOz8+')),'
还要加上路径因为不回显路径,路径直接再根路径就行../这些组合也可以具体看师傅们的玩法。
访问: xxx.xxxx.edu.cn/flower.php
成功写入,最后直接写shell就行,edu上这样就行了所以这样交就ok了,然后打包下这些洞一起交下。
总结
这次测试难度不算高,感觉主要是比较看信息收集能力,有大佬之前说过信息收集质量决定渗透质量果然不假。