jsp的文件包含漏洞


jsp的文件包含分靜態包含的動態包含兩種:

靜態包含:<%@include file="top.jsp"%>

動態包含:<jsp:include page="top.jsp" />

兩者的區別我就不贅述了。

就目前了解靜態包含是不存在問題的,因為file的參數不能動態賦值

而動態包含是存在問題的

我們常說的php文件包含有本地文件包含和遠程文件包含兩種

所以我分析java文件包含的時候也是分這兩種情況

1.本地文件包含:
目前我對java的本地文件包含的理解為:造成的危害就只有文件讀取,一般情況下是不能造成命令執行或代碼執行的。php之所以能執行命令是因為包含txt文件,只要txt種的內容符合php程序的格式就能當成php來解析,也就是說攻擊者可能上傳一個一句話木馬后綴是txt,上傳后利用文件包含漏洞包含他就可以了。java則沒有次特征。所以個人認為java的本地文件包含漏洞很難造成代碼執行的漏洞的(當然,要是直接包含一個一句話木馬的jsp文件還是可以執行命令的,問題要是有這樣一個木馬jsp文件,你又知道路徑,為什么不知道訪問呢?),有種特殊情況就是,通過某種手段在服務器上生成了一句話木馬文件但是在特點文件夾下,訪問權限不夠時可以利用此文件包含漏洞包含她。

html>
<head>
<title>測試頁面</title>
</head>
<body>
靜態包含
top.jsp文件
<%@include file="top.jsp"%>
<%@include file="pass.txt"%>
<%@include file="WEB-INF/web.xml"%>
<% String name = request.getParameter("name");%>
動態包含
<jsp:include page="top.jsp" />
<jsp:include page="pass.txt" />
<jsp:include page="WEB-INF/web.xml" />
<jsp:include page="http://www.njuae.cn/index.jsp" />
<%-- <jsp:include page="<%=name%>" />--%>
<%--<jsp:include page="oneword.txt" />--%>

</body>
</html>

2.遠程文件包含:
經測試發現<jsp:include page="http://www.njuae.cn/index.jsp" />能正常包含文件,但是運行時會報錯,不知道為什么,以后再研究,目前看來應該是沒有該漏洞的。

 

--------------------------------------------

<c:import url="http://thief.one/1.jsp">

 采用前兩種方式,只能包含當前web應用的界面,不過c:import可以包含容器之外的內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM