前言
最近认识了小呆师傅,我聊的很开心,刚好发现了这么一个nday漏洞,就想着投到小呆师傅的公众号里,给更多的师傅们看看,于是就有了这个文章,当然了,我的水平较低,师傅们勿喷。文章中图片皆为 PS,切勿当真;
0x01 起因
那么最近呢,edusrc开始收人社的漏洞,那么就看一看有没有什么漏洞
看到了一个小程序,点进去
看到响应包中有deleteme,那么一切交给插件,当然,很可惜没什么结果
接着往下看,就随随便便点点功能点,点点个人中心这里也是非常可惜,是拿请求中的jwt中的数据做查询,所以没有找到什么越权的点
0x02 发现
/jmreport/queryFieldBySql ==》 返回403
/jmreport/loadTableData ==》 执行失败
..............
这也是大部分师傅挖洞碰到的情况 拿到nday一个都打不了
0x03 利用
那么经过一番尝试后,bp跑一下js文件里面的接口,发现/sys/dict/queryTableData该接口可以执行sql查询
既然可以执行sql查询 那么我们直接构造一波参数,也是参考了网上的一些资料,构造了查询参数
text和code字段是我们需要查询的内容 table是从哪张表去查询
因为我们不知道具体的表 所以需要先从information_schema里面去查
/sys/dict/queryTableData?pageSize=100&table=information_schema.tables&text=table_name&code=TABLE_SCHEMA
ohhhh 弄出来了 正准备写报告 但是转念一想 这样交 最多就3rank
那我也没必要写文章记录这个过程,那么接着往下我想到一个点,因为这个系统是有敏感信息的,那么如果说我们能够查到那个字段,查到数据,就可以扩大危害了。那么继续
那么我们就利用这个接口对mysql数据库中的information_schema.tables和information_schema.columns这两个表做一个查询
我们的目的是要获取关键表中的数据,那么接下来就是漫长的查询
/sys/dict/queryTableData?pageSize=100&pageNo=1&table=information_schema.columns&text=table_name&code=column_name
那么接下来就没什么好说的了,查到表名字段名就可以查看数据了
一、数据库账号密码泄露+1系统3306对外开放,不过没解出密码哈希值
二、敏感信息*n,不过不多几百条吧
这里我就不放了,就只是表中的数据,没什么好看的,,,
当我回过头想要查看账号密码的时候,,,
/sys/dict/queryTableData?pageSize=100&table=%60sys_user%60&pageSize=100&pageNo=2&text=username&code=password
嗯,还是赶紧把报告写一下交了吧
结语
写这个记录过程主要还是想表达就是,对一个问题我们可以尝试深入一下;有些师傅可能只是看到,哦,有nday,然后poc验证一下就交了;我在发现问题的时候我会想,这里,可不可以提高危害;因为我上次就是这个nday验证下就交了,当时有想到能不能查其他数据,不过我没有付诸行动;好在这次进行了尝试,还是有结果的;写下文章记录过程,有不足之处还请师傅们予以指正。
原文始发于微信公众号(小呆安全):原神糕手对人社挖掘的奇思妙想
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论