Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

安全问题 #107

Closed
QiAnXinCodeSafe opened this issue Dec 29, 2018 · 3 comments
Closed

安全问题 #107

QiAnXinCodeSafe opened this issue Dec 29, 2018 · 3 comments
Assignees
Milestone

Comments

@QiAnXinCodeSafe
Copy link

您好:
我是360代码卫士的工作人员,在我们的开源项目代码审计中发现hsweb-framework中存在如下三个安全问题。
一:反射型xss

  1. 问题描述:
    default
    在FlowableModelManagerController.java文件中,接受了uri中的modelld和type参数 ,但由于未作校验(我对swagger不熟,它的注解应该是没有约束力的吧,只是方便生成开发文档?),当modelId不存在时,程序将直接在页面中输出type,导致xss漏洞
  2. 复现步骤:
    由于该框架我没有搭建起来,只是做代码审计,没有复现,如果您对漏洞有疑问,我可以进行复现。后面两个也一样
  3. 日志内容:

二:csrf

  1. 问题描述:
    default
    在OAuth2ClientController.java文件中的callback方法中,用户认证完成后没有将请求中的state参数与session中的state进行对比,恶意攻击者可以通过csrf攻击进行账户劫持。
  2. 复现步骤:
  3. 日志内容:

三:路径遍历导致任意文件读取

  1. 问题描述:
    default
    在FileManagerDevToolsController.java文件中,多个方法中没有对请求中的参数做过滤,导致路径遍历,以read方法为例,攻击者可能通过../进行回溯来读取系统文件/etc/passwd等敏感文件,虽然这些功能应该是只有管理员才能进行的操作,但是正常情况下就算是管理员,框架也不应该允许读取系统文件(毕竟不能保证管理员账号的安全,这只是增加了攻击的成本和难度)。
  2. 复现步骤:
  3. 日志内容:

还望及时修复

@zhou-hao zhou-hao self-assigned this Dec 29, 2018
@zhou-hao zhou-hao added this to the 3.0.5 milestone Dec 29, 2018
@zhou-hao
Copy link
Member

感谢提交。将尽快修复!!!

zhou-hao added a commit that referenced this issue Dec 29, 2018
zhou-hao added a commit that referenced this issue Dec 29, 2018
@zhou-hao
Copy link
Member

问题 一,二已修复。

第三个问题。设计就是这样的。

  1. 此接口进行了权限控制,只有有权限的用户才能访问
    image

  2. 此包一般仅用于开发环境

所以此问题暂时忽略。

@QiAnXinCodeSafe
Copy link
Author

好的

@zhou-hao zhou-hao pinned this issue Dec 29, 2018
@zhou-hao zhou-hao unpinned this issue Dec 29, 2018
@zhou-hao zhou-hao closed this as completed Jan 6, 2019
lelewolf added a commit to lelewolf/hsweb-framework that referenced this issue Feb 24, 2019
* 简单优化

* 重构工作流(5)

* 优化流程图

* 增加流程进度

* 优化命名

* rename

* 修复使用多数据源时可能出现错误

* add mybatis

* 优化delete 返回值

* 优化工作流配置

* fix test error

* 去Collections化第一步

* fix error

* fix sort error

* 优化工作流

* 修复文件写出问题

* 修复测试错误

* 去除Conditional

* 增加配置和权限

* 优化动态表单,增加集群,tag支持

* 优化候选人设置

* 优化MapperScan

* 优化候选人

* 泛型

* 优化表单初始化字段

* 增加enable-workflow

* 增加load-only-tags

* Update UserService.java

* 优化查询,增加sql条件

* 优化表单查询

* 修改权限

* 优化工作流(6)

* 增加流程处理记录

* 重构工作流(7)

* 重构工作流(8),支持task跳转了

* 变量不序列化

* 优化获取下一环节的候选人

* 增加监听器支持

* 优化saveOrUpdate

* 优化注释

* 去除无用代码

* 修复path错误

* 优化listener

* 优化json序列化

* BusinessException

* 优化异常逻辑,可通过AuthorizationFailedEvent去自定义异常信息

* 增加动态切换表 hsweb.datasource.table.static-mapping

* 增加动态表接换策略

* 优化说明

* add task module

* 小优化

* https://github.com/hs-web/hsweb-task

* 空的权限配置也进行权限控制

* 修复下标越界错误

* 优化动态数据源

* quick-start

* 优化数据源切换逻辑

* 优化权限

* 优化说明

* Update README.md

* 优化权限配置

* Update README.md

* 增加说明

* 3.0.0 RELEASE

* 优化说明

* Update README.md

* 修复说明错误

* Update README.md

* Update README.md

* 3.0.1-SNAPSHOT

* 优化basic授权结构

* 增加了关闭系统初始化的功能,可以通过设置hsweb.app.auto-init=false来关闭启动时自动初始化.

* 增加starter的说明

* 增加配置文件配置用户权限方式,可通过: hsweb.users.userId.permissions-simple.permissionId: action1,action2 方式进行配置

* 优化权限配置逻辑,在支持数据库配置权限的同时也支持通过配置文件配置

* 增加通过配置文件进行自定义授权控制: hsweb.authorize.allows.users.admin: **.* (表达式为antPathMatcher,匹配对应的controller类全名+方法名)

* 优化tests

* 优化说明

* 修改图片

* 优化说明

* hs-web#87 修复数据源加载错误

* 优化javax.el依赖

* 优化test

* Update README.md

1、去掉dynamic
2、纯数字密码加上双引号

* 去除重复判断

* fix bug hs-web#89

* 3.0.1

* 修复依赖错误

* 3.0.2-SNAPSHOT

* 1、去除@responsebody注解,因为@RestControllerAdvice注解中已经包含;
2、新增一些常见异常的的处理;
3、用户登录异常信息提示友好。之前输错了用户名,还是提示密码错误。

* 优化参数校验

* 优化参数校验

* fix bug hs-web#91

* remove Insight.io

* 优化代码

* remove sonar

* remove Sonar

* add test case

* 优化字段过滤权限控制

* 优化测试

* 优化测试

* 删除不好看的test

* 增加拓展字段的说明

* 优化命名

* 优化servlet-api依赖

* fix bug hs-web#93

* 修复#93同样的问题

* 增加注释

* 增加流程图

* 优化test

* 修复描述错误

* 增加图片说明

* 3.0.2 release

* 3.0.3-SNAPSHOT

* 增加ConstraintViolationException处理

* 优化异常处理 hs-web#95

* 优化代码结构

* 优化说明

* 优化依赖 hs-web#96

* 增加getMockMvc方法

* 使用WebApplicationContext

* 优化test

* 优化权限api hs-web#98

* 优化说明

* 增加BindException处理

* 优化日志判断

* 优化类型判断

* 优化异常提示

* 3.0.3 release

* 3.0.4-SNAPSHOT

* 增加对DataAccessException异常的处理

* fixed hs-web#102

* 优化api

* 升级ezorm版本3.0.2-SNAPSHOT

* 修复当模型的图元节点没有设置id时,自动生成的id超过32位导致无法进行自定义配置的问题

* 增加BloomFilter

* 增加BloomFilterManager自动配置

* 修复not in 错误

* 优化参数判断

* 优化id generator逻辑

* 优化数据字典

* 优化动态查询条件

* hs-web#103 初步API

* 可通过 hsweb.app.init-table-excludes 来指定不自动初始化的表

* hs-web#103 初步完成双重验证

* 优化配置

* 优化注释

* 修复测试错误

* 修复升级依赖版本错误问题

* 双重验证码支持通过http header传入

* 优化bloom filter 初始化

* 增加限流功能

* 优化查询逻辑

* 优化注释

* 优化BloomFilter,增加contains方法

* 优化双重验证

* 升级ezorm

* 3.0.4 release

* 3.0.5-SNAPSHOT

* 优化权限

* 修复可能出现的空指针异常

* 优化数据权限控制

* 修复查询条件错误

* 修复上传静态文件流未关闭的问题

* 增加update的read-only支持

* 增加表达式方式传入查询条件

* fix commons-fileupload bug https://nvd.nist.gov/vuln/detail/CVE-2016-1000031

* 优化parser

* 增加获取指定人员权限的信息

* fix hs-web#107  修复反射型xss

* fix hs-web#107 csrf

* fix hs-web#104  差点忘记

* 优化数据权限控制

* 优化test

* 优化数据源,可手动配置数据库类型. spring.datasource.database-type

* 优化id判断

* redisson 3.10.0

* remove message module

* 优化索引

* 修复索引错误

* update Copyright

* 3.0.5 release

* 优化sql

* 修复依赖错误

* 3.0.6-SNAPSHOT

* CUSTOM_SCOPE_POSITION

* 修复数据权限逻辑错误

* 增加EqualsAndHashCode

* 优化数据权限

* 增加逻辑删除;优化创建人,修改人逻辑

* 优化权限配置

* 删除无用代码

* 优化权限控制逻辑

* 优化权限关联逻辑

* Update issue templates

* Update and rename bug---.md to bug-report.md

* Update and rename --.md to qa.md

* Update and rename qa.md to future.md

* Rename -----.md to qa.md

* Update README.md

* try fix hs-web#109

* Create README.md

* Set theme jekyll-theme-midnight

* Create CNAME

* 优化表结构

* Set theme jekyll-theme-leap-day

* 增加数据字典索引

* easy-orm

* 次数10

* 增加对pgsql的支持,beta

* 修复日期数据类型

* 增加pgsql支持

* 增加BooleanValueConverter

* 优化缓存

* Update README.md

* 增加双因子验证提示

* 删除quick-start

* remove docs

* 优化说明

* 分页结果增加pageIndex和pageSize

* 分页结果增加pageIndex和pageSize

* upgrade redisson

* add mvnw

* 增加ModuleUtils,用于获取类所在模块的信息

* hsweb-module.json

* 增加build脚本

* 3.0.6 release

* chmod +x .mvnw

* chmod +x .mvnw

* 更换maven下载地址
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants