Psc_log andauernd bereits eingelöst, Hilfe!

11/06/2014 13:59 Rivaa#1
Hallo,

Ich leite einen P-Server und dort kommen natürlich täglich Psc's rein.

Nun mein Anliegen... Immer, wenn ich nachschauen will, ob noch guthaben verfügbar ist, steht auf der Seite von Pasafecard, das die Psc's berreits auf MyPaysafecard eingelöst worden sind.

Ich dachte mir bei den ersten 1-3, das die Leute sie wahrscheinlich selbst einlösen, jedoch habe ich dann auch mal versucht selbst zu spenden, habe natürlich vorher geschaut ob noch guthaben drauf ist, war alles da, jedoch nachdem ich gespendet habe war die Psc nach 1-2 Minuten auf MyPaysafecard eingelöst....

Ich weiß nun nicht woran das liegen könnte... Ich habe mal gehört, das man den Psc_Log infizieren kann oder soetwas in der Art... das Glaube ich aber weniger, liegt es vielleich am Scrippt?

Hier der Scrippt...

PHP Code:
<div id="left_top">    <p><center><span style='color: #CC3333; font-weight: lighter;'>Coins kaufen</p></div>
<div id="left_content">
<p>
<center>
<?PHP
  
if(isset($_SESSION['user_admin']) && checkInt($_SESSION['user_admin']) && $_SESSION['user_admin']>=0) {
  
  
$maxStunde 10;
  
$aZeit = array(
    
'tag' => date("j",time()),
    
'monat' => date("n",time()),
    
'jahr' => date("Y",time()),
    
'stunde' => date("G",time())
  );
  
  
$cmdAnz "SELECT COUNT(*) AS anzEintraege FROM ".SQL_HP_DB.".psc_log WHERE DAY(datum)='".$aZeit['tag']."' AND MONTH(datum)='".$aZeit['monat']."' AND YEAR(datum)='".$aZeit['jahr']."' AND HOUR(datum)='".$aZeit['stunde']."' LIMIT 1";
  
$qryAnz mysql_query($cmdAnz,$sqlHp);
  
$getAnz mysql_fetch_object($qryAnz);
  
  if(
$getAnz->anzEintraege<$maxStunde) {
    
    if(isset(
$_POST['getcoins']) && $_POST['getcoins']=="beantragen"
    {
    
      
      if(
checkVoucher($_POST['voucher']) && checkInt($_POST['betrag']) && $kartenTypen[$_POST['cardTyp']] && $waehrungen[$_POST['waehrung']] && $_POST['captcha']==$_SESSION["captcha_id"])
      {
        
$cardVoucher mysql_real_escape_string($_POST['voucher']);
        
$cardVoucher str_replace('-','',$cardVoucher);
        
$cardBetrag mysql_real_escape_string($_POST['betrag']);
        
$cardWaehrung mysql_real_escape_string($_POST['waehrung']);
        
$cardTyp mysql_real_escape_string($_POST['cardTyp']);
        
$cardPasswort mysql_real_escape_string($_POST['voucherpass']);
        
$kommentar mysql_real_escape_string($_POST['kommentar']);
        
        
$cmdCheck "SELECT id FROM ".SQL_HP_DB.".psc_log WHERE psc_code='".$cardVoucher."'";
        
$qryCheck mysql_query($cmdCheck,$sqlHp);
        
        if(
mysql_num_rows($qryCheck)>0) {
          echo
'<p class="meldung">Die Spende wurde erfolgreich abgegeben. Als Dank für die Spende werden Ihnen demnächst Coins gutgeschrieben. </p>';
        }
        else {
        
          
$sqlCmd sprintf("INSERT INTO ".SQL_HP_DB.".psc_log (account_id,card_type,waehrung,psc_code,psc_betrag,psc_pass,status,kommentar,datum) VALUES ('%s','%s','%s','%s','%s','%s',0,'%s','%s')",
            
$_SESSION['user_id'],
            
$cardTyp,
            
$cardWaehrung,
            
$cardVoucher,
            
$cardBetrag,
            
$cardPasswort,
            
$kommentar,
            
$sqlZeit
           
);
    
          
$qryRequest mysql_query($sqlCmd,$sqlHp);
          if(
$qryRequest
          {
            echo
'<p class="meldung">Die Spende wurde erfolgreich abgegeben. Als Dank für die Spende werden Ihnen demnächst Coins gutgeschrieben. </p>';
          }
          else 
          {
            echo
'<p class="meldung">Die Spende wurde erfolgreich abgegeben. Als Dank für die Spende werden Ihnen demnächst Coins gutgeschrieben.</p>';
          }
          
        }
        
      }
      else
      {
        echo
'<p class="meldung">Es wurden Falscheingaben gemacht. Bitte füllen Sie das Formular noch ein mal korrekt aus.</p>';
      }
    
    }
  
  
?>
            <table width="168" border="0">
  <tr>
    <td width="84" class="topLine"><center><span style='color: #CC3333; font-weight: lighter;'>10 Euro -></td>
    <td width="74" class="tdunkel"><center><span style='color: #003399; font-weight: lighter;'>250 IngameCoins</td>
  </tr>
  <tr>
    <td class="topLine"><center><span style='color: #CC3333; font-weight: lighter;'>25 Euro -></td>
    <td class="tdunkel"><center><span style='color: #003399; font-weight: lighter;'>750 IngameCoins</td>
  </tr>
  <tr>
    <td class="topLine"><center><span style='color: #CC3333; font-weight: lighter;'>50 Euro -></td>
    <td class="tdunkel"><center><span style='color: #003399; font-weight: lighter;'>1875 IngameCoins</td>
  </tr>
  <tr>
    <td class="topLine"><center><span style='color: #CC3333; font-weight: lighter;'>100 Euro -></td>
    <td class="tdunkel"><center><span style='color: #003399; font-weight: lighter;'>5000 IngameCoins</td>
  </tr>
</table>
<br><br>
    <p class="meldung"><b><center><span style='color: #CC3333; font-weight: lighter;'>Achtung!</b><center><span style='color: #CC3333; font-weight: lighter;'>Fehlerhafte Eintragungen/Spam werden geahndet.</p>
    <form action="?s=spenden" method="POST">
      <table class="voucher">
        <tr>
          <th class="topLine"><center><span style='color: #CC3333; font-weight: lighter;'>Voucher-Typ</th>
          <td class="thell">
          <select name="cardTyp">
            <?PHP
            
            
foreach($kartenTypen as $ct => $cto) {
              echo
'<option value="'.$ct.'">'.$cto.'</option>';
            }
            
            
?>
          </select>
        </tr>
        <tr>
          <th class="topLine"><center><span style='color: #CC3333; font-weight: lighter;'>Voucher-Code</th>
          <td class="thell"><input type="text" size="25" maxlength="25" name="voucher"/> Betrag: 
          <select name="betrag">
            <?PHP
            
            
foreach($pscBetraege as $pscs) {
              echo
'<option value="'.$pscs.'">'.$pscs.'</option>';
            }
            
            
?>
          </select>
          &nbsp;
          <select name="waehrung">
            <?PHP
            
            
foreach($waehrungen as $wsh => $wname) {
              echo
'<option value="'.$wsh.'">'.$wname.'</option>';
            }
            
            
?>
          </select></td>
        </tr>
        <tr>
          <th class="topLine"><center><span style='color: #CC3333; font-weight: lighter;'>Voucher-Passwort:</th>
          <td class="tdunkel"><input type="text" size="20" maxlength="20" name="voucherpass"/> (leer lassen, falls keins Vorhanden ist)</td>
        </tr>
        <tr>
          <th class="topLine"><center><span style='color: #CC3333; font-weight: lighter;'>Kommentar (max. 200 Zeichen):</th>
          <td class="thell">
            <input type="text" size="10" maxlength="200" name="kommentar"/> (optional)
          </td>
        </tr>
        <tr>
          <th class="topLine" rowspan="2"><center><span style='color: #CC3333; font-weight: lighter;'>Captcha:</th>
          <td class="tdunkel">
            <input type="text" size="5" maxlength="5" name="captcha"/>
          </td>
        </tr>
        <tr>
          <td class="thell">
            <img src="./captcha/captcha.php" alt="captcha" title="captcha"/>
          </td>
        </tr>
        <tr>
          <td class="tdunkel" colspan="2" style="text-align:center;"><input type="submit" name="getcoins" value="beantragen"/> - <input type="reset"/></td>
        </tr>
      </table>
    </form>
  <?PHP
    
}
    else {
      echo
'<p class="meldung">Zur Zeit kann nicht gespendet werden, da die maximale Anzahl für Spenden pro Stunde erreicht wurde. Bitte versuchen sie es nächste Stunde erneut.</p>';
    }

  }
  else {
    echo
'<p class="meldung">Sie müssen für diesen Bereich angemeldet sein.</p>';
  }
?>
</center>
</p>
   </div>
        <div id="left_foot">    </div>
Ich hoffe mir kann jemand Helfen...

Freundliche Grüße
11/06/2014 15:25 -Zhui-#2
Hast nur du Zugriff auf die Spenden?
11/06/2014 15:29 Zaturix#3
Es können eigentlich nur 2 Sachen sein:

1.Wenn du das Projekt mit einem anderen leitest,kann es natürlich sein das er sie einlöst.

2.Im schlimmsten Fall hast du einen fetten Backdoor.


Gruß

Saints
11/06/2014 15:31 Яeya#4
Ich gehe mal stark von aus , das es kein Zugriff von außen ist.
Es passiert denk ich mal Teamintern , ansonsten mal probieren mit einem anderen coinskaufen skript.
11/06/2014 15:33 Rivaa#5
Nein, niemand hat zugriff außer mir...
11/06/2014 15:40 .Colossus.#6
Forum+HP auf gleichen webspace?
11/06/2014 15:52 Rivaa#7
Ich hatte es mal auf einem gemeinsamen webspace, jedoch seitdem nicht mehr... nur es kommt trotzdem wieder vor -.-
11/06/2014 16:12 .Colossus.#8
Quote:
Originally Posted by Rivaa View Post
Ich hatte es mal auf einem gemeinsamen webspace, jedoch seitdem nicht mehr... nur es kommt trotzdem wieder vor -.-
Solltest mal alle MySQL Passwörter ändern. Des weiteren für die HP ein extra user erstellen
11/06/2014 16:19 Cynaide™#9
Schau mal in der Conf.inc nach ob dort eine e-mail eingetragen ist wo die spenden hin gehen...
11/06/2014 16:25 Rivaa#10
nachgeschaut, ist nichts...
11/06/2014 21:49 *Boris#11
Schau mal in den MySQL Usern nach ob dort vielleicht ein Benutzer drin ist den "DU" nicht eingetragen hast.
11/06/2014 23:08 Fydes#12
PHP Code:
          $sqlCmd sprintf("INSERT INTO ".SQL_HP_DB.".psc_log (account_id,card_type,waehrung,psc_code,psc_betrag,psc_pass,status,kommentar,datum) VALUES ('%s','%s','%s','%s','%s','%s',0,'%s','%s')"
            
$_SESSION['user_id'], 
            
$cardTyp
            
$cardWaehrung
            
$cardVoucher
            
$cardBetrag
            
$cardPasswort
            
$kommentar
            
$sqlZeit 
           
); 
     
          
$qryRequest mysql_query($sqlCmd,$sqlHp); 
          if(
$qryRequest)  
          { 
            echo
'<p class="meldung">Die Spende wurde erfolgreich abgegeben. Als Dank für die Spende werden Ihnen demnächst Coins gutgeschrieben. </p>'
          } 
          else  
          { 
            echo
'<p class="meldung">Die Spende wurde erfolgreich abgegeben. Als Dank für die Spende werden Ihnen demnächst Coins gutgeschrieben.</p>'
          } 
Wir ja in deine Datenbank eingetragen, laut Script. Ich denke, dass Backdoors vorhanden sind.
11/06/2014 23:42 nostradame37#13
Dies komt mir beckant vor den er hatt ja selber eine psc einbezahlt sofern ich es richtig verstanden habe und die sofort weg war.
1: da in deinem script nichts zu sehen ist denke ich das es warscheinlich durch dein PHP mailer gesendet wird. Schalte PHP mailer aus sofern du einen webservr hast somit kanst du ausschliesen das irgent was aus deiner datenbank gesendet wird.

2: Deinen HP-User aendern und ein neues passwort vergeben.
3: den alten HP-User loeschen.
4: deine mysql logs anschauen ob wirklich was gesendet wird.
5 abwarten und Tee trinken.
mfg
11/07/2014 11:21 Mīzu#14
Skype vorhanden?
Wenn ja adde mich mal: schiggixp
11/07/2014 15:00 Rivaa#15
getan...