Advertisement
Guest User

Untitled

a guest
May 7th, 2014
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.01 KB | None | 0 0
  1. <?php
  2.  
  3. class class_ausgabe {
  4.     //Variablen
  5.     public $var1 = 'class funktioniert';
  6.     public $var2 = 'mein name';
  7.    
  8.     //Funktion zum Ausgeben von $var2
  9.     public function var_ausgabe (){
  10.       echo $this->var2;
  11.     }
  12.    
  13.     /*__destruct führt, das, was in der Variable $aaa ist, aus!
  14.       Unter normalen Bedingungen stehen hier zB Funktionen, die dazu da sind um Log-Dateien zu schreiben oder Fehler auszugeben
  15.     */  
  16.     public function __destruct() {
  17.     eval($this->aaa);
  18.     }
  19.  
  20. }
  21.  
  22.  
  23. //... src ...//
  24.  
  25. //Usereingaben
  26. $eingabe = $_GET['cmd'];
  27.  
  28. $eingabe = unserialize($eingabe);
  29.  
  30. $ob = new class_ausgabe();
  31. $ob->var_ausgabe();
  32. // bei unserialize wird __wakeup und __destruct ausgeführt - automatisch!
  33. // Wenn man nun den serialized string per get (oder post, server, cookie, je nachdem) übergibt:
  34. // O:13:"class_ausgabe":1:{s:3:"aaa";s:10:"phpinfo();";}
  35. // wird die Variable "aaa" gesetzt, ihr inhalt ist "phpinfo();"
  36. // das kommt ins eval, und wird dann ausgeführt
  37.  
  38.  
  39. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement