精华内容
下载资源
问答
  • 常见的 Web 应用攻击示例 在 OWASP 组织列举的十大 Web 应用安全隐患中,有两个概率最高的攻击手段,它们分别是“跨站点脚本攻击”(Cross-Site Scripting)和“注入缺陷”(Injection Flaws)。下面将通过举例来...

    常见的 Web 应用攻击示例

    在 OWASP 组织列举的十大 Web 应用安全隐患中,有两个概率最高的攻击手段,它们分别是“跨站点脚本攻击”(Cross-Site Scripting)和“注入缺陷”(Injection Flaws)。下面将通过举例来说明这两种攻击是如何实施的。

    1、 跨站点脚本攻击

    首先来看一下跨站点脚本的利用过程,如图 4。


    图 4: 跨站点脚本攻击的过程

    在上图中,恶意攻击者(这里使用 Evil.org 表示)通过 E-mail 或 HTTP 将某银行的网址链接发给用户(银行用 bank.com 表示),该链接中附加了恶意的脚本(上图步骤一);用户访问发来的链接,进入银行网站,同时,嵌在链接中的脚本被用户的浏览器执行(上图步骤二、三);用户在银行网站的所有操作,包括用户的 cookie 和 session 信息,都被脚本收集到,并且在用户毫不知情的情况下发送给恶意攻击者(上图步骤四);恶意攻击者使用偷来的 session 信息,伪装成该用户,进入银行网站,进行非法活动(上图步骤五)。

    因此,只要 Web 应用中,有可被恶意攻击者利用执行脚本的地方,都存在极大的安全隐患。黑客们如果可以让用户执行他们提供的脚本,就可以从用户正在浏览的域中偷到他的个人信息、可以完全修改用户看到的页面内容、跟踪用户在浏览器中的每一个动作,甚至利用用户浏览器的缺陷完全控制用户的机器。

    目前,跨站点脚本攻击是最大的安全风险。

    2、 注入缺陷

    目前的 Web 应用中,绝大多数都会向用户提供一个接口,用来进行权限验证、搜索、查询信息等功能。比如一个在线银行应用,首先会有对注册客户进行身份验证的登录界面,在正确登录后,会提供更多交互功能,如根据客户的银行卡号信息,查询客户的最近交易、转账细节等。这些都是注入缺陷的最佳利用场景。所谓注入缺陷,就是在上述场景中,用户输入的数据被当做命令和查询的一部分,送到后端的解释器中解释执行。如果用户的输入是正常合法的,Web 应用自然会返回正常合理的结果,但是,如果恶意攻击者,利用输入数据可被后台执行的原理,偷梁换柱,使用非法的输入,脆弱的 Web 应用会怎样呢?

    下面我们举一个例子来说明注入缺陷是如何进行的。在一个交易网站中,用户必须输入产品 ID 号才可以查看该产品的详细信息。为了实现这个需求,通常会用 SQL 语句查询数据库来实现。开发人员在编写应用程序时,可能会使用如下的 SQL 语句来实现上述目的(这里仅为示例):

    1) Select * from products where product_id = ` + 用户输入的 ID + `

    这里的 products 是数据库中用来存放产品信息的表,+号表示 SQL 语句需要和用户输入的真实 ID 进行拼接。如果用户输入 325,则该语句在执行时变为:

    Select * from products where product_id = ` 325 `
    

    数据库会将 ID 为 325 的产品信息返回给用户。

    2) 在界面上,需要用户输入产品 ID 的地方,黑客会输入如下数据:

    ` or `1`= `1
    

    可以看到,黑客并没有输入正常合法的产品编号。

    3) 通过黑客的非法输入,需要执行的 SQL 语句变为:

    Select * from products where product_id = ` ` or `1`=`1`
    

    可以看出,SQL 语句的意义就完全改变了,当产品 ID 为空或者 1=1 时,返回产品所有信息,而 1=1 是永远成立的条件,因此,黑客并没有输入任何产品编号,就可以返回数据库中所有产品的详细信息。

    通过这个例子,我们可以看出,注入缺陷是风险非常高的安全漏洞,一旦 Web 应用中给用户提供了需要其输入数据的接口,就有可能遭到攻击,将后台的数据完全暴露在用户的面前。

    上述说明的“跨站点脚本攻击”和“注入缺陷攻击”,是目前 Web 应用中比例最高的两种攻击手段,按照 OWASP 的项目排序,还有如下八种风险性较高的攻击方法:

    • Malicious File Execution(恶意文件执行);
    • Insecure Direct Object Reference(不安全的直接对象引用);
    • Cross-Site Request Forgery(跨站点的请求伪造);
    • Information Leakage and Improper Error Handling(信息泄漏和不正确的错误处理);
    • Broken Authentication & Session Management(损坏的认证和 Session 管理);
    • Insecure Cryptographic Storage(不安全的密码存储);
    • Insecure Communications(不安全的通信);
    • Failure to Restrict URL Access(未能限制 URL 访问)

     

    展开全文
  • 开放Web应用安全项目(OWASP)很快会发布今年的10大Web应用安全漏洞清单。这个清单与去年并没有太大差别,...许多最常见的Web应用漏洞仍然广泛存在,许多恶意软件搜索和攻击这些漏洞,连黑客新手都能轻松做到。 本文...

    开放Web应用安全项目(OWASP)很快会发布今年的10大Web应用安全漏洞清单。这个清单与去年并没有太大差别,这表明负责应用设计与开发的人仍然没能解决以前那些显而易见的错误。许多最常见的Web应用漏洞仍然广泛存在,许多恶意软件搜索和攻击这些漏洞,连黑客新手都能轻松做到。

    本文介绍了5个最常见的Web应用漏洞,以及企业该如何修复初级问题,对抗那些针对这些漏洞的攻击。

    注入攻击和跨站脚本攻击

    Web应用主要有2种最常见的严重缺陷。首先是各种形式的注入攻击,其中包括SQL、操作系统、电子邮件和LDAP注入,它们的攻击方式都是在发给应用的命令或查询中夹带恶意数据。别有用心的数据可以让应用执行一些恶意命令或访问未授权数据。如果网站使用用户数据生成SQL查询,而不检查用户数据的合法性,那么攻击者就可能执行SQL注入。这样攻击者就可以直接向数据库提交恶意SQL查询和传输命令。举例来说,索尼的PlayStation数据库就曾经遭遇过SQL注入攻击,并植入未授权代码。

    跨站脚本(XSS)攻击会将客户端脚本代码(如JavaScript)注入到Web应用的输出中,从而攻击应用的用户。只要访问受攻击的输出或页面,浏览器就会执行代码,让攻击者劫持用户会话,将用户重定向到一个恶意站点或者破坏网页显示效果。XSS攻击很可能出现在动态生成的页面内容中,通常应用会接受用户提供的数据而没有正确验证或转码。

    为了防御注入攻击和XSS攻击,应用程序应该配置为假定所有数据——无论是来自表单、URL、Cookie或应用的数据库,都是不可信来源。要检查所有处理用户提供数据的代码,保证它是有效的。验证函数需要清理所有可能有恶意作用的字符或字符串,然后再将它传给脚本和数据库。要检查输入数据的类型、长度、格式和范围。开发者应该使用现有的安全控制库,如OWASP的企业安全API或微软的反跨站脚本攻击库,而不要自行编写验证代码。此外,一定要检查所有从客户端接受的值,进行过滤和编码,然后再传回给用户。

    身份验证和会话管理被攻破

    Web应用程序必须处理用户验证,并建立会话跟踪每一个用户请求,因为HTTP本身不具备这个功能。除非任何时候所有的身份验证信息和会话身份标识都进行加密,保证不受其他缺陷(如XSS)的攻击,否则攻击者就有可能劫持一个激活的会话,伪装成某个用户的身份。如果一个攻击者发现某个原始用户未注销的会话(路过攻击),那么所有帐号管理功能和事务都必须重新验证,即使用户有一个有效的会话ID。此外,在重要的事务中还应该考虑使用双因子身份验证。

    为了发现身份验证和会话管理问题,企业要以执行代码检查和渗透测试。开发者可以使用自动化代码和漏洞扫描程序,发现潜在的安全问题。有一些地方通常需要特别注意,其中包括会话身份标识的处理方式和用户修改用户身份信息的方法。如果没有预算购买商业版本,那么也可以使用许多开源和简化版本软件,它们可以发现一些需要更仔细检查的代码或进程。

    不安全的直接对象引用

    这是应用设计不当引起的另一个缺陷,它的根源是错误地假定用户总是会遵循应用程序的规则。例如,如果用户的帐号ID显示在页面的URL或隐藏域中,恶意用户可能会猜测其他用户的ID,然后再次提交请求访问他们的数据,特别是当ID值是可以猜测的时候。防止这种漏洞的最佳方法是使用随机、不可猜测的ID、文件名和对象名,而且不要暴露对象的真实名称。常见的错误暴露数据的位置是URL和超链接、隐藏表单域、ASP.NET的未保护视图状态、直接列表框、JavaScript代码和客户端对象(如Java Applet)。每次访问敏感文件或内容时,都要验证访问数据的用户已获得授权。

    安全性配置不当

    支持Web应用程序的基础架构包含各种各样的设备和软件——服务器、防火墙、数据库、操作系统和应用软件。所有这些元素都必须正确配置和保证安全,应用程序只是运行在最低权限配置上,但是许多系统本身还不够安全。系统管理不当的一个主要原因是Web应用程序管理人员和基础架构支持人员从未接受过必要的培训。

    为执行日常网络应用管理的人员提供足够的培训和资源,这是在开发过程中所有阶段保证安全性和保密性的重要条件。最后,要为Web应用程序安排一个渗透测试,处理所有敏感数据。这是一种主动评估应用抵抗攻击能力的方法,可以在受到攻击前发现系统漏洞。

    结束语

    一直以来,这5种常见的Web应用漏洞都是IT安全的痛处。它们并不是新漏洞,但是它们都没有解决,在人们对Web应用安全有足够认识之前,攻击者仍然会想尽办法继续利用这些缺陷发起偷盗、欺骗和网络间谍等攻击。

    转载于:https://my.oschina.net/tuyang/blog/164410

    展开全文
  • 常见的web应用服务器

    2020-04-06 17:35:44
    Web开发中常用的web应用服务器 1)weblogic:oracle公司的大型收费web服务器 支持全部javaEE规范 2)websphere:IBM公司的大型收费web服务器 支持全部的javaEE规范 3)Tomcat:Apache开源组织下的 开源免费的中...

    Web开发中常用的web应用服务器

    1)weblogic:oracle公司的大型收费web服务器 支持全部javaEE规范

    2)websphere:IBM公司的大型收费web服务器 支持全部的javaEE规范

    3)Tomcat:Apache开源组织下的 开源免费的中小型的web应用服务器 支持    javaEE    中的 servlet 和 jsp规范

    展开全文
  • 11款常见的Web应用程序框架

    千次阅读 2014-09-13 19:01:27
    11款常见的Web应用程序框架

    11款常见的Web应用程序框架

    Rails


    Rails是Ruby on Rails的简称,是一款开源的Web应用框架,采用Ruby语言,其设计原则是“不做重复的事”和“惯例优于设置”,是一款更符合实际需要而且更加高效的Web开发框架。Rails是一个全栈式的MVC框架,使用它可以实现MVC模式中的各个层次,并使它们无缝地协同运转起来。除此以外,还有编写更少的代码、零周转时间等优点。(项目详情

    代码托管地址:    https://github.com/rails/rails

    推荐相关文档:

    推荐下载资源:


    Express

    Express是 Node.js 的一个MVC开发框架,支持jade等多种模板,是Node.js上最流行的Web开发框架。提供一系列强大特性帮助你创建各种Web应用。Express不对Node.js已有的特性进行二次抽象,只是在Node.js基础上扩展了Web应用所需的功能。(项目详情

    代码托管地址:    https://github.com/strongloop/express

    推荐相关文档:


    Django


    Django是一个由Python写成的开源的Web应用框架。采用了MVC的软件设计模式。它开发最初是被用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站,并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。Django的主要目标是使开发复杂、数据库驱动的网站变得简单。Django注重组件的重用性和“可插拔性”,敏捷开发和DRY(Don't Repeat Yourself)法则。(项目详情

    代码托管地址:    https://github.com/django/django

    推荐相关文档:

    推荐下载资源:


    Meteor

    Meteor是一种新型JavaScript框架,用于WebApp应用程序开发。Meteor的基础构架是Node.JS+MongoDB,它把这个基础构架同时延伸到了浏览器端,如果App用纯JavaScript写成,JS APIs和DB APIs就可以同时在服务器端和客户端无差异地调用,本地和远程数据通过DDP(Distributed Data Protocol)协议传输。因此部分应用如TODO列表,网络在线和离线下使用功能完全没有差异,动作响应和数据延迟也完全感觉不出来。(项目详情

    代码托管地址:    https://github.com/meteor/meteor

    推荐相关文档:


    CakePHP


    CakePHP是一款基于PHP的免费开源框架,运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目可以让PHP开发人员快速地开发出健壮、灵活的Web应用。(项目详情

    代码托管地址:    https://github.com/cakephp/cakephp

    推荐相关文档:

    推荐下载资源:


    Symfony


    Symfony是一款基于MVC架构的PHP开源框架,基于PHP5开发,其致力于减少重复代码的编写,以加速Web应用的开发和维护。并且在企业背景下构建非常健壮的应用。Symfony拥有简单的模板功能、缓存管理、自定义URL等特点。对于新手来说,也非常容易上手。(项目详情

    代码托管地址:    https://github.com/symfony/symfony

    推荐相关文档:

    推荐下载资源:


    Sinatra


    Sinatra是一款非常轻量的Web框架,基于Ruby语言开发,旨在以最小的精力为代价快速创建Web应用为目的的DSL(领域专属语言)。Sinatra最大的特点就是非常轻量、快速,整个源码也只有1000多行。(项目详情

    代码托管地址:    https://github.com/sinatra/sinatra

    推荐相关文档:


    Flask

    Flask是一个轻量级的、高扩展性的Web应用“微”框架,使用最简单的核心,并允许你通过Flask-extension扩展各种功能,以满足Web应用开发中的所有需求。Flask依赖于两个外部库:Jinja2 模板引擎和Werkzeug WSGI工具集。(项目详情

    代码托管地址:    https://github.com/mitsuhiko/flask

    推荐相关文档:


    Laravel


    Laravel是一个简单优雅的PHP Web开发框架,允许开发者通过简单、高雅、表达式语法开发出很棒的Web应用,将开发者从意大利面条式的代码中解放出来。Laravel在功能上具有语法表现力更丰富、高质量的文档、丰富的扩展包、开源免费等优点。其次,Laravel易于理解并且非常强大,它提供了强大的工具用以开发大型、健壮的应用。(项目详情

    代码托管地址:    https://github.com/laravel/laravel

    推荐相关文档:

    推荐下载资源:


    Sails


    Sails是一个构建于Node.js基础之上的实时MVC框架,能够帮助开发人员轻松构建自定义、企业级的Node.js应用。它设计成类似于Ruby on Rails的MVC架构,但支持较为现代的风格,且是面向数据的Web应用程序开发。它特别适合实时功能开发,如聊天。得克萨斯州奥斯汀的Balderdash团队在4月9日发布了Sails 0.8.9版。Balderdash团队长期并持续地致力于为现代Web应用打造类Rails的开发平台。(项目详情

    代码托管地址:    https://github.com/balderdashy/sails

    推荐相关文档:


    Revel

    Revel 是 Go 的全堆栈Web框架,其思路完全来自 Java 的 Play Framework,授权协议为MIT。

    代码托管地址:    https://github.com/revel/revel

    推荐相关文档:

     

    展开全文
  • 常见的Web应用服务器

    2020-02-16 17:55:19
    Web应用程序运行需要有Web服务器来提供支持。在Java Web开发中,最长使用以下四种服务器。 1. Tomcat服务器 Tomcat服务器还是很受欢迎,是Apache公司下产品,以轻量级为首要特点。 2. JBoss服务器 JBoss是...
  • 本文推荐了11款常见的Web应用程序框架,并列出了相关的学习资料和下载文档。如果对这些项目还不熟悉,就赶紧学起来吧~ Rails Rails是Ruby on Rails的简称,是一款开源的Web应用框架,采用Ruby语言,其设计原则...
  • 2、常见的Web应用攻击

    2015-10-25 10:36:02
    Open Web Application Security Project(OWASP),该组织致力于发现和解决不安全 Web 应用的根本原因。它们最重要的项目之一是“Web 应用的十大安全隐患”,总结了目前 Web 应用最常受到的十种攻击手段... 常见的 We
  • 常见的 Web 应用攻击

    2013-08-21 11:31:13
    仅仅转载了其中一部分,详细内容请参考原文...在 OWASP 组织列举十大 Web 应用安全隐患中,有两个概率最高攻击手段,它们分别是“跨站点脚本攻击”(Cross-Site Scripting)和“注入缺陷”(Injection Flaws
  • 11款常见的Web应用程序框架 2014-09-12 16:13CSDN 本文推荐了11款常见的Web应用程序框架,并列出了相关的学习资料和下载文档。如果对这些项目还不熟悉,就赶紧学起来吧~ Rails Rails是...
  • 识别常见的Web应用安全漏洞

    千次阅读 2014-10-28 14:37:48
    由于众多安全工作集中在网络本身上面,Web应用程序几乎被遗忘了。也许这是因为应用程序过去常常是在一台计算机上运行独立 程序,如果这台计算机安全话,那么应用程序就是安全。如今,情况大不一样了,Web应用...
  • 它是利用现在已有的应用程序,将SQL语句插入到数据库中执行,执行一些并非按照设计者意图SQL语句。 2.原因: 根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全数据库配置或数据库平台...
  • 开源组织Apache产品。免费。支持部分JavaEE规范。(servlet、jsp。jdbc,但ejb, rmi不支持) 如果是压缩版话 ,直接解压就可以使用。 打开tomcat: 找到%tomcat%/bin/startup.bat,双击这个文件 b)...
  • 1.注入***Web应用主要有2种最常见的严重缺陷。首先是各种形式的注入***,其中包括SQL、操作系统、电子邮件和LDAP注入,它们的***方式都是在发给应用的命令或查询中夹带恶意数据。别有用心的数据可以让应用执行一些...
  • APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等动态...因为jsp需要连接数据库的话 就要jdk来提供连接数据库的驱程,所以要运行jsp的web服务器平台就需要APACHE
  • 通过对结果整理、研究对 Web 应用的安全检测和漏洞防范有了新理解和认识。在这里分享一下,实际上一些概念也比较常见了,其中还结合了几个实际样例代码,希望大家能够有所交流、提高。   SQL Inject...
  • Java Web应用的常见思路
  • 本场 Chat 分享主要介绍web应用常见的用户认证方式 本场 Chat 内容将涉及如下: cookie/session方式认证 basic 认证 使用jwt认证 oauth认证
  • 论攻击Web应用的常见技术攻击目标:应用HTTP协议的服务器和客户端、以及运行在服务器上的Web应用等。攻击基础:HTTP是一种通用的单纯协议机制。在Web应用中,从浏览器那接受到的HTTP请求的全部内容,都可以在客户端...
  • 常见的WEB服务器和应用服务器

    千次阅读 2014-03-13 11:03:17
    常见的WEB服务器和应用服务器  在UNIX和LINUX平台下使用最广泛的免费web服务器是W3C、NCSA和APACHE服务器,而Windows平台NT/2000/2003使用IIS的WEB服务器。  在选择使用WEB服务器应考虑的本身
  • 总体来说字符编码解决问题都是基于HTTP 协议,所以以下所有内容归根到底都是Http问题,建议参详《Http权威指南》对问题有更好...以下是 Java Web应用的常见编码问题 1. html页面编码 在web应用中,通常浏
  • 从今天开始,我将陆续给大家介绍常见的Web应用安全性问题。 Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见、比较常见和有点常见这种级别的。我相信从Web应用安全角度来...
  • web应用程序是对web或者应用服务器的动态扩展,有两种类型的web应用:面向表现和面向服务的,面向表现的web应用程序会产生包含了很多种标记语言和动态内容的交互的web页面作为对请求的响应,而面向服务的web应用实现...
  • Web 应用常见的攻击和防御

    千次阅读 2020-02-04 16:20:56
    引言 关于 Web 安全方面问题,我想从事 Web 前端开发同学,或多或少都会有些了解,例如 XSS (跨站点脚本攻击...主动攻击,即攻击者通过 Web 应用直接将攻击代码传入,例如 SQL 注入、OS 命令注入 被动攻击,即...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,813
精华内容 5,925
关键字:

常见的web应用