渗透-记一次针对一个edu厂商的相爱相杀

admin 2023年6月5日23:27:25评论25 views字数 1778阅读5分55秒阅读模式

渗透-记一次针对一个edu厂商的相爱相杀

又水了一本浙大证书,当然以下漏洞与浙大无瓜,是其他高校的。

事情起因是攻防演练中,服务单位又新上了一个系统,出于对服务单位(qian)的尽责,我连夜进行测试。

拿到地址,一个登录框,没有验证码,可爆破。忘记密码功能提示联系管理员,之后我测了一下注入,就不爆破了,因为我有管理员账号,我直接进后台。

SQL注入

登录后台,点击项目综合管理,在教师姓名处单引号报错,直接把错误信息回显,这一看就是报错注入了

payload:

1%') and updatexml(1,concat(0x7e,database(),0x7e),1)-- qwe

渗透-记一次针对一个edu厂商的相爱相杀

文件上传

在头像处上传图像文件,抓包上传图片马插入一句话,修改文件后缀为.php

渗透-记一次针对一个edu厂商的相爱相杀

访问链接发现文件内容已被解析

渗透-记一次针对一个edu厂商的相爱相杀

通过蚁剑进行连接,获取到服务器system权限

渗透-记一次针对一个edu厂商的相爱相杀

渗透-记一次针对一个edu厂商的相爱相杀

差不多了,虽然都没有技术含量,但是服务器都拿到了,可以交差了。其实这里应该把登录框爆破做一下,防止出现弱口令等,当时还是没做到位。

第二天报告交付,负责系统的处室老师还写了证明跟我说打错端口了,很正式。我的建议还是关闭端口,排查清楚。

暴力破解

后面过了一阵子重新拿到URL进行渗透,bp抓包先进行登录框的爆破吧,不出一会儿就出来了,登录后发现权限还是比较小的,是一个砖家账号。

渗透-记一次针对一个edu厂商的相爱相杀

复测了下之前的漏洞,好家伙注入确实没了,文件上传功能直接报错,功能都坏了,没偷偷破坏(修复)吧。

垂直越权

那只能想办法看看其他功能问题,在测试中,抓包分析发现rid、uid和oid参数,这肯定有问题哈,经过测试,发现修改rid可进入不同权限角色账户。修改rid=4为rid=1,测试完发现rid控制用户角色(1为超级管理员,2为部门负责人,3为教师,4为评审专家)

渗透-记一次针对一个edu厂商的相爱相杀

重新查看栏目即可发现菜单栏目多了很多功能项,右边可以进行全局参数,权限管理,菜单管理,用户管理等

渗透-记一次针对一个edu厂商的相爱相杀

又拿到管理员账户了,还是有点问题的。

文件下载漏洞

后面又进行了测试,发现文件下载漏洞,数据库账号密码都出来了,又出了一个漏洞,不过不允许外联,没办法进行后续利用,不过可以知道密码规律,还是有利用空间的。

http://x.x.x.x/api/config/database.php

http://x.x.x.x/api/config/database_oracle.php

渗透-记一次针对一个edu厂商的相爱相杀

渗透-记一次针对一个edu厂商的相爱相杀

SQL注入

后面在用户管理地方,发现一个平常最容易被忽略的问题,对结果集进行排序的地方,既然跟数据库交互有关,自然而然就会想到SQL注入的防护问题,第一时间想到的方案就是预编译了。但是采用预编译执行SQL语句传入的参数不能作为SQL语句的一部分,那么Order By后的字段名、或者是descasc也不能预编译处理,那么也就是说Order By场景的排序规则还是只能使用拼接,这时候如果在开发阶段没有处理好,那么就很可能导致SQL注入问题了,排序也一直是注入的重灾区。排序注入最快的检测方法就是底下这些

,1 && ,0

,1/1 && ,1/0

,exp(71) && ,exp(710)

exp(710)原理就是大于709就会溢出

渗透-记一次针对一个edu厂商的相爱相杀

测了一下是我多虑了不好意思,没有问题,但是我又很不死心,我觉得对于这个系统来说不应该是这样的,毕竟我之前也找了注入,于是我想着直接报错语句拼接

and(updatexml(1,concat(0x7e,(select user())),0)

渗透-记一次针对一个edu厂商的相爱相杀

这下不是又有了,又是一个注入。

后续利用鹰图fofa找了公网的一些站点提交到了edusrc,这厂家修复也还可以,有些高校审核的时候已经关站或者修复了,也有可能我复现的时候触发了安全设备告警。

渗透-记一次针对一个edu厂商的相爱相杀

当然这里其实也有个问题,有些都是需要有拿到弱口令权限才可以利用,这里我还有一招

未授权访问

留了一手,之前在后台分析的时候,发现一些未授权访问的接口泄露,可以获取到用户账号密码信息,还有一些审批的项目信息,这里我们还是主要关注账号密码。因为这个未授权也有结果集排序问题,导致注入就不需要进行登录注入了。

注:平时还是要多关注bp的http history,一个包一个包去分析

http://x.x.x.x/UserAPI/search

渗透-记一次针对一个edu厂商的相爱相杀

通过POST传参加pagenum和limit参数可以获取到所有用户的账号密码,但密码是加密的,解不解的开也是一种运气,当然拿到账号也可以进行爆破。


原文始发于微信公众号(扫地僧的茶饭日常):渗透-记一次针对一个edu厂商的相爱相杀

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月5日23:27:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透-记一次针对一个edu厂商的相爱相杀https://cn-sec.com/archives/1740708.html

发表评论

匿名网友 填写信息