Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2022-46169 — Exploit für CVE-2022-46169 | Kitploit
Tools/GitHubGitHub/0xn7y/cve-2022-46169
Authentifizierung & AutorisierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and Control
GitHub0xn7y/cve-2022-46169

CVE-2022-46169

Exploit für CVE-2022-46169

Repository anzeigen
12vor 2 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2022-46169

Exploit für CVE-2022-46169 Cacti-Versionen vor 1.2.3

Hier überprüft remote_client_authorized den Hostnamen des Clients in der poller-Tabelle auf einen Eintrag

root@kitploit:~
function remote_client_authorized() {
   // ...
   $client_addr = get_client_addr();
   // ...
   $client_name = gethostbyaddr($client_addr);
   // ...
   $pollers = db_fetch_assoc('SELECT * FROM poller', true, $poller_db_cnn_id);
   foreach($pollers as $poller) {
      if (remote_agent_strip_domain($poller['hostname']) == $client_name) {
         return true;
      // ...

Die Funktion get_client_addr wird verwendet, um die Adresse des Clients zu ermitteln, die vom Angreifer bei der Bestimmung der IP-Adresse manipuliert werden kann. Sie verwendet die IP, um sie in den entsprechenden Hostnamen aufzulösen und prüft, ob die poller-Tabelle einen Eintrag mit diesem Hostnamen enthält, der den Client autorisiert.

root@kitploit:~
<?php
// ...
function get_client_addr($client_addr = false) {
   $http_addr_headers = array(
       // ...
       'HTTP_X_FORWARDED',
       'HTTP_X_FORWARDED_FOR',
       'HTTP_X_CLUSTER_CLIENT_IP',
       'HTTP_FORWARDED_FOR',
       'HTTP_FORWARDED',
       'HTTP_CLIENT_IP',
       'REMOTE_ADDR',
   );

   $client_addr = false;
   foreach ($http_addr_headers as $header) {
      // ...
      $header_ips = explode(',', $_SERVER[$header]);
      foreach ($header_ips as $header_ip) {
         // ...
         $client_addr = $header_ip;
         break 2;
      }
   }
   return $client_addr;
}

Das Ändern des Request-Headers ermöglicht es uns, die Authentifizierung zu umgehen.

Und hier wird nicht bereinigte Benutzereingabe verwendet, um einen externen Befehl auszuführen.

root@kitploit:~
// ... retrieve poller items from database ...

foreach($items as $item) {
   switch ($item['action']) {
   // ...
   case POLLER_ACTION_SCRIPT_PHP: /* script (php script server) */
      // ...
      $cactiphp = proc_open(read_config_option('path_php_binary') . ' -q ' . $config['base_path'] . '/script_server.php realtime ' . $poller_id, $cactides, $pipes);

Behebung

Authentifizierungsumgehung

Konfigurieren, welche HTTP-Header bei der Bestimmung der IP-Adresse eines Clients verwendet werden sollen.

Empfehlung

Da der poller_id-Wert als Integer benötigt wird, validieren Sie ihn, bevor er an proc_open übergeben wird.

Tool herunterladen