某ERP系统开源版本审计

admin 2024年5月29日16:30:02评论4 views字数 634阅读2分6秒阅读模式

某ERP系统开源版本审计

  • 分析

某ERP系统开源版本地址:https://gitee.com/yimiaoOpen/nodcloud
开审!!!!!
1.在恢复备份功能点,可调用restore方法从数据库备份文件中恢复数据。

某ERP系统开源版本审计

2.查看restore方法,接受$filename参数调用parseSQL方法解析文件

某ERP系统开源版本审计

3.紧接着查看parseSQL方法,用于解析SQL文件,过滤空行、注释、连接SQL语句什么的。

某ERP系统开源版本审计

4.到这可以看出一些代码处理逻辑的问题,对传入的文件名未做过滤,可以利用../去进行目录穿越;在parseSQL方法解析传入的文件时,不会对文件后缀进行校验,只要存在该文件便进行SQL处理,最终执行文件中的SQL语句。

  • 小小插曲

该漏洞需要找到一个上传文件功能点,来进行组合利用。步骤如下:
上传恶意SQL文件>>通过恢复备份功能来执行恶意SQL语句
1.想着随随便便传个jpg就可以了,但是返回error。

某ERP系统开源版本审计

2.返回去瞅瞅代码,发现检验了文件头,利用GIF89a绕过之后,遇到新的问题就是GIF89a会导致文件内容不能被正确解析为SQL语句。

某ERP系统开源版本审计

某ERP系统开源版本审计

3.跟进代码,发现好在并不是所有后缀都进行了内容校验。

某ERP系统开源版本审计

  • 完整实现

具体实现,MySQL日志写shell。

set global general_log=on;
set global general_log_file='hnggnb.php';
select '' ;

某ERP系统开源版本审计

某ERP系统开源版本审计

某ERP系统开源版本审计

某ERP系统开源版本审计

某ERP系统开源版本审计

  • 限制

1.是后台漏洞
2.需要绝对路径
3.需要开启日志的权限

某ERP系统开源版本审计

原文始发于微信公众号(雁行安全团队):某ERP系统开源版本审计

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月29日16:30:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   某ERP系统开源版本审计https://cn-sec.com/archives/2791420.html

发表评论

匿名网友 填写信息