Web For Pentester 阅读笔记(1)

The Web

网络应用程序是公司和研究机构在互联网上开放的最普遍的服务,而且,很多老的应用程序现在也已经有了网络版本。这些批量的改革使Web安全成为网络安全的一个重要部分。

Web 安全模型

最基本的Web安全模型是:不要相信客户端(传送的任何数据)。服务器端接受的大部分信息均可以被客户端伪造。安全第一,不要冒险;过滤任何数据比接受后发现不是用户控制端的数据要好很多。

Web 安全风险

Web应用程序具有应用程序的所有潜在风险:崩溃/信息泄露/信誉损坏/信息丢失/利益损失

Web 技术

架构

大多数Web应用程序依赖3个组件:

(1)客户端:大多数为Web浏览器

(2)从客户端接受请求的Web服务器端。如果可以唤起应用程序服务器处理请求,Web服务器仅将请求传送给应用程序服务器。

(3)返回和存取信息的存储后端:通常为数据库。

所有的组件可能有不同的行为,这些行为会受已存在且已爆出的漏洞的影响。所有的这些组件也可能表现出漏洞或者安全问题。


客户端技术

互联网用户通过浏览器(Chromium、Firefox、IE、Safari...)几乎天天使用大多数客户端技术:HTML、JavaScript、Flash...。然而,Web应用程序客户端也可以是臃肿的连接Web服务的客户端也可以仅是一个脚本。


服务器端技术

在服务器端有很多技术可以使用且对于Web问题都具有脆弱性,对于某个技术,通常会发生一些(固定的)问题。

服务器端可以划分为几个子类:

(1)Web服务器如Apache,lighttpd,Nginx,IIS...

(2)应用程序服务器如Tomcat,Jboss,Oracle Application Server...

(3)使用的程序语言:PHP,Java,Ruby,Python,ASP,C#,...程序语言也可以作为框架的一部分如Ruby-On-Rails,.Net MVC,Django.


存储后端

存储后端可以与Web服务器在一个服务器上,也可以在不同的服务器上。 这可以解释在利用相同漏洞时却表现出不同的行为的情况。

一些简单的后端的例子:

a、简单的文件

b、关系型数据库如Mysql、Oracle、SQL server、PostgreSQL..

c、其他数据库如MongoDB、CouchDB

d、目录存储如openLDAP或者Active Directory

一个应用程序可能使用多个存储后端。如一些应用程序使用LDAP存储用户和身份信息而使用Oracle存储信息。

你可能感兴趣的:(渗透测试相关)