常见的网站攻击

1,XSS攻击:Cross Site Script,跨站脚本攻击,指黑客通过篡改网页,在提交的内容中写一些恶意攻击的js脚本。举个例子,攻击者在网站留言或者发布带有恶意脚本的连接,诱导用户点击,跳转到攻击者搭建的服务器上,
2,SQL注入攻击,这里直接举个例子,当我们在登录时,需要输入用户名和密码,作为开发者的我们应该都会知道,用户输入的信息,会动态拼接到SQL语句中,例如我们最常见的:

select * from user where username=? and password=?;
select * from user where username='+ username+ ' and password = '+ password+';

用户输入的用户名和密码,会拼接成一个语句( 使用占位符的情况除外),然后组装成一个SQL,发送到数据库进行查询;如果用户输入了下面的内容:

用户名:a or 1=1
密码:a or 1=1

这样,这条SQL语句就会成功执行,并且查询的记录数大于0,如果我们根据查询的记录数来判断用户是否存在,那么这时,系统就被SQL注入攻击成功了。
3,CSRF攻击:Cross Site Request Forgery,跨站点请求伪造,攻击者利用合法用户的身份,在用户不知情的情况下,进行非法操作,比如转账、付款等。
4,Session劫持,这是比较复杂的一个过程,这种劫持是利用了TCP三次握手的漏洞,冒充用户与服务器进行通信。
5,Error Code,也就是程序报错信息显示到用户面前,这样就会报系统使用的技术和开发语言暴露给攻击者,给攻击者攻击系统提供便利。
6,HTML注释,道理和Error Code类似,把注释信息写在HTML页面,用户通过查看页面信息很容易看到这些注释信息,而这些信息可以说是网站开发的说明书,很容易被攻击者利用。
7,文件上传,最常见的情形就是,如果攻击者上传了可执行的文件,对服务器是很不利的。

如何防御呢,我们先来看XSS攻击的防御方法

一,如何防御XSS攻击

防御XSS攻击,说白了,就是对用户输入的字符串进行处理,防止js脚本执行,我们通常的做法就是把敏感词或者特殊符号就行处理,把用户输入的内容作为字符串来展示,而不能当做js脚本执行。

/*** 实例代码:处理用户输入内容*/
public static String dealWithXSS(String value) {  value = value.replaceAll("<", "& lt;").replaceAll(">", "& gt;");  value = value.replaceAll("\\(", "& #40;").replaceAll("\\)", "& #41;");  value = value.replaceAll("'", "& #39;");  value = value.replaceAll("[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']", "\"\"");  value = value.replaceAll("script", "");  value = value.replaceAll("eval\\((.*)\\)", "");  return value;
}  

在控制器中,或者在前台页面,我们可以对用户输入的字符串进行处理,通常我们会这样做:

String name = RequestUtil.dealWithXSS(reuqest.getParameter("name"));

过滤脚本攻击的思路,就是对用户输入的字段进行处理,屏蔽掉其中的敏感词或者特殊字符,防止JS执行。对网站安全性要求较高的公司,在系统测试阶段,都会进行脚本攻击的测试。因此,脚本过滤攻击刻不容缓。

二,如何预防SQL注入

1,使用预编译的SQL语句,也就是我们熟知的PreparedStatement。我们都知道,数据库执行SQL的过程,可以分为2个步骤,第一步服务器解析请求的SQL语句,第二步执行SQL语句,而预编译的SQL语句在SQL传入数据库时就被编译过了,后面传递参数过来的时候,这个参数只会被当做参数,不会被当做SQL语句重新编译一次。所以就可以避免SQL注入。
2,对用户输入的用户名和密码进行‘消毒’,防止特殊的符号或者关键字被传递到数据库,比如单引号或者drop table这样的关键字。

三,如何防御CSRF攻击

通过让用户输入验证码的方式,可以避免攻击者在用户不知情的情况下提交请求。但是这样会影响用户体验,所以要权衡利弊来选择。

四,session劫持

这个较复杂,牵扯到很多网络通信的知识,博主先充电,然后奉上。

五,Error Code

这个其实也比较容易解决,我们在使用SpringMVC进行拦截时,可以把可以预知的错误都捕获到,然后返回一个自定义的页面。当然这种情况,即使一般的小公司,也不会容忍这种情况的发生。但是程序报错是一个复杂的系统问题,我们只能尽可能捕获预知的错误,但是总有无法预知的错误等着我们,所以保持一个居安思危的心态很重要。

六,HTML注释

这个是习惯问题,或者说是项目管理问题,只要养成良好的代码编写习惯,或者项目经理对代码进行扫描,就可以有效避免此类安全问题。

七,文件上传

这一点,现在大部分网站做的都比较好,对上传的文件类型,通过后缀进行过滤,禁止用户上传一些可能有危害的文件类型。

常见的网站攻击以及如何防御自己的网站被恶意攻击相关推荐

  1. 常见APP攻击方法 以及防御方法介绍(移动安全)

    一.常见APP攻击风险以及防御方法介绍 二.APP攻击以及防御方法 案例讲解 1.基于组件攻击 - 应用劫持 用户打开安卓手机上的某一应用,这时,恶意软件侦测到用户的这一动作,如果立即弹出一个与该应用 ...

  2. 购买的腾讯云服务器一直被ddos恶意攻击怎么解决

    最近小蚁君发了很多关于阿里云服务器被攻击的文章,有不少客户来问,小蚁小蚁那腾讯云服务器被攻击了怎么办呢?其实所有服务器被攻击都是万变不离其宗!今天小蚁君给大家说道说道腾讯云服务器被攻击了怎么办? 处理 ...

  3. 阿里云ECS后台利用“安全组”屏蔽恶意攻击ip地址

    在阿里云后台的云盾监控->威胁->攻击,会发现每天有大量的恶意攻击,存在大量GET请求,导致服务器资源浪费无用消耗. 20160220102620 最近7天攻击类型 仔细查看攻击来源的信息 ...

  4. 10种常见网站安全攻击手段及防御方法

    在某种程度上,互联网上的每个网站都容易遭受安全攻击.从人为失误到网络罪犯团伙发起的复杂攻击均在威胁范围之内. 网络攻击者最主要的动机是求财.无论你运营的是电子商务项目还是简单的小型商业网站,潜在攻击的 ...

  5. 常见的攻击手段及其防御方式

    本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scripting),指攻击 ...

  6. 网站服务器怎么做防御?遇到攻击如何解决?

    每个网站都可能遇到网络攻击,这是正常现象.攻击可能来自密码错误.防火墙配置错误.病毒软件.空闲端口等.大量的网络攻击在竞争激烈的行业或企业中更为常见. 目前需要有一套完整的安全策略来保护流浪数据,防止 ...

  7. 常用网站攻击手段及防御方法

    常见的攻击手段--XSS XSS攻击的全称是跨站脚本攻击(Cross Site Scripting),为不跟层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻 ...

  8. 网络安全:常见攻击手段及防御

    随着互联网的发展,网络安全日益显的尤为重要,接下来介绍一下常见的web攻击手段. 1.XSS攻击(Cross Site Scripting) 全称跨站脚本攻击  是一种常见的攻击手段之一,攻击者主要通 ...

  9. 前端 web端常见的攻击有那几种类型 网站瘫痪 崩溃的原因

    前端 web端常见的攻击有那几种类型 文章目录 前端 web端常见的攻击有那几种类型 dos攻击和ddos攻击 dos攻击的原理 ddos攻击 dos攻击的类型 CSRF攻击 CSRF防御 XXS攻击 ...

最新文章

  1. 【转载】Deep learning:十九(RBM简单理解)
  2. 程序员如何坚持写作?
  3. 训练损失越来越大_无需contrastive学习,微软亚研提基于实例分类无监督预训练方法...
  4. JavaScript面试题目集锦
  5. Socket系列3 Socket服务端开发 数据的接收和发送
  6. php strtoupper 和 array_change_key_case 字符串转大写,小写
  7. Taro+react开发(52) 移动端弹出框使用
  8. 智能数据引擎Dataphin重磅发布,提供一站式的技术管理能力
  9. 【TJOI2016】【bzoj4552】排序(二分答案+线段树01排序)
  10. Eureka-Client 注册服务到 Eureka-Server
  11. 阶段3 1.Mybatis_10.JNDI扩展知识_2 补充-JNDI搭建maven的war工程
  12. RT struct 文件 保存为nii文件及解析
  13. rapidxml 给节点赋值时出现乱码问题
  14. ENVI裁剪遥感图像
  15. 扣扣机器人唱歌_qq小冰机器人唱歌脚本-qq群机器人小冰无限唱歌插件下载v6.7.1 安卓版-腾牛安卓网...
  16. 【围棋棋盘绘制——html实现】
  17. 蒙德里安的梦想 状态压缩DP (1)
  18. 45届ICPC昆明站热身赛C-Statues
  19. figma对比sketch有什么优势和不足?
  20. cad墙线打断lisp_两个打断程序 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - 程序 - Powered by Discuz!...

热门文章

  1. 前端表格导出为excel方法合集
  2. 短视频抖音账号矩阵seo优化系统技术代开发
  3. C语言读取指定文件夹下面的所有文件
  4. 一些中文字体的英文名
  5. 计算机网络人工智能论文,浅析计算机网络中人工智能的应用论文
  6. 【python】鞭炮快乐响,春联贴门上,祝福送到你身旁
  7. 一文搞定计算机网络面试题
  8. python将图片按照文件名分类,并移入相应文件夹
  9. [Maya学习内容日记]20070812
  10. 网速特别好但是访问网页特别慢