黑客攻防技术宝典-Web实战篇——第三章、web应用程序技术(web功能)(服务器功能)

第三章、Web应用程序技术(web功能)

这一章按照上回
末尾所说学习web功能,除了核心通信机制使用的核心技术之外,web应用程序还使用独有技术实现特有功能。所以渗透前要摸头web的功能。
Web功能分为:

  • 服务器功能
  • 客户端功能
  • 会话与状态

服务器功能

早期,web站点由HTML文档与图片等静态资源组成,用户请求==静态资源==,web站点返回。

现在web依然有很多静态资源,但是更多的是用户==动态请求==,web应用程序根据用户的请求参数来返回动态的响应内容。动态内容通常是由在服务器上执行的脚本生成。(脚本可以看做一个程序,有输入、输出、执行
HTTP请求提交参数的方式有:

  • 通过URL使用请求字符串
  • 通过HTTP Cookie
  • 请求主体中使用POST方法
    除此以外,服务器可以使用HTTP请求中任何部分作为输入。

web应用程序在服务器端使用大量技术实现其功能:

  • 脚本语言(PHP,Vbscript,Perl)
  • web应用程序平台(ASP.NET、Java)
  • web服务器(Apache、IIS、Netscape Enterprise)
  • 数据库(MS-SQL、Oracle、Mysql)
  • 其他后端组件(文件系统、基于SOAP的目录服务)

web应用程序平台及语言

  1. Java平台
    java平台企业版是大型企业的标准应用程序,由Sun公司开发,应用多层,负载均衡,适用于模块化开发与代码重复利用。同时还有许多高质量的开发工具,服务器,框架。

几个专用术语:

  • Enterprise java bean(EJB):是用于构建高度可扩展性和强大的企业级应用程序被部署在J2EE应用服务器如JBoss的开发架构,Web逻辑等。
  • 简单传统java对象:普通java对象,表示用户定义的轻量级框架中的对象。
  • Java Sverlet:应用程序服务器的一个对象,接收HTTP请求并返回响应。提供web应用程序开发接口。
  • JavaWeb容器:基于java的web应用程序运行的平台或环境。例如:Apache、Tomcat。

如果渗透前找到应用程序的开源软件包,那么就可以进行代码审查,寻找漏洞

  1. ASP.NET
    微软开发的应用程序框架。使用.NET Framework,提供一个虚拟机(CLR,通用语言运行时)与一组强大的API。 可以用Visual Studio开发。
  2. PHP
    ·功能强大、应用丰富。经常与其他技术整合使用,例如(LNMP:Linux,Nginx,Mysql,PHP)。
    因为免费而且简单易用,所以应用广泛。但是PHP框架设计与默认配置导致代码中有很多漏洞。后续会详细讲解。

最后来个web应用程序整和:


你可能感兴趣的:(黑客攻防技术宝典-Web实战篇——第三章、web应用程序技术(web功能)(服务器功能))