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 ...
随机推荐
- eclipese的一些卡顿问题
一,在jsp页面上输入拼音的时候很卡顿怎么办? 二,我们在复制粘贴等用到ctry的时候会很卡顿,尤其是在jsp页面.干掉以下就好了.
- laravel 记录
1.处理ajax跨域 使用 composer require barryvdh/laravel-cors
- windows+nginx 查看并发链接数
1.windows下nginx查看并发链接数要使用stable版本 2.配置代码: location /status { stub_status on; } 3.访问地址:http://localho ...
- 多选框取值checkbox
取值//js var obj = document.getElementsByName("NAME"); var s=''; for(var i=0;i<obj.length ...
- Java作业:第二次过程性考核 ——长春职业技术学院 16级网络工程
## 时间有限,脑力不足 ## 只给出代码部分(附带注释) 码云 https://gitee.com/SoridoD/codes 7-5: import java.util.Scanner; clas ...
- nginx + gunicorn + flask项目发布
程序安装(linux mint) gunicorn安装:pip install gunicorn nginx安装:sudo apt-get install nginx 配置 nginx默认配置信息在/ ...
- Idea中:No converter found for return value of type: class java.util.ArrayList:Json格式转换问题
1.在搞SSM框架的时候,前端发送请求后,显示如下错误. @ResponseBody注解进行返回List<对象>的json数据时出现 nested exception is java.la ...
- Python随笔--爬虫(下载妹子图片)
- webpack - minipack 打包原理
code:https://github.com/ronami/minipack 看了https://www.youtube.com/watch?v=Gc9-7PBqOC8总结一下 工具和环境: nod ...
- linux 免密码登陆
1.Linux下生成密钥 ssh-keygen的命令手册,通过”man ssh-keygen“命令: 通过命令”ssh-keygen -t rsa“ 生成之后会在用户的根目录生成一个 “.ssh”的文 ...