vlambda博客
学习文章列表

记一次edusrc通用外网资产挖掘-SQL注入

声明:文中所包含漏洞均已提交edusrc且以修复,所有内容均已脱敏,仅作为学习记录。由于查看本文章造成的任何后果本团队不承担任何责任,请遵守中华人民共和国法律!


半个月前闲来无事,正好edusrc没交过几个洞,也想像大佬们一样在edusrc的主页上刷屏。

空间搜索引擎启动!

找个顺眼的点进去看看:

记一次edusrc通用外网资产挖掘-SQL注入


几乎所有功能都需要登录后才能使用,页面上也有注册功能:

记一次edusrc通用外网资产挖掘-SQL注入

随手用虚拟邮箱注册一个,验证后进行登录,登录后大致看了看常见的功能点也没看出个什么来,应该是一个留学相关的站点。


记一次edusrc通用外网资产挖掘-SQL注入

注意到有申请功能,尝试点击一下到了一个选择专业的页面,随便选了一个专业,然后回到主页,出现了一个未完成的申请:

记一次edusrc通用外网资产挖掘-SQL注入

上面的所有访问开始前已经启动burp在记录,现在到burp中看看有没有可能存在漏洞的功能点的数据包,其中有一个请求带的参数让我比较在意:

记一次edusrc通用外网资产挖掘-SQL注入

在这里出现了一个desc,desc一般是数据库中使用order by排序后逆序显示的语句,合理猜测这个含有desc的参数就会被拼接到sql语句中执行,将desc修改为desca看一下会不会导致报错:

记一次edusrc通用外网资产挖掘-SQL注入

成功报错了,并且显示出了sql查询的语句(但是这篇文章的长度预示着这个漏洞没这么快被挖出来嘿嘿)

这时候已经得到了sql语句和注入点了:

SELECT XX FROM XX WHERE `student_id` = 6023 AND `is_delete` = 1 ORDER BY `apply_number` `desc`

先手工fuzz一波看看一些敏感字符会不会被过滤,先试试单双引号:

记一次edusrc通用外网资产挖掘-SQL注入

在进入语句后变成了

ORDER BY `apply_number` `desca""""`

全部都被实体化了,用不了。语句中有这么多反引号,那我也试试反引号:

记一次edusrc通用外网资产挖掘-SQL注入

在语句中变为

ORDER BY `apply_number` `desca``a``b```c`

看着好像没问题,但是我好像没有敲这么多反引号啊?????

研究了一会好像是会自动闭合反引号导致无法注入,这个自动闭合也不算自动闭合吧 很不好描述emm反正这里我太菜了打不动。



好想放弃啊...看起来这么安全的一个站点怎么可能是我这种菜鸟能挖的...

但是一想到自己以前通宵挖洞,挖了一晚上,看一个换一个看一个换一个,挖了一晚上没有任何收获;

又想到学长告诉我挖洞最重要的是耐心和细心,要把所有功能点用所有的姿势都测试一遍,决定换另一个功能点看看!

回到BURP,注意到另一个比较可能让我有收获的数据包:

记一次edusrc通用外网资产挖掘-SQL注入

注意到这里这个传参,尝试进行一下base64解码:

记一次edusrc通用外网资产挖掘-SQL注入

去掉结尾的Mw,解    出来是360,说不定这就是进入语句中的一个整数呢!

尝试对360加一个单引号,base64后发包:

记一次edusrc通用外网资产挖掘-SQL注入

记一次edusrc通用外网资产挖掘-SQL注入

成功导致了报错!并且由于是base64解码后拼接到sql语句中,单引号并没有被过滤:

WHERE `id` = 360' AND `student_id` = 6023

那我就不客气啦(搓手),直接传入updatexml进行报错注入:

记一次edusrc通用外网资产挖掘-SQL注入

记一次edusrc通用外网资产挖掘-SQL注入

收获root注入一枚~去小刷了一波嘻嘻

师傅们可以加团队官方群一起学习交流哇: