问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
悦库企业网盘 userlogin.html SQL注入漏洞
漏洞分析
悦库企业网盘是一款专为满足企业文件管理,协同办公、文件共享需求而设计的私有部署安全、简单的企业文件管理系统。 登录框接口`/user/login/.html`处存在SQL注入漏洞,未经身份验证的远程攻击者除了可以利用SQL注入漏洞获取数据库的数据,还可以写入木马,控制服务器。 ## 二、影响版本
一、漏洞简介 ------ 悦库企业网盘是一款专为满足企业文件管理,协同办公、文件共享需求而设计的私有部署安全、简单的企业文件管理系统。 登录框接口`/user/login/.html`处存在SQL注入漏洞,未经身份验证的远程攻击者除了可以利用SQL注入漏洞获取数据库的数据,还可以写入木马,控制服务器。 二、影响版本 ------ 版本 < 5.6.8 三、漏洞原理分析 -------- 漏洞是在登录的地方,登录参数处未进行过滤,直接进行SQL语句拼接,导致SQL注入漏洞。  随便输入账号、密码,进行登录,然后抓包。可以看到接口地址: `user/login/.html`,请求方法为`POST`,有如下几个参数`account、password、clientId、referer、keepLogin`。下边进入代码进行跟踪调试。  找到登录处理函数,在入口处设置断点  可以看到,我们请求的几个参数  在`OrganizationManager::CheckAccountPassword`处,会对认证账号和密码进行检查,我们思考下一般怎么检查? 大部分会拿着web端提交的账号密码,和数据库中保存的账号密码做比较。那么这里就会和数据库进行交互,很有可能就存在sql注入漏洞。 进一步跟踪调试,这里直接把用户,未进行任何处理,直接拼接进sql语句。  进入`whereRaw`查看拼接后的`where`语句。  最终的完整SQL语句如下。  尝试构造SQL注入PAYLAOD "SELECT `password` FROM `ydisk\_user` WHERE ( `account` = BINARY ' // 可控部分 admin') AND GTID\_SUBSET(CONCAT(0x7e,(SELECT (ELT(666=666,user()))),0x7e),666)-- la0gke ' ) LIMIT 1 " 其他几个参数并未参与漏洞利用,也不是必须参数,验证的时候直接忽略即可。 四、环境搭建 ------ 查看官方文档,有详细的环境搭建步骤 <https://demo.ydisk.cn:1443/manual/docs/manager/installServer/windows>  五、漏洞复现 ------ 输入payload`account=admin') AND GTID_SUBSET(CONCAT(0x7e,(SELECT (ELT(666=666,user()))),0x7e),666)-- la0gke`用来获取数据库当前用户  成功复现  六、总结 ---- 该漏洞主要是未对登录的用户名进行严格过滤,导致SQL注入的产生。可以采用占位符的方式进行查询,即可修改SQL注入漏洞。
发表于 2024-08-09 09:55:41
阅读 ( 4513 )
分类:
Web应用
1 推荐
收藏
1 条评论
4everup
1秒前
学习
请先
登录
后评论
请先
登录
后评论
la0gke
9 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!