前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >渗透测试web安全综述(1)——Web技术发展

渗透测试web安全综述(1)——Web技术发展

原创
作者头像
zhouzhou的奇妙编程
发布2024-09-16 18:56:19
1220
发布2024-09-16 18:56:19
举报
文章被收录于专栏:渗透测试专栏

Web起源

WWW(World Wide Web),即全球广域网,也称WWW或万维网。

Web是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统:是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。

  • 1989年3月12日,实现了超文本传输协议(HTTP)客户端和服务器之间通过互联网的第一次成功通信。
  • 1990年11月,这个新系统的基本框架已经在CERN中的一台计算机中开发出来并实现了,成功研发了世界第一台Web服务器和Web浏览器。
  • 1991年该系统移植到了其他计算机平台,并正式发布。
  • HTML、HTTP、URI、浏览器、Web服务器,就此发明问世。

Web核心组成

  • URI(统一资源标识符):解决了文档的命名和寻址识别问题
  • HTTP(超文本传输协议):解决了浏览器与服务器应用层之间的交流问题
  • HTML(超文本标记语言):定义了超文本文档的表示
  • 浏览器用于发起请求,并且解析文档
  • 服务器用于保存文档

Web架构

操作系统

操作系统(Operating System,OS)是一种软件(计算机由硬件和软件组成它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁,为了方便使用,承上启下(类比于:接口、中间人、中介等),操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,提供一些基本的服务程序。

常见的如:Windows、Linux、MacOS等。

存储

  • 现代信息技术中用于保存信息的记忆设备
  • 用于存储的设备被称作为存储介质
  • 用于规定、管理存储的软件,称为存储管理系统
  • 按照一定的约定,有规律的存放数字信息

常见的如:内存、硬盘、U盘、数据库(sql、mysql、oracle)存储。

Web服务器

对外提供静态页面Web服务的软件系统。

  • 处理HTTP协议
  • 接收、处理、发送静态页面
  • 处理并发、负载均衡

常见的如:Apache、llS、Nginx。

Web容器

为了满足交互操作,获取动态结果,而提供的一些扩展机制能够让HTTP服务器调用服务端程序,会用于处理动态页面请求(解释器),如asp、jsp、php、cgi。

常见的如:Tomcat、weblogic、Jboss、Webshere。

Web服务端语言

用于提供Web页面的自定义功能,专业处理互联网通信,使用网页浏览器作为用户界面。

可以动态地编辑、修改或添加网页内容。可以对用户从HTML提交的查询或数据进行响应,访问数据或数据库,并把结果返回到浏览器。也可以访问文件或XML数据并把结果返回到浏览器,把XML转换为HTML,并把结果返回到浏览器。还可以为不同的用户定制页面,提高页面的可用性,对不同的网页提供安全的访问控制,为不同类型的浏览器设计不同的输出等。

常见的如:PHP、ASP、JAVA等。

Web开发框架

类似于模板,用来支持动态网站、网络应用程序及网络服务的开发。

常见的如:PHP的thinkphp、Java的Struts2、Spring等。

软件系统

cms、bbs、blog、Wordpress等

框架就是将一些常用操作封装起来,并给合一些设计模式,用来规范和简化程序员的开发流程;而cms等软件系统一般都属于一个完整的系统,有页面、有数据库部署在站点上之后就能直接通过浏览器地址来访问,可以基于框架开发。

访问流程

  • 访问URL : www.baidu.com
  • 域名解析
  • 建立TCP连接
  • 发送HTTP请求
  • 服务器响应
  • 关闭TCP连接
  • 用户浏览器渲染页面

Web应用发展历程

早期静态页面

  • 无认证
  • 页面实际存在
  • 通过URL地址访问
  • 浏览器直接解析,无需服务器解释或者编译
  • 只能返回纯文本(静态的)文件
  • 信息是从服务端到客户端,单向传递,不支持动态交互
  • 修改复杂

动态页面

随着Web的发展,产生了交互的需求,信息要在客户端和服务端之间双向流动也就是动态网页的概念;所谓动态就是利用flash、php、asp、Java等技术在网页中嵌入一些可运行的脚本,用户浏览器在解释页面时,遇到脚本就启动运行它。

动态脚本的使用让Web服务模式有了“双向交流”的能力,Web服务模式也可以像传统软件一样进行各种事务处理,如编辑文件、利息计算、提交表单等,Web架构的适用面大大扩展。

这些动态脚本可以嵌入在页面中,如JS等。也可以以文件的形式单独存放在Web服务器的目录里,如.asp、.php、jsp文件等。这样功能性的脚本越来越多,形成常用的工具包,单独管理。Web业务开发时,直接使用就可以了,这就是中间件服务器它实际上是Web服务器处理能力的扩展。

  • 网页数据具备动态交互功能
  • 后台具备数据处理能力
  • 强大数据库作支撑

新的安全问题

Web应用指采用B/S架构、通过HTTP/HTTPS协议提供服务的统称。

随着互联网的广泛使用,Web应用已经融入到日常生活中的各个方面:网上购物网络银行应用、证券股票交易、政府行政审批等等。

在这些Web访问中,大多数应用不是静态的网页浏览,而是涉及到服务器端的动态处理。

此时,如果Java、PHP、ASP等程序语言的编程人员的安全意识不足,对程序参数输入等检查不严格等,就会导致Web应用安全问题层出不穷。

未完待续。。。


本文档所提供的信息仅用于教育目的及在获得明确授权的情况下进行渗透测试。任何未经授权使用本文档中技术信息的行为都是严格禁止的,并可能违反《中华人民共和国网络安全法》及相关法律法规。使用者应当合法合规地运用所学知识,不得用于非法入侵、破坏信息系统等恶意活动。我们强烈建议所有读者遵守当地法律与道德规范,在合法范围内探索信息技术。

我正在参与2024腾讯21天技术创作挑战赛|年中回顾特别季,年中技术沉淀,拯救你的flag,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Web起源
    • Web核心组成
      • Web架构
        • 操作系统
        • 存储
        • Web服务器
        • Web容器
        • Web服务端语言
        • Web开发框架
        • 软件系统
        • 访问流程
    • Web应用发展历程
      • 早期静态页面
        • 动态页面
          • 新的安全问题
          相关产品与服务
          渗透测试服务
          腾讯云渗透测试服务(Penetration Test Service, PTS),为客户提供针对于 Web 应用、移动 APP、微信小程序的黑盒安全测试内容;可以覆盖安全漏洞全生命周期,包括漏洞的发现、利用、修复以及修复后的验证。使用腾讯云渗透测试服务,可以随时将安全测试这一动作加入到您的产品研发、应用上线、安全自检等计划中来。不仅快速且便捷,而且稳定可靠,易于管理,有效的提升应用的安全能力。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档