WEB应用程序原理(概述)_xiaofengdada的博客-CSDN博客

WEB应用程序的开发和研究_xiaofengdada的博客-CSDN博客


一、Web服务器的组成

首先来看操作系统和web服务器应用程序,对于绝大多数的使用者而言,不会去开发操作系统和web服务器应用程序,只会在现有的操作系统中进行选择,而web服务的建设者只负责安装和部署这两个部分。由于web服务的建设者既不熟悉它们的内部机制,也不能改变内部机制,所以这些因素归结为外部环境因素。

相对于web应用程序而言,建设者可以获取对web应用程序的访问权,也可以对其改动,所以将web应用程序和语言解释器归结为内部代码因素


二、外部环境因素

1、操作系统漏洞

目前大部分的WEB服务器使用的是windows和Linux作为操作系统,下图是官方发布的关于windows server 2012的漏洞,这些漏洞可在CVE官方站点查到

Windows server 2012漏洞数量逐年统计的柱状图如下:

2013年虽然只有52个漏洞,但其中有两个高危漏洞CVE-2013-3175和CVE-2013-3195被评为10分的漏洞。2017年的一个针对windows高危漏洞cve-7-0146漏洞至今仍然有作用,这个漏洞还未完全解决,新的针对linux的CVE-2017-7494漏洞就出现了。

2.WEB服务器应用程序的漏洞

web应用程序除了运行在windows操作系统的IIS,还有可以跨平台的Apache,Nigix,Jboss以及Tomcat这些应用程序都存在或多或少漏洞

下图给出了2000-2019年Tomcat存在的漏洞

如果按照漏洞类型进行划分,结果如下图:

使用zommEye在互联网上查找使用Jboss的服务器

ZoomEye - Cyberspace Search Engine

3.Docker的缺陷


三、内部代码因素

1.常见的WEB应用程序漏洞

目前国际上对web安全的权威参考主要来自于开放式的web应用程序安全项目(OWASP)。OWASP每隔一段时间会发布关于web应用程序的风险标准

A1:2017-注入:注入缺陷,例如 SQL、NoSQL、OS 和 LDAP 注入,当不受信任的数据作为命令或查询的一部分发送到解释器时就会发生。攻击者的恶意数据可以诱使解释器在未经适当授权的情况下执行意外命令或访问数据。

A2:2017-失效的身份认证:与身份验证和会话管理相关的应用程序功能经常被错误地实现,允许攻击者破坏密码、密钥或会话令牌,或者利用其他实现缺陷来暂时或永久地假设其他用户的身份。

A3:2017-敏感数据泄露:许多 Web 应用程序和 API 没有正确保护敏感数据,例如金融、医疗保健和 PII。攻击者可能会窃取或修改此类保护不力的数据,以实施信用卡欺诈、身份盗用或其他犯罪活动。敏感数据可能会在没有额外保护的情况下受到损害,例如静态或传输中的加密,并且在与浏览器交换时需要特殊的预防措施。

A4:2017-XML 外部实体 (XXE):许多旧的或配置不当的 XML 处理器评估 XML 文档中的外部实体引用。外部实体可用于使用文件 URI 处理程序、内部文件共享、内部端口扫描、远程代码执行和拒绝服务攻击来公开内部文件。

A5:2017-失效的控制访问:对经过身份验证的用户可以做什么的限制通常没有得到适当的执行。攻击者可以利用这些缺陷来访问未经授权的功能和/或数据,例如访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。

A6:2017-安全配置错误:安全配置错误是最常见的问题。这通常是由于不安全的默认配置、不完整或临时配置、开放云存储、错误配置的 HTTP 标头和包含敏感信息的详细错误消息造成的。不仅必须安全地配置所有操作系统、框架、库和应用程序,而且必须及时修补/升级它们。

A7:2017-跨站脚本攻击:每当应用程序在新网页中包含不受信任的数据而未经适当验证或转义,或使用可创建 HTML 或JavaScript。XSS 允许攻击者在受害者的浏览器中执行脚本,这些脚本可以劫持用户会话、破坏网站或将用户重定向到恶意站点。

A8:2017-不安全的反序列化:不安全的反序列化通常会导致远程代码执行。即使反序列化缺陷不会导致远程代码执行,它们也可以被用来执行攻击,包括重放攻击、注入攻击和提权攻击。

A9:2017-使用具有已知漏洞的组件:组件(例如库、框架和其他软件模块)以与应用程序相同的权限运行。如果利用易受攻击的组件,此类攻击可能会导致严重的数据丢失或服务器接管。使用具有已知漏洞的组件的应用程序和 API 可能会破坏应用程序防御并引发各种攻击和影响。

A10:2017-不足的日志记录和监控:日志记录和监控不足,再加上与事件响应的集成缺失或无效,允许攻击者进一步攻击系统,保持持久性,转向更多系统,并篡改、提取或破坏数据。大多数违规研究表明检测违规的时间超过 200 天,通常由外部方而不是内部流程或监控检测到

2、web渗透测试程序

目前为了让web程序开发者和安全研究人员对各种漏洞的研究有入口,世界上很多安全组织都开发了用于教学和实践的web测试程序。

DVWA全称是Damn Vulnerable Web App,是一个用PHP编写而成的web漏洞测试程序,其中使用了SQL。这个web漏洞测试程序提供了暴力破解、命令执行、CSRF、文件包含、SQL注入、XSS等web漏洞测试环境。本次教学将使用这个程序。

还有一个测试程序叫WebGoat是由OWASP设计的web应用程序漏洞测试程序。主要运行在装有JAVA的虚拟机平台上,当前提供了30多个训练课程,包括跨站脚本攻击、访问控制、线程安全、操作隐藏字段、弱会话Cookie、SQL盲注、数字型SQL注入、字符串型SQL注入、web服务、open Authentication 失效、危险的HTML注释等。

另外比较常用的WEB漏洞测试程序还有OWAP Bricks、SQLi-Labs、multilidaemutillidate、hackxorhackxor、BodgeItBodgeIt、ExploitB/exploit.co.il、XSSeducation、Hackademic等

Web应用程序安全原理(Web服务面临的威胁)相关推荐

  1. 渐进式web应用程序_渐进式Web应用程序简介

    渐进式web应用程序 Interested in learning JavaScript? Get my ebook at jshandbook.com 有兴趣学习JavaScript吗? 在jsha ...

  2. WEB应用程序及IIS WEB 服务器介绍

    I.         了解 Web 应用程序 1.      概述 Web 应用程序是一个包含多个页的 Web 站点,这些页可能是静态的 html 网页,也可能是动态的网页(如: ASP.NET . ...

  3. 渐进式web应用程序_渐进式Web应用程序:简介

    如果您从事网站建设业务,那么您可能会越来越多地听到人们谈论渐进式Web应用程序 (PWA). 由Google开发的PWA在吸引用户方面具有网络的所有优势,以及用户可以从本地应用程序获得的速度和可靠性. ...

  4. ATL服务器:用 Visual C++创建的高性能的Web应用程序和XML Web 服务

    C++是很多网络中繁忙站点的核心.这为构建中间层企业逻辑提供了高度的性能基础,经常用于扩展Web 服务器和动态地生成HTML.今天使用Internet信息服务(IIS)和Visual Studio?的 ...

  5. EE Servlet 3:如何在Web应用程序中设置后端服务

    在Web应用程序中,提供用户界面(UI)通常只是工作的一半. 许多应用程序都有后端服务支持的要求. 后端服务的一些示例是调度程序进程(批处理),侦听队列并在消息进入时作出响应,或者是简单的事情,例如存 ...

  6. 渐进式web应用程序_渐进式Web应用程序与加速的移动页面:有什么区别,哪种最适合您?

    渐进式web应用程序 Do you understand what PWAs and AMPs are, and which might be better for you? Let's have a ...

  7. 渐进式Web应用程序居然是Web开发的未来

    导言 在不断变化的市场均衡中,随着对更多可扩展和跨平台Web和企业应用程序的需求的增加,Web开发环境发生了迅速的变化.为了帮助企业解决其业务需求,并与客户无缝地使用一系列设备和平台,遗留的Web应用 ...

  8. 渐进式web应用程序_渐进式Web应用程序终极指南

    渐进式web应用程序 Progressive Web Apps, aka PWAs, are the best way for developers to make their webapps loa ...

  9. c#创建web应用程序_创建Web应用程序图标集的6个步骤

    c#创建web应用程序 I am not great at creating logos or icons, mainly because of the lack of practice. So wh ...

  10. html web上传文件原理,Web上传文件的原理及实现

    本文为原创,如需转载,请注明作者和出处,谢谢! 现在有很多Web程序都有上传功能,实现上传功能的组件或框架也很多,如基于java的Commons FileUpload.还有Struts1.x和Stru ...

最新文章

  1. 原型链Object的一些方法
  2. nginx与mysql传输过程_某互联网企业技术发展史(四)配置nginx和mysql兼容Yii框架,上传网站并调试成功...
  3. 也说电影《魔比斯环》
  4. 重磅 | 数据库自治服务DAS论文入选全球顶会SIGMOD,领航“数据库自动驾驶”新时代
  5. 本人计划继续写飞鸽传书,支持的人有吗?
  6. Vue之动态组件(二)
  7. 用子函数实现strlen.strcpy.strcat.strcmp(完整代码)
  8. PostgreSQL中的执行计划
  9. 【Flink】FLink 1.13 3 种 命令客户端 GenericCLI 、 FlinkYarnSessionCli、DefaultCLI
  10. python和c 的区别-python和c语言的主要区别总结
  11. mybatis一简单one2one关系xml配置
  12. 高内聚低耦合_拉锥耦合器最强粘接方案
  13. 恒生电子java招聘_【恒生电子工资】java开发工程师待遇-看准网
  14. 什么是开源网络情报?有什么特点?
  15. QT警告Slots named on_foo_bar are error prone
  16. 毕业设计游戏类网站设计静态页面基于html,div+css+jquery(含源码)
  17. 爬虫爬取www.newdianying.com心心电影网电影资源实例
  18. 烤仔的朋友们 | 一文告诉你,什么是加密艺术?
  19. fastAPI简单使用
  20. 英语写作翻译-动词(一)

热门文章

  1. 本科计算机软件类毕业论文写作那些事
  2. 汇编语言 数据寄存器AX、BX、CX、DX
  3. Xcode调试技巧总结
  4. 约翰·冯·诺依曼的开挂人生
  5. java使用Jco连接SAP
  6. Mac/Linux/Windos下仿站工具,基于Python的仿站工具,earnp/imitation仿站工具发布
  7. 谈谈创业这点事 之 时间窗口
  8. 网吧十大漏洞曝光(转)
  9. html武侠文字游戏源码,执剑行!最新武侠文字mud游戏
  10. logistic回归分析优点_Logistic回归——回归系数