web常见攻击总结
1.Sql注入
攻击者把sql命令插入到web表单的输入域或页面请求的查询字符串,
欺骗服务器执行恶意的sql命令
防御措施
前端:
1.正则验证字符串格式
2.过滤字符串的非法字符
后端:
1.不要直接拼接sql,要使用参数化查询
2.使用存储过程代替sql查询
2.XSS(Cross site Scripting,跨站脚本攻击)
XSS本质是一种注入攻击,用户的输入或者URL的参数,总之就是客户端的输入,被接收后,又显示在了html中。
常见的有反射型(非持久性),存储型(持久性)等。
(1). 反射型(利用URL后面的参数来注入恶意代码)
将js脚本添加到查询字符串中,将含有脚本的链接传播为用户,用户点开链接,
脚本会执行,客户获取用户cookie,或执行其他危险操作。
(2). 存储型(利用表单将恶意代码提交到服务器数据库)
通过表单输入将脚本存储到服务器的数据库中,当其他人打开页面的时候,脚本
就会执行,可以获取用户cookie,或修改用户界面显示等操作。
防御措施
前端:
1.对用户输入进行校验,过滤,编码和转义
后端:
1.对输入的字符进行过滤,编码,替换
2.对输出的字符进行编码
3.CSRF(Cross site request forgery,跨站请求伪造)
模拟网站用户想网站发起请求,进行非法操作或得到非法结果。
防御措施
1.验证Http Referer的值
验证http头部的referer,判断请求来源是合法的地址,才进行处理,
否则拒绝响应。
2.使用请求令牌
访问页面时,服务端在页面写入一个随机token,并设置token过期时间。
请求必须带上token,请求过的token会失效,无法再用。此种token方法
也可以防止表单重复提交,在登录等安全性要求高的页面,使用验证码
3.幂等的GET请求
GET请求不要执行任何修改数据操作,仅通过POST,PUT,DELETE请求修改网站内容
4.防盗链
盗链会增加服务器的负担。盗链主要是对网站图片,视频以及其他资源文件的下载。
防御措施
判断ip地址和域名,只有白名单中的ip和域名才能返回资源,否则,
不予处理,或者返回一个网站logo。
web常见攻击总结的更多相关文章
- web常见攻击
DoS和DDoS攻击 DoS(Denial of Service),即拒绝服务,造成远程服务器拒绝服务的行为被称为DoS攻击.其目的是使计算机或网络无法提供正常的服务.最常见的DoS攻击有计算机网络带 ...
- WEB常见攻击及防御
对于一个Web应用来说,可能会面临很多不同的攻击.下面的内容将介绍一些常见的攻击方法,以及面对这些攻击的防御手段. 一.跨站脚本攻击(XSS) 跨站脚本攻击的英文全称是Cross Site Scrip ...
- Web常见几种攻击与预防方式
DoS和DDoS攻击 DoS(Denial of Service),即拒绝服务,造成远程服务器拒绝服务的行为被称为DoS攻击.其目的是使计算机或网络无法提供正常的服务.最常见的DoS攻击有计算机网络带 ...
- 使用 Rational AppScan 保证 Web 应用的安全性,第 2 部分: 使用 Rational AppScan 应对 Web 应用攻击
1 当前 Web 安全现状 互联网的发展历史也可以说是攻击与防护不断交织发展的过程.目前,全球因特网用户已达 13.5 亿,用户利用网络进行购物.银行转账支付和各种软件下载,企业用户更是依赖于互联网构 ...
- 手把手教你查看网站遭受到的Web应用攻击类型
常见Web应用攻击类型有:webshell.SQL注入.文件包含.CC攻击.XSS跨站脚本攻击.敏感文件访问.远程命令.恶意扫描.代码执行.恶意采集.特殊攻击.其他攻击十二种攻击类型. 如何查看网站遭 ...
- 《图解HTTP》 第11章 web的攻击技术
11.1 针对Web的攻击技术 简单的HTTP协议本身并不存在安全性问题,所以协议本身几乎不会成为攻击的对象. 11.1.1 HTTP不具备必要的安全功能 11.1.2 在客户端即可篡改请求 在HTT ...
- php防止sql注入漏洞代码 && 几种常见攻击的正则表达式
注入漏洞代码和分析 ...
- 基于http的追加协议、构建web内容的技术、web的攻击技术(9,10,11)
第九章 基于http的追加协议 用来提升http的瓶颈,比如Ajax技术,spdy等 第十章 构建web内容的技术 html.css.js等 第十一章 web的攻击技术 比如sql注入攻击.xss等.
- 《图解HTTP》阅读笔记--第十一章针对web的攻击技术
第十一章.针对WEB的攻击技术 ----<图解HTTP>阅读笔记攻击目标---Web简单的HTTP协议本身并不存在安全性 问题,协议本身并不会成为被攻击的对象,应用HTTP的服务器和客户端 ...
随机推荐
- 微服务SpringCloud+Docker入门到高级实战(教程详情)
第一章 课程介绍和学习路线 1.微服务架构SpringCloud课程介绍 简介:课程介绍和课程大纲讲解,讲课风格和重点内容理解技巧 2.技术选型和学后水平 简介:课程所需基础和技术选型讲解,学完课程可 ...
- MySQL DBA从小白到大神实战
MySQL5.6 For CentOS 6.6 源码编译安装 o1.关闭防火墙o2.配置sysctl.confo3.检查操作系统上是否安装了MySQLo4.下载mysql源码包o5.添加用户和组o6. ...
- node第一天
一.主要执行的文件命名一般为main.js var aModule =require('./a.js');//相对路径 var aModule =require('a.js');//专门从node_m ...
- Qt之QThread随记
这是一篇随记,排版什么的就没有那么好了:) 首先要知道,一个线程在资源分配完之后是以某段代码为起点开始执行的,例如STL内的std::thread,POSIX下的pthread等,都是以函数加其参数之 ...
- 重载&重写
重载:同一个类中,方法名相同,方法参数不同(参数个数.参数类型),返回类型无关,所以返回类型不能作为重载的区别依据. 重写:子父类中,子类的方法名.参数位置.参数个数.返回类型和父类一致,方法体不同 ...
- django 图片上传与显示
由于图片上传的需要,学习了一波上传 1. 上传 前端代码 <form action="写上相应的定向位置" method="post" enctype=& ...
- nodejs源码—初始化
概述 相信很多的人,每天在终端不止一遍的执行着node这条命令,对于很多人来说,它就像一个黑盒,并不知道背后到底发生了什么,本文将会为大家揭开这个神秘的面纱,由于本人水平有限,所以只是讲一个大概其,主 ...
- nodejs实现前后端交互
本人nodejs入门级选手,站在巨人(文殊)的肩膀上学习了一些相关知识,有幸在项目中使用nodejs实现了前后端交互,因此,将整个交互过程记录下来,方便以后学习. 本文从宏观讲述nodejs实现前后端 ...
- Problem I. Count - HDU - 6434(欧拉函数)
题意 给一个\(n\),计算 \[\sum_{i=1}^{n}\sum_{j=1}^{i-1}[gcd(i + j, i - j) = 1]\] 题解 令\(a = i - j\) 要求 \[\sum ...
- poj 23565-Find a multiple
Find a multiple The input contains N natural (i.e. positive integer) numbers ( N <= 10000 ). Each ...