Web应用程序的安全问题
常规的安全问题主要分为以下几大类
一,跨站脚本攻击(XSS)
指的是攻击者向web页面注入恶意的Javascript代码,然后提交给服务器,但是服务器并没有做校验和转义等处理,随即服务器的响应页就被植入了那些恶意的代码。
应用场景:
(1)一般都见于客户端的表单信息的提交,例如在表单address一栏,用户输入‘<script>alert('攻击页面')</script>’,提交的时候服务器并没有校验,在新的响应页面,当浏览器解析到script标签的时候,这段代码就会直接运行。以上只是一个简单的例子,这段代码可以换成任意的恶意代码。
(2)url中注入script
正常访问下的URL :http://www.vulnerable.site/welcome.html?name=Jeremy
访问的URL中注入脚本的:http://www.vulnerable.site/welcome.html?name=<script>alert(document.cookie)</script>
分类:
反射型:当带有恶意性脚本代码的请求服务器时,未过滤,直接将为编码的代码直接返回给响应页
持久型:带有恶性脚本的代码被保存在web服务器端,每次用户访问这个页面的时候,这个恶性代码就会被自动执行
解决方法:
(1)输入过滤;对用户输入的内容进行过滤
(2)输出转义;对于服务器端返回给客户端的内容进行转义,或者是定义一套加密的方法,客户端依据一定的规则进行解密
二,跨站请求伪造(CSRF)
指的是利用用户的身份对网站进行某种操作的漏洞。用户登陆网站A,输入自身的用户名和密码等信息,然后再A站点击任意链接跳转到不信任的B网站,然后B网站将获取用户的登陆信息,然后攻击者利用获取用户的登陆信息去登陆网站A,网站A将认为是用户的合法登陆,然后进行一些违法操作
应用场景:
一般多见于盗取用户的登陆信息进行转账以及修改个人资料等操作
解决方法:
(1)客户端的请求都换成POST方式
(2)比较常用的是token校验;即在发送请求的时候,在http请求头中以参数的形式加入一个随机产生的token,并在服务器端建立一个拦截器来验证这个token,服务器端会去校验这个浏览器中的token与cookie中存的token是否相等,如果相等则认为是合法的,这个token是在用户登陆后,存储在session或者cookie中。
三,SQL注入
指的是攻击者将SQL命令插入到Web表单提交,并且服务端没有经过校验,拼接sql语句进行执行,造成数据库的数据泄漏。
应用场景:
黑客获取数据库的控制权
解决方法
(1)增加白名单和黑名单验证。白名单验证一般指检验用户输入是否符合预期的类型,长度或者其他格式标准等。黑名单验证一般指的是,在用户的输入中如果包含明显恶意的内容,则拒绝该用户请求
(2)数据转义。设置php.ini选项magic_quotes_gpc=on,它会将提交的变量中所有的’(单引号),”(双引号),\(反斜杠),空白字符等都在前面自动加上\。或者采用mysql_real_escape()函数或addslashes()函数进行输入参数的转义。
Web应用程序的安全问题的更多相关文章
- Web应用程序安全必须重视八大问题
摘自:http://netsecurity.51cto.com/art/201402/428709.htm 对于任何一个项目,开始阶段对于交付安全的应用来说非常关键.适当的安全要求会导致正确的安全设计 ...
- 转:OWASP发布Web应用程序的十大安全风险
Open Web Application Security Project(OWASP)是世界范围内的非盈利组织,关注于提高软件的安全性.它们的使命是使应用软件更加安全,使企业和组织能够对应用安全风险 ...
- web应用程序+HTTP协议
标签(空格分隔): Django web应用程序案例: 如果我们想通过自己电脑访问京东,就是一个网络编程(因为京东的服务部署在京东,通过自己的电脑浏览器传输到京东服务就是网络编程):只要涉及到网络编程 ...
- 常见Web应用程序漏洞
不完善的身份验证措施 .这类漏洞包括应用程序登录机制中的各种缺陷,可能会使攻击者破解保密性不强的密码.发动蛮力攻击或完全避开登录. 不完善的访问控制措施.这一问题涉及的情况包括:应用程序无法为数据和功 ...
- 解读Web应用程序安全性问题的本质
转自 http://blog.csdn.net/iwebsecurity/article/details/1688304 相信大家都或多或少的听过关于各种Web应用安全漏洞,诸如:跨site脚本攻击( ...
- 如何将常规的web 应用程序转化为云上多租户 SaaS 解决方案
如何将web 应用程序转化为多租户 SaaS 解决方案 https://www.ibm.com/developerworks/cn/cloud/library/cl-multitenantsaas/i ...
- web 应用程序转化为多租户 SaaS 解决方案
web 应用程序转化为多租户 SaaS 解决方案 https://www.ibm.com/developerworks/cn/cloud/library/cl-multitenantsaas/inde ...
- 《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序
读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况. Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检 ...
- Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见的一些。
Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见的一些. 常见Web应用安全问题安全性问题的列表: 1.跨站脚本攻击(CSS or XSS, Cross Si ...
随机推荐
- python 模块 不可不知的知识点
大纲可参考博客:http://www.cnblogs.com/yuanchenqi/articles/6766020.html 1.正则表达式中(re模块),. 代表除换行符以外的任意符号,但如果加上 ...
- java----判断闰年和平年
public class year{ public static void main(String[] args){ int year=2010; if((year%4==0&&yea ...
- 《用Python写爬虫》学习笔记(二)编写第一个网络爬虫
1.首先,下载网页使用Python的urllib2模块,或者Python HTTP模块request来实现 urllib2会出现问题,解决方法1.重试下载(设置下载次数) 2.设置用户代理 2.其次, ...
- 1ci
- cdh日常维护常见问题及解决方案
为数据节点添加新硬盘 - 挂载硬盘到指定文件夹.如`/dfs_diskb`: - 打开cloudera manager -> hdfs -> 配置 -> DataNode -> ...
- Java NIO学习之Buffer
Bufer的capacity,position和limit: capacity: 表示buffer的容量. position: 写数据到Buffer中时: 表示当前的位置.初始的position值为0 ...
- git 命令提交项目到github
git 命令提交项目到github步骤如下: 1.使用git 命令客户端进入项目根路径,输入 git init 命令,创建github本地根目录 2.把文件加入到本地项目 git add . ,如 ...
- java的重写
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类能够根据需要实现父类的方法 ...
- c++中sort()函数的用法
用法: 1.sort函数可以三个参数也可以两个参数,必须的头文件#include < algorithm>和using namespace std; 2.它使用的排序方法是类似于快排的方法 ...
- GoGland 快捷键说明
关于Gogland一些常用快捷键的说明,我在网上没有搜索到,于是乎,我找到了官网中的视频介绍,然后将其中的一部分摘录了出来,希望能帮住大家... Gogland——使用说明前面是苹果|后面是linux ...