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 ...
随机推荐
- 我是如何通过学习拿到年薪80w
本人做了5年Java,如今还是一个码农,天天写业务代码,直到2018年10月中旬遇到一位技术大牛,他给我一套技术思维导图让我又看到了希望!今天分享给各位想要提升.升职.加薪的你. 普通Java程序员与 ...
- python 网络编程(Socket)
# from wsgiref.simple_server import make_server## def RunServer(environ,start_response):# start_resp ...
- python基础第一天 3.27
# #作业1# 猜年龄,可以让用户猜三次!age = 25user_guess = int(input("input your guess")) age = 25count = ...
- 'Tensorboard.util' has no attribute 'Retrier' - 'Tensorboard.util'没有属性'Retrier'
Here is a popular issue when you want to use tensorbard with your upgraded tensorflow and tensorboar ...
- maven安装与基本配置
maven安装与基本配置 依赖:java环境,JDK安装 一. maven安装 (一)下载maven (二)安装与环境变量设置 (三)maven setting.xml配置 二. 创建maven项目 ...
- jQuery获取name相同被选中的多选框的值
var name= ""; $("input:checkbox[name='AllElection']:checked").each(fu ...
- 正则表达式判断QQ号格式是否正确
#正在表达式匹配QQ号格式是否正确#QQ号假如长度为5-11位,纯为数字 import rewhile 1: qq=input("请输入QQ号:") result=re.finda ...
- 解决安装虚拟环境出现的问题(OSError: Command /home/python/.virtua...ngo3_web/bin/python3 - setuptools pkg_resources pip wheel failed with error code 2)
python3的报错解决: OSError: Command /home/python/.virtua...ngo3_web/bin/python3 - setuptools pkg_resource ...
- Oracle学习DayFour(高级子查询)
一.高级子查询 1.多列子查询 定义:主查询与子查询返回的多个列进行比较 多列子查询中的比较分为两种:成对比较:不成对比较 实例:查询与141号或174号员工的manager_id和departmen ...
- 微信退款回调AES算法(AES-256-ECB)
解密步骤如下: (1)对加密串A做base64解码,得到加密串B (2)对商户key做md5,得到32位小写key* ( key设置路径:微信商户平台(pay.weixin.qq.com)--> ...