網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

一、struts2 搭建

這幾天為了復現struts2-057的漏洞,自己試著去搭建一下環境,但是以前對JAVA不是太熟悉,進入了知識的盲區,慢慢摸索進行,跳了很多坑,總之還是完成了struts2的環境搭建,這裡總結一下,希望大家少走彎路,有所幫助。

二、struts2 環境說明

系統環境:Windows 7
Web服務器:TOMCAT 9.0(apache-tomcat-9.0.11-windows-x64)
JAVA 環境:JDK1.8(jdk-8u181-windows-x64)
Eclipse 環境:Eclipse-inst-win64
Struts2:struts-2.3.20-all.zip

為了大家方便,我直接把所有的包傳到百度網盤,給大家分享出來,包都是來自官網:

鏈接:https://pan.baidu.com/s/1orpMO2zYHWK2xqsSm510-A 密碼:9nkh

三 、安裝前的說明

安裝的順序為JDK+TOMCAT+Eclipse+Struts2, 這裡的一定要注意JDK和TOMCAT的版本搭配,目前我測試過的位JDK1.8+ TOMCAT9.0 是沒有問題的,在這上面可算栽大跟頭了。所以大家一定要多注意這點。基礎環境的版本很重要。

四 、JDK環境安裝配置

Step1:URL下載鏈接

http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

Step2:安裝過程

JDK安裝很簡單,點擊下一步安裝即可,默認安裝就可以了,這裡需要記住自己的安裝路徑,下面介紹一下JDK的環境變量的配置。

Step3:環境變量

Windows7的電腦屬性----》高級系統設置----》環境變量

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

增加系統變量(不是用戶變量)JAVA_HOME, 變量內容:安裝JDK的路徑,截圖如下

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

配置Path的環境變量,在path環境後面增加JAVA_HOME 內容如下:;%JAVA_HOME%/bin,截圖如下:

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

五、 TOMCAT環境安裝配置

Step1:下載鏈接:

https://tomcat.apache.org/

Step2:下載二進制文件,免安裝

Step3:配置一下環境變量,跟JDK的配置步驟一樣

%TOMCAT_HOME%/bin

Step4:測試一下是否成功,在命令行下執行 startup 啟動tomcat服務器,然後在瀏覽器中輸入:localhost:8080

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

六、Eclipse 安裝

Eclipse的安裝不存在坑,只要正常安裝即可,但是必須之前安裝JDK和TOMCAT, Eclipse本身就是一個編譯器,為了更加高效的開發。

七 、struts環境的部署

Struts2是一個基於MVC設計模式的Web應用框架,它本質上相當於一個servlet,在MVC設計模式中,Struts2作為控制器(Controller)來建立模型與視圖的數據交互。

Step1:下載Strust2 URL地址:https://archive.apache.org/dist/struts/

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

Step2:Eclipse 創建一個dynamic web project

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

step3:配置項目創建

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

八、 struts工作流程

其實用最簡單的七個步驟:

 1:客戶端在瀏覽器中輸入一個url地址;
2:這個url請求通過http協議發送給tomcat;
3:tomcat根據url找到對應項目裡面的web.xml文件;
4:在web.xml裡面會發現有struts2的配置;
5:然後會找到struts2對應的struts.xml配置文件;
6:根據url解析struts.xml配置文件就會找到對應的class;
7:調用完class返回一個結果result,根據struts.xml返回到對應的jsp;

具體文檔可以參考:https://blog.csdn.net/liuyinghui523/article/details/48290625

九、 struts的一個案例

struts2 案例中,分為了 導入struts2的基礎包和引用、配置web.xml 、創建Action和struts.xml 和創建視圖result.jsp。具體的步驟為:

step1: 導入struts2的基礎包

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

step2:修改一下web.xml 文件



helloworld


struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter




struts2
/*


index.jsp


step3:創建一個方法Action

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

step4:配置helloworld的java文件如下:

package com.imooc.action;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport {
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("執行Action");
return SUCCESS;
}

}
網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

step5:創建一個視圖文件result.jsp 文件

 pageEncoding="UTF-8"%>




Insert title here


this is result.jsp


step6:進行測試

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例

網絡安全知攻曉防:Struts2-057 漏洞環境搭建+案例


分享到:


相關文章: