您现在的位置是:首页 > 网站技术问题网站技术问题

现在搭建网站通常最容易被攻击的有哪些方面?

江湖快报网2023-03-20 00:37:53【网站技术问题】人已围观

简介网站被入侵,一直是困扰很多人的问题下面我从技术原理和流程给你说一下这个东西是怎么一回事儿为了模拟,我在本地搭建了服务器环境,展示一个正常网站如何被攻击。首先修改电脑本

网站被入侵,一直是困扰很多人的问题



下面我从技术原理和流程给你说一下这个东西是怎么一回事儿


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

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



网站目录很简单,如下:



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



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



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



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

开始模拟攻击

我们访问一下我们的网站



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



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

1、输出php版本信息



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

2、网页重定向



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

3、读取数据库配置信息



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

4、删除文件



看:1.txt文件被删除了



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


不知道你有没有听过这么一句话,没有绝对安全的系统


这个世界上没有绝对安全的防御,只要你想


就是时间和成本的问题了


关于网站入侵,简单分享到这里,如果对这方面技术感兴趣的小伙伴,可以参考下图找我交流










import java.io.IOException;

import java.util.*;


public class EmotionJudge {

private double priorPositive;//积极先验概率

private double priorNegative;//消极先验概率

private double priorUnsure;//不确定先验概率


private Map<String,Double> backPositive;//词语的后验概率

private Map<String,Double> backNegative;//同上

private Map<String,Double> backUnsure;//同上


private boolean isGroup = false;

private String strTemp;

private Map<String,Integer> articleWordMap;


//这两个是词典的位置

private final String posiDictPath = "/home/geekgao/朴素贝叶斯/台湾大学情感词典/ntusd-positive.txt";

private final String negaDictPath = "/home/geekgao/朴素贝叶斯/台湾大学情感词典/ntusd-negative.txt";


//这两个存储词典中的词语

private Set<String> positiveDict;

private Set<String> negativeDict;


public static void main(String [] args) {

new EmotionJudge().launch();

}


public void launch() {

getPrior();

getBack();


positiveDict = new HashSet<String>();

negativeDict = new HashSet<String>();

readEmotionWord(positiveDict, posiDictPath);

readEmotionWord(negativeDict, negaDictPath);

calc();

}


//获得先验概率

public void getPrior() {

SAXReader sax = new SAXReader();

try {

//从这读取doc的值

Document document = sax.read(new File("/home/geekgao/doc.xml"));

Element root = document.getRootElement();

List<Element> prior = root.elements();


priorPositive = Double.valueOf(prior.get(0).attributeValue("pPositive"));

priorNegative = Double.valueOf(prior.get(0).attributeValue("pNegative"));

priorUnsure = Double.valueOf(prior.get(0).attributeValue("pUnsure"));


} catch (DocumentException e) {

e.printStackTrace();

}

}


//获得后验概率

public void getBack() {

SAXReader sax = new SAXReader();

try {

//从这读取weight的值

Document document = sax.read(new File("/home/geekgao/weight.xml"));

Element root = document.getRootElement();

List<Element> back = root.elements();


backNegative = new HashMap<String, Double>();

backPositive = new HashMap<String, Double>();

backUnsure = new HashMap<String, Double>();


double backPos;//积极后验概率

double backNeg;//消极后验概率

double backUns;//不确定后验概率

String word;

Tags:

很赞哦! ()

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

本站推荐