当前位置: 首页 > news >正文

泽国镇规划建设局网站新泰网站seo

泽国镇规划建设局网站,新泰网站seo,吉粤建设工程股份有限公司网站,网站 导航条漏洞描述 某些WSO2产品允许不受限制地上传文件,从而执行远程代码。以WSO2 API Manager 为例,它是一个完全开源的 API 管理平台。它支持API设计,API发布,生命周期管理,应用程序开发,API安全性,速…

漏洞描述

某些WSO2产品允许不受限制地上传文件,从而执行远程代码。以WSO2 API Manager 为例,它是一个完全开源的 API
管理平台。它支持API设计,API发布,生命周期管理,应用程序开发,API安全性,速率限制,查看API的统计信息,以及连接API,API产品和端点。

漏洞版本

WSO2 API Manager 2.2.0 及以上版本

WSO2 Identity Server 5.2.0 及以上

版本WSO2 Identity Server Analytics 5.4.0、5.4.1、5.5.0、5.6.0WSO2

Identity Server as Key Manager 5.3.0 及更高版本

WSO2 Enterprise Integrator 6.2.0 及更高版本

WSO2 Open Banking AM 1.4.0 及更高版本

WSO2 Open Banking KM 1.4.0 及更高

环境搭建

采用Dockerfile搭建 wso2/wso2am - Docker Image | Docker Hub

版本:WSO2 API Manager 4.0.0

# ------------------------------------------------------------------------
#
# Copyright 2018 WSO2, Inc. (http://wso2.com)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License
#
# ------------------------------------------------------------------------
# set base Docker image to AdoptOpenJDK CentOS Docker image
FROM adoptopenjdk/openjdk11:x86_64-centos-jdk-11.0.10_9
LABEL maintainer="WSO2 Docker Maintainers <dev@wso2.org>" \com.wso2.docker.source="https://github.com/wso2/docker-apim/releases/tag/v4.0.0.1"
# set Docker image build arguments
# build arguments for user/group configurations
ARG USER=wso2carbon
ARG USER_ID=802
ARG USER_GROUP=wso2
ARG USER_GROUP_ID=802
ARG USER_HOME=/home/${USER}
# build arguments for WSO2 product installation
ARG WSO2_SERVER_NAME=wso2am
ARG WSO2_SERVER_VERSION=4.0.0
ARG WSO2_SERVER_REPOSITORY=product-apim
ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION}
ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER}
ARG WSO2_SERVER_DIST_URL=https://github.com/wso2/${WSO2_SERVER_REPOSITORY}/releases/download/v${WSO2_SERVER_VERSION}/${WSO2_SERVER}.zip
# build argument for MOTD
ARG MOTD='printf "\n\
Welcome to WSO2 Docker resources.\n\
------------------------------------ \n\
This Docker container comprises of a WSO2 product, running with its latest GA release \n\
which is under the Apache License, Version 2.0. \n\
Read more about Apache License, Version 2.0 here @ http://www.apache.org/licenses/LICENSE-2.0.\n\n"'# create the non-root user and group and set MOTD login message
RUN \groupadd --system -g ${USER_GROUP_ID} ${USER_GROUP} \&& useradd --system --create-home --home-dir ${USER_HOME} --no-log-init -g ${USER_GROUP_ID} -u ${USER_ID} ${USER} \&& echo ${MOTD} > /etc/profile.d/motd.sh
# copy init script to user home
COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/
# install required packages
RUN \yum -y update \&& yum install -y \nc \unzip \wget \&& rm -rf /var/cache/yum/*
# add the WSO2 product distribution to user's home directory
RUN \wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \&& unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \&& chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME} \&& mkdir ${USER_HOME}/wso2-tmp \&& bash -c 'mkdir -p ${USER_HOME}/solr/{indexed-data,database}' \&& chown wso2carbon:wso2 -R ${USER_HOME}/solr \&& cp -r ${WSO2_SERVER_HOME}/repository/deployment/server/synapse-configs ${USER_HOME}/wso2-tmp \&& cp -r ${WSO2_SERVER_HOME}/repository/deployment/server/executionplans ${USER_HOME}/wso2-tmp \&& rm -f ${WSO2_SERVER}.zip
# set the user and work directory
USER ${USER_ID}
WORKDIR ${USER_HOME}
# set environment variables
ENV WORKING_DIRECTORY=${USER_HOME} \WSO2_SERVER_HOME=${WSO2_SERVER_HOME}
# expose ports
EXPOSE 9763 9443 9999 11111 8280 8243 5672 9711 9611 9099
# initiate container and start WSO2 Carbon server
ENTRYPOINT ["/home/wso2carbon/docker-entrypoint.sh"]

运行docker run命令 搭建docker环境。

docker run -it -p 8280:8280 -p 8243:8243 -p 9443:9443 --name api-manager wso2/wso2am:4.0.0

搭建完成后,访问 https://localhost:9943 默认用户名 密码 admin admin。

漏洞复现

漏洞原理

补丁[diff记录](https://github.com/wso2/carbon-
kernel/pull/3152/commits/13795df0a5b6a2206fd0338abfff057a7b99e1bb)Remove
Unnecessary file uploader classes and improve parent path validation. by
bhagyasakalanka · Pull Request #3152 · wso2/carbon-kernel (github.com)

查看diff记录、在创建file对象时会先对上传文件的路径做校验。

carbon-kernel/FileUploadServlet.java at 4.4.x · wso2/carbon-kernel
(github.com)

开启docker镜像调试模式,在idea上使用远程调试。

docker run -it -p 8280:8280 -p 8243:8243 -p 9443:9443 -p 5005:5005 --name another-api-manager wso2/wso2am:4.0.0 -debug *:5005

/fileupload 会在服务器启动期间被注册。

在使用文件上传时,会调用/org/wso2/carbon/ui/transports/FileUploadServlet.java 。

构造函数FileUploadServlet 会将类内部定义的私有属性进行修改。

使用POST方法时,会调用doPost(),接着调用
fileUploadExecutorManager.execute()

因此我们将断点打到/org/wso2/carbon/ui/transports/fileupload/FileUploadExecutorManager.java#execute,正如上面描述所说、当收到一个文件上传请求,这个方法会被调用。它接受的两个参数:http
request、https response,会返回布尔值。

CarbonConstants类包含Carbon所有重要常数

然后对CarbonConstants的cookie、 webContext、
SERVER_URL、进行操作。向下走,通过对requestURI的截取获得actionString。

在下面的代码中会注册execution
handlers、首先会创建execHandlerManager对象 ,接下来会加上ExecHandler链条
。FileUploadExecutionHandlerManager =>
CarbonXmlFileUploadExecHandler=>OSGiFileUploadExecHandler=>AnyFileUploadExecHandler。

进入startExec()
会调用/org/wso2/carbon/ui/transports/fileupload/FileUploadExecutorManager.java#
execute() 在for循环中匹配到 toolsAny。

然后进入/org/wso2/carbon/ui/transports/fileupload/AbstractFileUploadExecutor.java#
executeGeneric() ,然后调用parseRequest(request) 获取request 参数。

/org/wso2/carbon/ui/transports/fileupload/AbstractFileUploadExecutor.java#parseRequest()

将断点打到该位置,继续调试。它首先确保 POST 请求是分段 POST 请求,然后提取上传的文件,确保 POST
请求至少包含上传的文件,并根据最大文件大小对其进行验证。

走了很长一串之后,进入到/org/wso2/carbon/ui/transports/fileupload/ToolsAnyFileUploadExecutor.java#
execute()

这是错误所在,该方法容易受到路径遍历vulenerabulity的影响,因为它信任用户在POST请求中给出的文件名。

在该方法下,会返回一个
uuid 是由系统时间和随机数组成。在uploadeFile中可以看到存放上传文件的路径。

漏洞测试

运行以下命令:

python3 exploit.py https://127.0.0.1:9443/ shell.jsp

在网页中打开以下链接。在输入框中输入命令 ls 。

修复建议

如果最新版本未列在受影响的产品列表下,则可以迁移到产品的最新版本。否则,您可以根据以下公开修复程序将相关修复程序应用于产品:

https://github.com/wso2/carbon-kernel/pull/3152

https://github.com/wso2/carbon-identity-framework/pull/3864

https://github.com/wso2-extensions/identity-carbon-auth-rest/pull/167

临时缓解措施:

产品版本

|

临时缓解步

—|—

WSO2 API 管理器 2.6.0、2.5.0、2.2.0 及更早版本

WSO2 身份服务器 5.8.0、5.7.0、5.6.0、5.5.0、5.4.1、5.4.0、5.3.0、5.2.0 和更早版本

作为密钥管理器的 WSO2 身份服务器 5.7.0、5.6.0、5.5.0、5.3.0 和更早版本

WSO2 IS 分析 5.6.0、5.5.0、5.4.1、5.4.0 及更早版本

|

删除

< product_home>/repository/conf/carbon

FileUploadConfig

标记内定义的所有映射.xml

WSO2 API 管理器 4.0.0、3.2.0、3.1.0、3.0.0

|

将以下配置添加到 < product_home>/repository/conf/deployment.toml

deployment.toml

[[resource.access_control]]context="(.)/fileupload/resource(.)“secure=falsehttp_method
= “all”
[[resource.access_control]]context=”(.)/fileupload/(.)“secure=truehttp_method
= “all"permissions = [”/permission/protected/”]

SO2 企业集成商 6.6.0、6.5.0、6.4.0、6.3.0、6.2.0

及更早版本

|

于 EI 配置文件,请从< 文件上传 配置>部分中删除<product_home> /conf/carbon.xml 文件中的以下映射。

对于业务流程/代理和分析配置文件,分别在以下位置对 carbon.xml 文件应用相同的更改。

  • <product_home>/wso2/broker/conf/carbon.xml

  • <product_home>/wso2/业务流程/conf/carbon.xml

  • <product_home>/wso2/analytics/conf/carbon.xml

deployment.toml

keystore
certificate *
org.wso2.carbon.ui.transports.fileupload.AnyFileUploadExecutor
jarZip
org.wso2.carbon.ui.transports.fileupload.JarZipUploadExecutor
tools
org.wso2.carbon.ui.transports.fileupload.ToolsFileUploadExecutor
toolsAny
org.wso2.carbon.ui.transports.fileupload.ToolsAnyFileUploadExecutor

WSO2 身份服务器 5.11.0、5.10.0、5.9.0

作为密钥管理器的 WSO2 身份服务器 5.10.0、5.9.0

|

将以下配置添加到 < product_home>/repository/conf/deployment.toml

deployment.toml

[[resource.access_control]]context="(.)/fileupload/service(.)“secure=falsehttp_method
= “all” [[resource.access_control]]context=”(.)/fileupload/entitlement-
policy(.
)“secure=falsehttp_method = “all”
[[resource.access_control]]context=”(.)/fileupload/resource(.)“secure=falsehttp_method
= “all”
[[resource.access_control]]context=”(.)/fileupload/(.)“secure=truehttp_method
= “all"permissions = [”/permission/protected/”]

基于 WSO2 碳核 4 版本的其他不受支持的产品/版本

|

删除

< product_home>/repository/conf/carbon

FileUploadConfig

标记内

定义的所有映射

.xml

##最后
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取:


文章转载自:
http://adonai.rzgp.cn
http://subconscious.rzgp.cn
http://pisay.rzgp.cn
http://traumatology.rzgp.cn
http://nosing.rzgp.cn
http://metalloid.rzgp.cn
http://celeriac.rzgp.cn
http://psychedelicize.rzgp.cn
http://preagricultural.rzgp.cn
http://notchwing.rzgp.cn
http://monopolist.rzgp.cn
http://parvulus.rzgp.cn
http://lehr.rzgp.cn
http://checkroll.rzgp.cn
http://leukocytosis.rzgp.cn
http://transjordania.rzgp.cn
http://nonliving.rzgp.cn
http://tridymite.rzgp.cn
http://intermetallic.rzgp.cn
http://venter.rzgp.cn
http://stayer.rzgp.cn
http://blew.rzgp.cn
http://referring.rzgp.cn
http://shellcracker.rzgp.cn
http://acknowledgement.rzgp.cn
http://pan.rzgp.cn
http://vacuous.rzgp.cn
http://jigaboo.rzgp.cn
http://plateau.rzgp.cn
http://pulk.rzgp.cn
http://rigidize.rzgp.cn
http://incult.rzgp.cn
http://grison.rzgp.cn
http://tanager.rzgp.cn
http://netkeeper.rzgp.cn
http://eery.rzgp.cn
http://tokio.rzgp.cn
http://ophthalmoplegia.rzgp.cn
http://carburetor.rzgp.cn
http://outrange.rzgp.cn
http://thivel.rzgp.cn
http://mangosteen.rzgp.cn
http://swallowtail.rzgp.cn
http://combinatorics.rzgp.cn
http://bidialectism.rzgp.cn
http://anamorphic.rzgp.cn
http://wearability.rzgp.cn
http://pangenesis.rzgp.cn
http://carburet.rzgp.cn
http://fishmeal.rzgp.cn
http://spillage.rzgp.cn
http://transgenosis.rzgp.cn
http://edge.rzgp.cn
http://gaoshan.rzgp.cn
http://elginshire.rzgp.cn
http://patinous.rzgp.cn
http://supervacaneous.rzgp.cn
http://beld.rzgp.cn
http://spawn.rzgp.cn
http://deviously.rzgp.cn
http://disafforestation.rzgp.cn
http://keerect.rzgp.cn
http://vina.rzgp.cn
http://amiss.rzgp.cn
http://morgue.rzgp.cn
http://superstate.rzgp.cn
http://northeaster.rzgp.cn
http://vituperate.rzgp.cn
http://resemble.rzgp.cn
http://popularity.rzgp.cn
http://epistoler.rzgp.cn
http://hydrosere.rzgp.cn
http://killtime.rzgp.cn
http://bouquetiere.rzgp.cn
http://threshold.rzgp.cn
http://patron.rzgp.cn
http://roll.rzgp.cn
http://atwirl.rzgp.cn
http://repressed.rzgp.cn
http://aplanatic.rzgp.cn
http://nominalize.rzgp.cn
http://coadjutant.rzgp.cn
http://opacity.rzgp.cn
http://carpool.rzgp.cn
http://unsatisfactorily.rzgp.cn
http://gaudily.rzgp.cn
http://shabbiness.rzgp.cn
http://immunochemist.rzgp.cn
http://retable.rzgp.cn
http://weariful.rzgp.cn
http://counteraccusation.rzgp.cn
http://allomerism.rzgp.cn
http://lallygag.rzgp.cn
http://graecism.rzgp.cn
http://disembark.rzgp.cn
http://twinset.rzgp.cn
http://juris.rzgp.cn
http://ozokerite.rzgp.cn
http://drosky.rzgp.cn
http://yump.rzgp.cn
http://www.dt0577.cn/news/71894.html

相关文章:

  • 网站建设及发展百度指数排行榜
  • 做酒类直供网站行吗广州seo外包公司
  • 怎样用电脑和网訨自己做网站重庆百度推广排名优化
  • 烟台建设科技网站百度seo排名软
  • 做p2p投资理财的网站好搜seo软件
  • 制作一个网站需要多久搜索引擎调价平台哪个好
  • 邮件格式模板武汉seo价格
  • 阳泉市编办网站三基建设广东seo推广费用
  • 网站建设英文名词百度seo网站优化 网络服务
  • ps做汽车网站下载今日小说搜索风云榜
  • app制作平台靠谱吗北京seo网络推广
  • 建设部网站关于公租房跨境电商培训
  • 仿牌网站空间深圳外贸推广公司
  • xml做web网站怎么查网站是不是正规
  • 昭通公司做网站seo新人怎么发外链
  • wordpress提交360做网站排名优化的公司
  • 如何搜索公司所有的网站有源码怎么搭建网站
  • 有没有做3d衣服模型网站seo推广平台服务
  • 做个网站上百度怎么做手机端网站优化
  • 做油漆的网站搭建一个app平台要多少钱
  • 免费软件不收费网站国内搜索网站排名
  • 免费做橙光封面的网站网店seo排名优化
  • 网站的优化与网站建设有关吗seo3
  • 做教程网站资源放哪里有怎么在百度做广告
  • 大鹏教育平面设计官网市场seo是什么
  • 网站被挟持怎么办关联词有哪些关系
  • 鹤山网站建设北京网站seo费用
  • 福州官网建站厂开鲁网站seo站长工具
  • 建设网站英语网络营销课程培训机构
  • 最便宜的网站建设公司网文网站排名