No.0
前言
要开学了,我妈说先不给你生活费了,先花压岁钱,心里正难受呢,好兄弟给我看了个网站,看了一眼就觉得他有搞头......
No.1
我是大学生!先让我进去
打开网站开启burp拦截逐个抓包查看,发现里面的后台内容一闪而过,再跳转到登陆页面
然后尝试把会跳转的丢掉,类似这种校验凭证的这种,提示缺少的Authorization的,这个过程中也尝试伪造一个值给Authorization
发现他好像还要校验token,并且这个token的值看上去还要进行加密
继续放包查看,得到了这个界面
这个时候尝试使用了一下findsomething和JS finder,常找一下这个页面的接口信息,看看能不能有所收获
翻看一下状态码为200的数据包,出现了之前一样的提示,像之前一样尝试一下把会跳转到登陆的数据包丢掉
得到了一下界面,点击了搜索之后,会跳转回登录界面,查看到findsomething也没有其他的接口信息
这个时候只能回归本质了,翻看一下原来进去的界面,开始一个个功能点的去看一下,顺便打开burp的爬虫看看有没有其他的接口
点开第一个功能点就发现有一个导出功能,尝试点击看看有没有别的发现
提示错误,不能为null,这个简单,随便给个数字看看
成功了,下载一下看看,这个文件名看上去有点东西
抱着喜悦的心情打开查看了一下结果是空白的
但是我不死心,难得找到个可以导出的接口还不需要校验我要和他磕一下,翻查看一下前端的代码看看能不能尝试构造一下这个参数,翻到了这个
尝试使用这个参数构造一下,下载看看数据明显就不一样了,下载看看
好像确实有点东西,但好像没什么用?看上去就是个教工号和教职工号有点用,但现在好像用不上的样子,登录用的都是身份证,只能再翻翻有没有其他暴露的接口了
翻查了一下burp的爬虫看看有没有收获,我把重点放到了API的这个路径下,一个个翻阅的过程中,我发现了有一个特别的接口它不需要身份验证也可以查询数据,但是需要提供一个teaid的东西,然后我去查了一下这个值是什么
好家伙翻了大半天都没说这个是啥,这个时候突然想到了那个好像没什么用的教工号和教职工号的文件,尝试输入了一下,没想到真的返回数据了(后续尝试遍历了一下这个教工号数据都能返回),尝试用这个身份证和默认密码登录看看
登录成功了。
No.2
大过年的来都来了,不拿个shell?
找到了个换头像的功能点
直接上传可见是没有任何过滤的
直接一句话拿shelll,龙年第一个shell
No.3
主菜吃完了,来点甜点
继续深入挖掘一下,想着既然都能遍历所有用户的信息,那就试一下测越权,但是在登录过程中有了一个意外的发现,在登录的时候发现teaid的值在登录过程中当作参数传进去了
既然有可以控制的参数点那就不要浪费,尝试测试一下
成功登陆xxx27的用户账号,任意用户登录到手了
继续测越权,登录第一个用户
登陆第二个账号,点击保存
得到以下数据包,可以见到手机号传进去了,更改userid为第一个账号的工号XXX51,并修改手机号参数改为13900000000,点击发送
刷新第一个账号的页面,可以看到手机号已经被更改了
最后因为账号打算做好事也要有点手尾,就想着把登录的账户退出了,没想到又有意外的发现,这个teaid又被当作参数传进去了
重新登录这个id为xxx51的用户,重放一下这个包,可以看到用户被退出了,也不需要任何交互,看来这个任意用户退出漏洞也到手了
如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
前面有同学问我有没优惠券,这里发放100张100元的优惠券,用完今年不再发放