當(dāng)前位置:首頁 >  站長(zhǎng) >  編程技術(shù) >  正文

PHP$O00OO0=urldecode&eval 解密記一次商業(yè)源碼的去后門

 2020-10-30 13:33  來源: 腳本之家   我來投稿 撤稿糾錯(cuò)

  阿里云優(yōu)惠券 先領(lǐng)券再下單

最近看到如下的php代碼$O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");等很長(zhǎng)的代碼,這里給出破解方法,需要的朋友可以參考下

代碼如下:

$O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$O00O0O=$O00OO0{3}.$O00OO0{6}.$O00OO0{33}.$O00OO0{30};$O0OO00=$O00OO0{33}.$O00OO0{10}.$O00OO0{24}.$O00OO0{10}.$O00OO0{24};$OO0O00=$O0OO00{0}.$O00OO0{18}.$O00OO0{3}.$O0OO00{0}.$O0OO00{1}.$O00OO0{24};$OO0000=$O00OO0{7}.$O00OO0{13};$O00O0O.=$O00OO0{22}.$O00OO0{36}.$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30};eval($O00O0O("JE8wTzAwMD0iU1p6QXBDSHR4UlVHd2dRdk5CVHlvUHFKaklPbWVpcmZGY2RsS3VuYmhXWVZYYUVrTE1Ec2dHRE1XZXNkbmJ2eW1FUkNJT0ZOVFpydHV6S0JQZmtvSHBRWGx3U2NKWXhqaUxVVmhBcWFacTltTHNNbEdZSVRjTk1WaTFJSHZYR0h2WGFTdlZqSUYxYkhpMEhVYkh6U2lnTXd6WG5OaXk0ZkttV1h4MkpDemVib3YwamdqVmpnWU5RRmJqdFlianRvRlZISWJnUVFLbVQvWkU9PSI7ZXZhbCgnPz4nLiRPMDBPME8oJE8wT08wMCgkT08wTzAwKCRPME8wMDAsJE9PMDAwMCoyKSwkT08wTzAwKCRPME8wMDAsJE9PMDAwMCwkT08wMDAwKSwkT08wTzAwKCRPME8wMDAsMCwkT08wMDAwKSkpKTs="));

借用 javascript eval 解密思路 將 eval 替換成 echo, 將 echo 得到的內(nèi)容覆蓋掉 eval 的內(nèi)容

$O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$O00O0O=$O00OO0{3}.$O00OO0{6}.$O00OO0{33}.$O00OO0{30};$O0OO00=$O00OO0{33}.$O00OO0{10}.$O00OO0{24}.$O00OO0{10}.$O00OO0{24};$OO0O00=$O0OO00{0}.$O00OO0{18}.$O00OO0{3}.$O0OO00{0}.$O0OO00{1}.$O00OO0{24};$OO0000=$O00OO0{7}.$O00OO0{13};$O00O0O.=$O00OO0{22}.$O00OO0{36}.$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30};$O0O000="SZzApCHtxRUGwgQvNBTyoPqJjIOmeirfFcdlKunbhWYVXaEkLMDsgGDMWesdnbvymERCIOFNTZrtuzKBPfkoHpQXlwScJYxjiLUVhAqaZq9mLsMlGYITcNMVi1IHvXGHvXaSvVjIF1bHi0HUbHzSigMwzXnNiy4fKmWXx2JCzebov0jgjVjgYNQFbjtYbjtoFVHIbgQQKmT/ZE==";eval('?>'.$O00O0O($O0OO00($OO0O00($O0O000,$OO0000*2),$OO0O00($O0O000,$OO0000,$OO0000),$OO0O00($O0O000,0,$OO0000))));

繼續(xù)替換 eval 內(nèi)容,得帶如下代碼,然后在瀏覽器中查看源碼即可

<?php
$O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$O00O0O=$O00OO0{3}.$O00OO0{6}.$O00OO0{33}.$O00OO0{30};$O0OO00=$O00OO0{33}.$O00OO0{10}.$O00OO0{24}.$O00OO0{10}.$O00OO0{24};$OO0O00=$O0OO00{0}.$O00OO0{18}.$O00OO0{3}.$O0OO00{0}.$O0OO00{1}.$O00OO0{24};$OO0000=$O00OO0{7}.$O00OO0{13};$O00O0O.=$O00OO0{22}.$O00OO0{36}.$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30};
?><?php
echo $_SERVER['REMOTE_ADDR'] ."\r\n";
echo $_SERVER['SERVER_NAME'];
?>

代碼已經(jīng)被解出來了

這份商業(yè)源碼還留有兩個(gè)后門, 都存在于加密文件中

一個(gè)的思路是每天首次訪問網(wǎng)站時(shí), 向授權(quán)服務(wù)器發(fā)請(qǐng)求, 檢查網(wǎng)站是否在授權(quán)列表, 如果不存在則刪除某個(gè)加密文件 (后臺(tái)登陸文件)

另一個(gè)思路是后臺(tái)登陸文件繼承自 Think 基類, 沒有登陸權(quán)限的校驗(yàn), 有一個(gè)方法, 可以列出所有管理用戶, 可以更改任意用戶的密碼.

沒有用擴(kuò)展的加密都是偽加密??!

腳本之家小編補(bǔ)充:最后通過源碼方式查看就可以獲取代碼了

$O00OO0=urldecode 解密

微盾類似解密,一般都以

<?php $O00OO0=urldecode("%6E1%7A%62%2……; ?>

形式出現(xiàn),記錄下步驟:

示例:

$O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$O00O0O=$O00OO0{3}.$O00OO0{6}.$O00OO0{33}.$O00OO0{30};$O0OO00=$O00OO0{33}.$O00OO0{10}.$O00OO0{24}.$O00OO0{10}.$O00OO0{24};$OO0O00=$O0OO00{0}.$O00OO0{18}.$O00OO0{3}.$O0OO00{0}.$O0OO00{1}.$O00OO0{24};$OO0000=$O00OO0{7}.$O00OO0{13};$O00O0O.=$O00OO0{22}.$O00OO0{36}.$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30};eval($O00O0O("JE8wTzAwMD0iV0FLQ1JIbHdPdnh0cmRHVUxFbmFOSlBlamZGUXpaTUJjc29nSXVrYnBxWFR5bVZoU2lEWVpKUXlvaURPZEZXblBZdFV2U2xmVEJleEt6a0dxVmhFSHdnTVhDdUFyUmFqTE5tcGJjSXNlSTlPZmlKVHlNdVR5TkROUXlvem8wbVVaTEJyVnlCWWVqMGN4Wm1xWGNEN0JpTTlYTmtxSExYQ1hObUxZeVg3WHlvNFF5b3pVUzlqbWt3Y3h0azRYRDByZDJtNGZhR2dRam45SUdnVHlLOCtYSjBRIjtldmFsKCc/PicuJE8wME8wTygkTzBPTzAwKCRPTzBPMDAoJE8wTzAwMCwkT08wMDAwKjIpLCRPTzBPMDAoJE8wTzAwMCwkT08wMDAwLCRPTzAwMDApLCRPTzBPMDAoJE8wTzAwMCwwLCRPTzAwMDApKSkpOw=="));

<?php
$O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");//n1zb/ma5vt0i28-pxuqy*6lrkdg9_ehcswo4+f37j
echo '第一步生成:',$O00OO0;
echo '<br /><br />********************************************************<br /><br />';
 
$O00O0O=$O00OO0{3}.$O00OO0{6}.$O00OO0{33}.$O00OO0{30};
$O0OO00= $O00OO0{33}.$O00OO0{10}.$O00OO0{24}.$O00OO0{10}.$O00OO0{24};
$OO0O00=$O0OO00{0}.$O00OO0{18}.$O00OO0 {3}.$O0OO00{0}.$O0OO00{1}.$O00OO0{24};
$OO0000=$O00OO0{7}.$O00OO0{13};
$O00O0O.=$O00OO0{22}.$O00OO0 {36}.$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30};
echo '第二步生成:',$O00O0O;
echo '<br /><br />********************************************************<br /><br />';
 
//上面解出來 $O00O0O=base64_decode;
//即然 $O00O0O=base64_decode那么把下面的代碼改一下,eval是用來執(zhí)行php代碼,這里不需要執(zhí)行,只需要解出php代碼即可,那么去掉eavl 并把$O00O0O換成上面解出來的值
//eval ($O00O0O ("JE8wTzAwMD0iV0FLQ1JIbHdPdnh0cmRHVUxFbmFOSlBlamZGUXpaTUJjc29nSXVrYnBxWFR5bVZoU2lEWVpKUXlvaURPZEZXbl BZdFV2U2xmVEJleEt6a0dxVmhFSHdnTVhDdUFyUmFqTE5tcGJjSXNlSTlPZmlKVHlNdVR5TkROUXlvem8wbVVaTEJyVnlCWWVqMG N4Wm1xWGNEN0JpTTlYTmtxSExYQ1hObUxZeVg3WHlvNFF5b3pVUzlqbWt3Y3h0azRYRDByZDJtNGZhR2dRam45SUdnVHlLOCtYSj BRIjtldmFsKCc/PicuJE8wME8wTygkTzBPTzAwKCRPTzBPMDAoJE8wTzAwMCwkT08wMDAwKjIpLCRPTzBPMDAoJE8wTzAwMCwkT0 8wMDAwLCRPTzAwMDApLCRPTzBPMDAoJE8wTzAwMCwwLCRPTzAwMDApKSkpOw=="));
//修改后變成
echo '第三步生成:';
echo (base64_decode("JE8wTzAwMD0iV0FLQ1JIbHdPdnh0cmRHVUxFbmFOSlBlamZGUXpaTUJjc29nSXVrYnBxWFR5bVZoU2lEWVpKUXlvaURPZEZXbl BZdFV2U2xmVEJleEt6a0dxVmhFSHdnTVhDdUFyUmFqTE5tcGJjSXNlSTlPZmlKVHlNdVR5TkROUXlvem8wbVVaTEJyVnlCWWVqMG N4Wm1xWGNEN0JpTTlYTmtxSExYQ1hObUxZeVg3WHlvNFF5b3pVUzlqbWt3Y3h0azRYRDByZDJtNGZhR2dRam45SUdnVHlLOCtYSj BRIjtldmFsKCc/PicuJE8wME8wTygkTzBPTzAwKCRPTzBPMDAoJE8wTzAwMCwkT08wMDAwKjIpLCRPTzBPMDAoJE8wTzAwMCwkT0 8wMDAwLCRPTzAwMDApLCRPTzBPMDAoJE8wTzAwMCwwLCRPTzAwMDApKSkpOw=="));
echo '<br /><br />********************************************************<br /><br />';
//上頁那步輸出來代碼為:
/*
$O0O000="WAKCRHlwOvxtrdGULEnaNJPejfFQzZMBcsogIukbpqXTymVhSiDYZJQyoiDOdFWnPYtUvSlfTBexKzkGqVhEHwgMXCuArRajLNmpbcIseI9OfiJTyMuTyNDNQyozo0mUZLBrVyBYej0cxZmqXcD7BiM9XNkqHLXCXNmLYyX7Xyo4QyozUS9jmkwcxtk4XD0rd2m4faGgQjn9IGgTyK8+XJ0Q";
eval('?>'.$O00O0O($O0OO00($OO0O00($O0O000,$OO0000*2),$OO0O00($O0O000,$OO0000,$OO0000),$OO0O00($O0O000,0,$OO0000))));
*/
//同樣,不需要eval,改成echo
$O0O000="WAKCRHlwOvxtrdGULEnaNJPejfFQzZMBcsogIukbpqXTymVhSiDYZJQyoiDOdFWnPYtUvSlfTBexKzkGqVhEHwgMXCuArRajLNmpbcIseI9OfiJTyMuTyNDNQyozo0mUZLBrVyBYej0cxZmqXcD7BiM9XNkqHLXCXNmLYyX7Xyo4QyozUS9jmkwcxtk4XD0rd2m4faGgQjn9IGgTyK8+XJ0Q";
echo '最終代碼是:(這是我用htmlspecialchars函數(shù)把標(biāo)簽轉(zhuǎn)換了)'.htmlspecialchars('?>'.$O00O0O($O0OO00($OO0O00($O0O000,$OO0000*2),$OO0O00($O0O000,$OO0000,$OO0000),$OO0O00($O0O000,0,$OO0000))));
 
?>

上面兩種方法小編測(cè)試了第一種方法,簡(jiǎn)單粗暴。

來源:腳本之家

鏈接:https://www.jb51.net/article/195521.htm

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)文章

  • PHP8的數(shù)據(jù)類型轉(zhuǎn)換-PHP8知識(shí)詳解

    什么是數(shù)據(jù)類型轉(zhuǎn)換?答:數(shù)據(jù)從一個(gè)類型轉(zhuǎn)換成另外一個(gè)類型,就是數(shù)據(jù)類型轉(zhuǎn)換。在PHP8中,變量的類型就是由賦值決定的,也就是說,如果string賦值給$var,然后$var的類型就是string。之后將int值賦值給$var,它將是int類型。列如:在上面的代碼中的“=”不是數(shù)學(xué)里面的“等于”,它是

    標(biāo)簽:
    php教程
  • 在PHP8中檢測(cè)數(shù)據(jù)類型-PHP8知識(shí)詳解

    在PHP8中,可以使用多種方法來檢測(cè)數(shù)據(jù)類型。以下是常用的四種方法:使用gettype()函數(shù)、使用is_*系列函數(shù)、使用get_debug_type()函數(shù)、使用get_class()函數(shù)。一、使用gettype()函數(shù)gettype()函數(shù)返回給定變量的數(shù)據(jù)類型。例如:二、使用is_*系列函數(shù)P

    標(biāo)簽:
    php教程
  • PHP語言優(yōu)勢(shì)-PHP8知識(shí)詳解

    PHP起源于自由軟件,并且得到了不斷的迭代更新,在web開發(fā)領(lǐng)域獨(dú)領(lǐng)風(fēng)騷,得到了廣大使用者的喜愛,PHP作為一款優(yōu)秀的腳本語言,具有以下優(yōu)勢(shì):1、源碼開源:所有的PHP源代碼,你都能從PHP官方網(wǎng)站下載到,可以快速修改和利用。2、完全免費(fèi):你可以從PHP官方網(wǎng)站下載源碼完全免費(fèi),無需支付任何費(fèi)用,直

    標(biāo)簽:
    php教程
  • PHP8的新特性-PHP8知識(shí)詳解

    PHP8是PHP編程語言的一個(gè)主要版本,在2020年11月26日發(fā)布。它引入了許多新特性和改進(jìn),包括以下一些主要特性:1.JIT編譯器:PHP8引入了名為TracingJIT的即時(shí)(Just-In-Time)編譯器。JIT可以將PHP腳本中頻繁執(zhí)行的部分編譯成原生機(jī)器碼,提高執(zhí)行速度。2.類型系統(tǒng)改

    標(biāo)簽:
    php教程
  • PHP是什么-PHP8知識(shí)詳解

    PHP是什么?PHP服務(wù)網(wǎng)從下面幾點(diǎn)為你講清楚什么是PHP。1、PHP最開始是PersonalHomePage(個(gè)人主頁)的縮寫,已經(jīng)正式更名為“PHP:HypertextPreprocessor”,超文本預(yù)處理器的字母縮寫。2、PHP是一種被廣泛應(yīng)用的、跨平臺(tái)、開放源代碼的多用途服務(wù)器端腳本語言,

    標(biāo)簽:
    php教程

熱門排行

信息推薦