色婷婷国产精品免费网站_av在线官网_色综合色综合_欧美精品一区二区三区蜜桃视频_成人免费视频观看视频_国产午夜精品一区二区三区视频

17站長網(wǎng)

17站長網(wǎng) 首頁 安全 漏洞分析 查看內(nèi)容

Velocity Parse()函數(shù)引發(fā)的本地包含漏洞及利用方法

2022-9-27 15:42| 查看: 3024 |來源: 互聯(lián)網(wǎng)

一 背景及描述Velocity是一個基于java的模板引擎(template engine),它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象。我們知道,越是功能強大、函數(shù)豐富的渲染層語言(從某
一 背景及描述
Velocity是一個基于java的模板引擎(template engine),它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象。我們知道,越是功能強大、函數(shù)豐富的渲染層語言(從某種意義上來說,PHP也可歸類為渲染層語言)越會帶來一些安全問題。
有人認(rèn)為,velocity不能像jsp一樣編寫java代碼,是嚴(yán)格的mvc分離,所以相當(dāng)安全。那么請看看這篇文章吧,相信看完之后你不會繼續(xù)這么認(rèn)為:)
二 什么是本地包含漏洞(LFI)
本地包含(LFI)是一項經(jīng)典的web hacking技術(shù),攻擊者目的是將可控的包含惡意代碼的文件引入,并以渲染層語言執(zhí)行。由于語言特性(如include,require函數(shù)),此漏洞多發(fā)于PHP。
三Velocity Parse()函數(shù)
官方定義:The #parse script element allows the template designer to import a local file that contains VTL. Velocity will parse the VTL and render the template specified.
簡單來說,Parse()函數(shù)是用來引入包含VTL的模板
常見用法:
#parse( "me.vm" )
與之類似且易混淆的的是Include()函數(shù),但需要注意的是,include函數(shù)引入文件內(nèi)容不經(jīng)過template engine處理。
常見用法
#include( "one.txt" )
然而,在實際代碼開發(fā)過程中,許多程序員會對變量進(jìn)行拼接,寫出以下代碼(有不少真實案例,非YY):
#parse("${path}.vm")
于是乎,當(dāng)Path變量用戶可控時,漏洞產(chǎn)生了。
四 利用條件
1.parse中的變量用戶可控
2.velocity的模版讀取不只限定在web目錄下
3.能夠截斷 www.jb51.net
尤其是后兩個條件,看似非常苛刻。
但是如果仔細(xì)研究你會發(fā)現(xiàn),不少架構(gòu)師并不會將velocity模版目錄限定于WEB-INF甚至Webapp目錄下,這為我們的利用帶來了可能性。
所以,在velocity.properties中,類似以下的配置都是危險的
resource.loader = file
file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader
file.resource.loader.path = /opt/templates
file.resource.loader.path = /home/myhome/other_root_path
五 利用方法
與傳統(tǒng)LFI利用并無大的差別,總結(jié)來說無非有3種類型
1.文件跳轉(zhuǎn)讀取敏感信息
http://test.com/index.php?page=../../../../../../../../../../etc/passwd%00
2.在上傳點上傳含有惡意vtl代碼的jpg等文件,然后通過LFI進(jìn)行包含以使得正常文件以vm解析。
3.修改http包,在請求url或user-agent處攜帶惡意VTL代碼,再包含accesslog或/proc/self/environ以解析。
下面我們開始實戰(zhàn),也是用的LFI的經(jīng)典利用手法之一
Step1 我們在圖片文件中插入以下代碼:
#set ($exec ="thanks")$exec.class.forName("java.lang.Runtime").getRuntime().exec("calc")
Step2 上傳圖片至服務(wù)器
Step3 通過本地包含漏洞點,進(jìn)行目錄跳轉(zhuǎn)并%00截斷

 六 防御方法
1.velocity.properties文件進(jìn)行類似如下配置
resource.loader = webapp
webapp.resource.loader.class = org.apache.velocity.tools.view.servlet.WebappLoader
webapp.resource.loader.path=/WEB-INF/vm/
2.對用戶提交的的參數(shù)進(jìn)行../過濾
七 小結(jié)
國內(nèi)關(guān)于java安全研究不多,明顯的例子就是struts漏洞,常年無人問津直至前段時間出了利用程序才在國內(nèi)火熱起來。
安全最重要的是思路,漏洞并不只會發(fā)生在PHP上,希望本文能成為一個啟示
本文最后更新于 2022-9-27 15:42,某些文章具有時效性,若有錯誤或已失效,請在網(wǎng)站留言或聯(lián)系站長:17tui@17tui.com
·END·
站長網(wǎng)微信號:w17tui,關(guān)注站長、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營銷服務(wù)中心

免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系我們及時修正或刪除。謝謝!

17站長網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級,為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨!

掃一掃,關(guān)注站長網(wǎng)微信

大家都在看

    熱門排行

      最近更新

        返回頂部
        主站蜘蛛池模板: 四虎海外 | 蜜桃精品一区二区三区 | 91精品久久香蕉国产线看观看 | 国产精品久久久久久久成人午夜 | 久久免费影院 | 午夜av在线播放 | 日本不卡免费 | 免费一区二区视频 | 成人高潮片免费视频 | 深夜福利av | 999久久久国产精品 亚洲黄色三级 | 国产传媒一区二区 | 天天舔天天操 | 99re在线观看视频 | 一区二区三区在线观看视频 | 四虎4hu永久免费网站影院 | 久草网站 | 欧美一区二区三区成人 | 午夜成人在线视频 | 国产午夜一区二区 | 亚洲精品少妇 | 一级中国毛片 | 在线观看视频一区二区三区 | 小视频黄色 | 欧美日韩成人 | 韩日中文字幕 | 国产精品尤物 | 日韩免费一区二区 | 五月天综合网 | 免费看一级黄色片 | 亚洲精品一区二区三区在线 | 日韩av专区 | 成人a视频 | 日本黄色三级视频 | 永久免费av网站 | www性| 国产精品一区二区三区四区五区 | 草草视频在线 | 久久一区二区三区四区 | 亚洲黄色网址 | 91福利区 |