【系统安全性】二、Web攻击与防范
二、Web攻击与防范
1、XSS攻击
跨站脚本攻击(Cross Site Scripting),因为简写CSS,与层叠样式表(Cascading Style Sheets)有歧义,所以取名XSS
原理:在网页中嵌入恶意脚本程序,在客户端浏览器执行(如用户输入数据转换成代码执行)
防范:输入数据HTML转义处理(主流框架默认支持)
2、注入攻击
原理:SQL伪装成HTTP请求参数
例如一个登录操作,输入帐号密码
假设后台的Sql是这样拼装的:Select * from user where username = '输入的帐号' and password='输入的密码'
那么,我从客户端输入帐号:admin 输入密码:' or '1'='1
传到后台后,拼装结果变成:Select * from user where username = 'admin' and password='' or '1'='1'
结果是能查出数据,后台就以为帐号和密码正确
防范:使用预编译语句(PreparedStatement)、使用ORM框架、避免密码明文存放、异常处理(避免异常直接给到前台)
3、CSRF攻击
跨站请求伪造
原理:用户在浏览器登录了站点A,生成了A的cookie;然后访问恶意站点B,B要求访问A,就可以带着A的cookie去访问A站点了,从而使B站点没有认证和授权的情况下获取到了A站点的数据

防范:cookie设置成HttpOnly;添加自定义token;使用Referer(知道请求的源头)
主要不是由开发人员防范
4、文件上传漏洞
原理:上传可执行文件和脚本;不对上传文件进行校验;获取服务器权限
防范:根据文件MagicNumber判断文件类型(JPEG:FFD8FF);文件长度限制;使用第三方框架
5、DDos攻击
分布式拒绝服务攻击(Distributed Denial of Service)
Dos:使用合理的客户端请求占用过多的服务器资源,从而使合法用户无法使用服务
DDos:数量庞大的计算器联合攻击,这些计算器是分布式的
方式:SYN Flood 伪造SYN报文;DNS query Flood;HTTP Flood
6、其它攻击
DNS域名挟持、CDN回源共计、服务器权限提升、缓冲区溢出
【系统安全性】二、Web攻击与防范的更多相关文章
- Web攻防系列教程之跨站脚本攻击和防范技巧详解
摘要:XSS跨站脚本攻击一直都被认为是客户端Web安全中最主流的攻击方式.因为Web环境的复杂性以及XSS跨站脚本攻击的多变性,使得该类型攻击很 难彻底解决.那么,XSS跨站脚本攻击具体攻击行为是什么 ...
- vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结
vue—你必须知道的 目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...
- 软件工程师应该关注的web攻击手段
1.SQL注入------常见的安全性问题. 解决方案:前端页面需要校验用户的输入数据(限制用户输入的类型.范围.格式.长度),不能只靠后端去校验用户数据.一来可以提高后端处理的效率,二来可以提高后端 ...
- 常见Web攻击及解决方案
DoS和DDoS攻击 DoS(Denial of Service),即拒绝服务,造成远程服务器拒绝服务的行为被称为DoS攻击.其目的是使计算机或网络无法提供正常的服务.最常见的DoS攻击有计算机网络带 ...
- 十大常见web漏洞及防范
十大常见web漏洞 一.SQL注入漏洞 SQL注入攻击(SQL Injection),简称注入攻击.SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞.在设计程序,忽略了 ...
- 安全|常见的Web攻击手段之CSRF攻击
对于常规的Web攻击手段,如XSS.CRSF.SQL注入.(常规的不包括文件上传漏洞.DDoS攻击)等,防范措施相对来说比较容易,对症下药即可,比如XSS的防范需要转义掉输入的尖括号,防止CRSF攻击 ...
- 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范
昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...
- 常见【十种】WEB攻击及防御技术总结
最近参加了一个WEB安全培训,感觉WEB攻击跟防御都是挺有意思的.以下总结比较简短,仅供观赏哈. 一.XSS攻击 [介绍] xss攻击是跨站脚本攻击,例如在表单中提交含有可执行的javascript的 ...
- 常见web攻击总结
搞Web开发离不开安全这个话题,确保网站或者网页应用的安全性,是每个开发人员都应该了解的事.本篇主要简单介绍在Web领域几种常见的攻击手段及Java Web中的预防方式. XSS SQL注入 DDOS ...
随机推荐
- 继续我们的学习。这次鸟哥讲的是LVM。。。磁盘管理 最后链接文章没有看
LVM...让我理解就是一个将好多分区磁盘帮到一起的玩意,类似于烙大饼...然后再切 新建了一个虚拟机,然后又挂了一个5G的硬盘,然后分出了5块空间,挂载到了虚拟机上.这些步骤很简单 fdisk ...
- 深入研究CSS
通常我们在学习CSS的时候,感觉很容易掌握,却常常在实际应用中碰到各式各样难以填补的“坑”,为避免大家受到同样的困惑与不解,本文详细讲解了CSS中优先级和Stacking Context等诸多高级特性 ...
- Migrating Your Android App from Eclipse to Android Studio
By: Jason Snell | Posted in: Mobile, Performance Tech Tips, Top Post, Jun. 7th, 2013 12 inShare One ...
- ceph命令拷屏
常用命令ceph -w ceph df ceph features ceph fs ls ceph fs status ceph fsid ceph health ceph -s ceph statu ...
- PHP面试 MySQL数据库基础
MySQL数据库基础 MySQL数据类型 整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT 属性:UNSIGNED 长度:可以为整数类型指定宽度,列 ...
- [bzoj4589]Hard Nim(FWT快速沃尔什变化+快速幂)
题面:https://www.lydsy.com/JudgeOnline/problem.php?id=4589 题意 求选恰好n个数,满足每个数都是不大于m的质数,且它们的异或和为0的方案数. 解法 ...
- 使用font-size:0px 来制作跨浏览器的inline-block css属性
如果排列的元素是等高的话,相信很多人都会使用浮动来布局,不过如果元素不等高的话,不添加多余的标签,浮动布局是很难实现下图中的效果.如果遇到这种情况,可以使用inline-block来布局. 现代浏览器 ...
- shell编程:字符串练习题string.sh
string.sh脚本 #!/bin/bash # string="Bigdata process framework is Hadoop,Hadoop is an open source ...
- Myeclipse中dtd代码提示
1.Myeclipse -->窗口 --> 首选项 2.输入xml c,然后添加 3.输入键 例如:http://struts.apache.org/dtds/struts-2.3.dtd ...
- mysql 5.7.20 取得动态sql执行结果
drop procedure test; delimiter ;; CREATE procedure test() -- 取动态sql的值 begin ); ); set v_sqlcounts = ...