记一次edusrc通用外网资产挖掘-SQL注入
声明:文中所包含漏洞均已提交edusrc且以修复,所有内容均已脱敏,仅作为学习记录。由于查看本文章造成的任何后果本团队不承担任何责任,请遵守中华人民共和国法律!
半个月前闲来无事,正好edusrc没交过几个洞,也想像大佬们一样在edusrc的主页上刷屏。
空间搜索引擎启动!
找个顺眼的点进去看看:
几乎所有功能都需要登录后才能使用,页面上也有注册功能:
随手用虚拟邮箱注册一个,验证后进行登录,登录后大致看了看常见的功能点也没看出个什么来,应该是一个留学相关的站点。
注意到有申请功能,尝试点击一下到了一个选择专业的页面,随便选了一个专业,然后回到主页,出现了一个未完成的申请:
上面的所有访问开始前已经启动burp在记录,现在到burp中看看有没有可能存在漏洞的功能点的数据包,其中有一个请求带的参数让我比较在意:
在这里出现了一个desc,desc一般是数据库中使用order by排序后逆序显示的语句,合理猜测这个含有desc的参数就会被拼接到sql语句中执行,将desc修改为desca看一下会不会导致报错:
成功报错了,并且显示出了sql查询的语句(但是这篇文章的长度预示着这个漏洞没这么快被挖出来嘿嘿)
这时候已经得到了sql语句和注入点了:
SELECT XX FROM XX WHERE `student_id` = 6023 AND `is_delete` = 1
ORDER BY `apply_number` `desc`
先手工fuzz一波看看一些敏感字符会不会被过滤,先试试单双引号:
在进入语句后变成了
ORDER BY `apply_number` `desca""""`
全部都被实体化了,用不了。语句中有这么多反引号,那我也试试反引号:
在语句中变为
ORDER BY `apply_number` `desca``a``b```c`
看着好像没问题,但是我好像没有敲这么多反引号啊?????
研究了一会好像是会自动闭合反引号导致无法注入,这个自动闭合也不算自动闭合吧 很不好描述emm反正这里我太菜了打不动。
好想放弃啊...看起来这么安全的一个站点怎么可能是我这种菜鸟能挖的...
但是一想到自己以前通宵挖洞,挖了一晚上,看一个换一个看一个换一个,挖了一晚上没有任何收获;
又想到学长告诉我挖洞最重要的是耐心和细心,要把所有功能点用所有的姿势都测试一遍,决定换另一个功能点看看!
回到BURP,注意到另一个比较可能让我有收获的数据包:
注意到这里这个传参,尝试进行一下base64解码:
去掉结尾的Mw,解 出来是360,说不定这就是进入语句中的一个整数呢!
尝试对360加一个单引号,base64后发包:
成功导致了报错!并且由于是base64解码后拼接到sql语句中,单引号并没有被过滤:
WHERE `id` = 360' AND `student_id` = 6023
那我就不客气啦(搓手),直接传入updatexml进行报错注入:
收获root注入一枚~去小刷了一波嘻嘻
师傅们可以加团队官方群一起学习交流哇: