Web安全测试—Web应用基础

  基本构件

  Web应用有各种各样的形式和规模。可能是一台服务器,使用相当轻量级的脚本语言,向用户发送各种类型的报告;也可能是庞大的B2B工作流系统,每小时处理上百万条订单和发票;也可能是介于两者之间的任何形式。

  什么是技术栈

  任何Web应用中,我们都必须考虑一套技术,这些技术通常是一个堆栈。最底层是操作系统,提供对原语操作的访问(如:读写文件和网络通信)。往上一层是服务器软件,它接受HTTP连接,解析连接并返回对应的响应。再上一层是逻辑层,它是真正地考虑输入\输出。

应用程序(应用层)
中间件(中间层)
HTTP服务器(服务层)
操作系统
网络服务(网络层)

  网络服务:外部网络服务可能会对测试造成致命的影响。网络服务包括负载均衡器,应用防火墙及将数据包经由网络发送到服务器的各种设备。应用防火墙会对恶意行为测试造成影响,如应用防火墙过滤了有害的输入,那么恶意行为测试就有可能没有效果。

  操作系统:大多数人都熟悉常见的用作Web服务器的操作系统(windows\Mac等)。它们在连接超时、防病毒测试和数据存储这类事情上起着重要的作用。重要的是要能够区分这一层的行为和其他层的行为。

  HTTP服务器:部分软件必须运行在操作系统中并监听HTTP连接。可能是IIS、Apache、Tomcat或者其他服务器软件包。和操作系统一样,服务器的行为可能会影响你的软件且有时会造成误解。如:用户的userId和password可以是应用本身验证,也可以是配置的HTTP服务器软件来验证。

  中间件:中间件是非常大而宽泛的种类,它可以是介于服务器和业务逻辑之间的任何种类的软件。可以是运行时环境(.NET和J2EE),也可以是WebLogic和WebShpere这样的商业产品。软件设计中加入中间件的原因是为了获得比服务器软件更复杂的功能,可以在这基础上建立自己的业务逻辑。

 

posted @   Alpha_To_Beta  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示