- N +

struts2安全問題(java彈出的安全警告卡死)

各位老鐵們,大家好,今天由我來為大家分享struts2安全問題,以及java彈出的安全警告卡死的相關問題知識,希望對大家有所幫助。如果可以幫助到大家,還望關注收藏下本站,您的支持是我們最大的動力,謝謝大家了哈,下面我們開始吧!

struts2擴展組件是什么管理

在Struts應用的視圖中包含JSP,客戶化標簽兩個組件。Struts是一種基于MVC經典設計模式的開放源代碼的應用框架,也是目前Web開發中比較成熟的一種框架。通過把Servlet、JSP、JavaBean、自定義標簽和信息資源整合到一個統一的框架中,為Web開發提供了具有高可配置性的MVC開發模式。Struts體系結構實現了MVC設計模式的概念,它將Model、View和Controller分別映射到Web應用中的組件。Model由代表系統狀態和商業邏輯Action來構建,View是由JSP和struts提供的自定義標簽來實現,Controller負責控制流程,由ActionServlet和ActionMapping來完成。

你會擔心云服務器安全嗎

會有危險

我的服務器是騰訊云的(1塊錢一個月)的學生服務器,上面跑著我的小博客,今年八月完成了服務器的docker化,用nginx-proxy完成反向代理和套https。我今天dump下了它的日志,準備看一下日志中有多少有趣的東西。

日志文件的大小足足有16M大,也許幾張高清大圖的大小遠超16M,但是這可是純文本文件啊。為了分析方便我使用腳本將日志文件分字段拆分插入了mariadb數據庫,方便以后分析查詢。

由于使用了nginx-proxy容器作為反向代理,只有以正確的域名訪問我的服務器才會得到正確的響應,通過ip訪問或者通過錯誤的域名訪問統統503。沒想到這個不太刻意的設置居然成了我的服務器的第一道防火墻。

把服務器日志導入數據庫,大概濾掉正常的請求,首先看到的是師傅們掃目錄的記錄。

這些請求全部來自一個香港的IP(大概是個vps),這些大概是掃描服務器中的webshell(webshell是可以通過web直接操作服務器的后門,可以說是一種木馬),也有的是掃描wp-config.php這樣的WordPress配置文件,一般沒有什么危害,只是作為信息收集。

繼續往下看我們發現了更有趣的東西:

有4834條記錄與phpmyadmin的掃描有關。我們知道phpmyadmin是一個很好用的類MySQL數據庫的管理前端,很多學藝不精的程序員很喜歡用它管理數據庫,大大咧咧的把它放在了根目錄,再配以祖傳的弱密碼。被拖庫只是時間和運氣問題。這些流量有來自香港,福建,也有北京。

是不是所有掃描都是那么簡單粗暴呢,并沒有,我們注意了這位師傅的掃描記錄:

風格一改其他師傅簡單粗暴的風格,懷著好奇心我們搜尋了一下這些請求背后的故事。

第一個payload針對的是織夢cms(Dedecms)的任意文件上傳漏洞,這已經是一個老漏洞了,黑客可以利用這個漏洞上傳webshell木馬什么的,最終控制服務器。

第三個payload(xycms)針對的是xycms咨詢公司建站系統的漏洞(都不能叫漏洞了),直接把數據庫放在了web目錄下,真正實現一鍵拖庫。

(廠商忽略此漏洞可真是太蠢了)

下一個漏洞又是織夢cms的,就是那個download.php和ad_js的。這是一個2013年的高危漏洞,因為變量未被正確初始化,黑客可以通過一套花里胡哨的操作執行sql注入,并且還能通過一個程序把數據庫中的內容寫入文件,最終通過一套連環操作在服務器中留下后門。

下一個是個新漏洞,這個高危漏洞今天7月才被爆出,可以遠程執行代碼,來自ModxRevolution

漏洞全來自php?并沒有,我們注意到這樣一條記錄:

此攻擊針對的是巨硬家IIS6.0的一個安全漏洞,這是一個利用緩存區溢出的高危漏洞,可以導致遠程代碼執行。

還有一些利用Weblogic的新洞(CVE-2018-3252),ApacheStruts2的漏洞(CVE-2017-5638)的payload我在這里就不再列舉了。當然當然,最有意思的還屬最后一個payload:

這個payload罕見的附上了用戶名,我們在網上搜索和這個payload相關信息的時候發現,這并不是一個針對服務器的攻擊payload,而是針對一些物聯網設備,比如說……攝像頭。

hi3510是海思公司推出的一款視頻壓縮芯片,主要用于攝像頭,我們找到了一份IPCameraCGI的應用指南,找到了相對應的命令用法:

但是我們并沒有在網上搜索到相關的漏洞,但是發現很多網站的日志中都存在這條記錄

所以這極有可能是一個還沒有公開的,物聯網中攝像頭中存在的漏洞。所以,有師傅日了攝像頭當肉雞看起來并不是傳言。

然而,上面分析的這些,也只是黑客黑產冰山上的小冰渣。現實比這要嚴重的多,也許黑客在黑市中販賣著你的隱私,你的服務器,而你卻渾然不知。

什么是Struts框架

這Struts2框架是一個用于開發JavaEE網絡應用程序的開放源代碼網頁應用程序架構。它利用并延伸了JavaServletAPI,鼓勵開發者采用MVC架構。Struts2以WebWork優秀的設計思想為核心,吸收了Struts框架的部分優點,提供了一個更加整潔的MVC設計模式實現的Web應用程序框架。

如何學習Struts2

學習路線

Struts2開發環境搭建

Struts2架構

Struts2HelloWorldStruts2

配置文件

Struts2動作

Struts2攔截器

Struts2結果和結果類型

Struts2值棧OGNL

Struts2文件上傳

Struts2數據庫訪問

Struts2發送電子郵件

Struts2驗證框架

Struts2本地化

Struts2類型轉換

Struts2主題和模板

Struts2異常處理

。。。。。。

WebWork框架開始以Struts框架為基礎,其目標是提供一個加強和改進框架Struts來使web開發的開發人員更容易。

一段時間后,WebWork框架和Struts社區聯手打造的著名的Struts2框架。

Struts2框架的特點:http://codingdict.com/article/5216

這里有一些強大的功能,可能會迫使你考慮Struts2:

POJO表單和POJO動作-Struts2的Struts框架已經擺脫了動作表單組成部分,Struts2可以使用任何POJO接收的形式輸入。同樣現在可以看到任何POJO作為一個Action類。標簽支持-Struts2中,提高了表單標簽和新標簽允許開發人員編寫更少的代碼。AJAX支持-Struts2中已確認由Web2.0技術接管,并整合到產品中,通過創建AJAX標簽,功能非常相似的標準Struts2標簽AJAX支持。易于整合-Struts2集成各種整合與其他框架如Spring,Tiles和SiteMesh是現在更容易。模板支持-支持生成使用模板。插件支持-可以提高核心Struts2的特性,并增強使用插件。大量的插件可供Struts2。性能分析-Struts2的分析,調試和分析應用程序提供了集成。除此之外,Struts還提供了集成的內置調試工具調試。易于修改標簽-Struts2的標簽標注,可以調整使用Freemarker的模板。這并不需要JSP或Java知識。基本HTML,XML和CSS知識是足夠修改標簽。提倡少配置-Struts2促進較少的配置的幫助下,使用默認的各種設置值。不必配置的東西,除非它不符Struts2的默認設置。視圖技術-Struts2中有一個很大的支持多個視圖選項(JSP,Freemarker,Velocity和XSLT)

以上只是Struts2的十大功能,這使得它是企業公司級應用框架。

Struts2的缺點:

雖然Struts2的配備了一個偉大的功能列表,但我不會忘記提及關于Struts2一些缺點,將需要大量的改進措施:

更大的學習曲線-要使用MVC與Struts,你必須是習慣使用標準的JSP,ServletAPI和大量精心設計的框架。欠佳的文檔-Struts有標準的servlet和JSPAPI的相比,更少的在線資源,許多用戶第一時間發現網上Apache文檔混亂和管理不善的組織。較少透明度-Struts應用程序中,有很多幕后比正常的基于Java的Web應用程序,這使得它很難理解的框架。

最后一點,一個好的框架應該提供通用的特性,許多不同類型的應用程序,可以利用它。Struts2是一個最好的網絡架構和高度被用于開發富Internet應用程序(RIA)。

struts2版本如何查看

struts的版本信息查看方法:

查看struts.jar\META-INF\MANIFEST.MF。再查看Implementation-Version,看后面的數字,也就是下列代碼中的Implementation-Version:1.2.7

Manifest-Version:1.0

Specification-Title:StrutsFramework

Class-Path:commons-beanutils.jarcommons-collections.jarcommons-dig

ester.jarcommons-fileupload.jarcommons-logging.jarcommons-validato

r.jarjakarta-oro.jar

Created-By:1.3.1_04-b02(SunMicrosystemsInc.)

Ant-Version:ApacheAnt1.6.1

Implementation-Title:StrutsFramework

Specification-Version:1.2.7

Specification-Vendor:TheApacheSoftwareFoundation

Implementation-Vendor-Id:org.apache

Extension-Name:StrutsFramework

Implementation-Version:1.2.7

Implementation-Vendor:TheApacheSoftwareFoundation

好了,文章到此結束,希望可以幫助到大家。

返回列表
上一篇:
下一篇: