1、HTML

1.1 Web页面几乎全由HTML构建

HTML是为了发送Web上的超文本而开发的标记语言。

超文本是一种文档系统,可将文档中任意位置的信息与其他信息(文本或图片)建立关联,即超链接文本。

标记语言是指通过在文档的某部分穿插特别的字元串标签,用来修饰文档的语言。

由HTML构成的文档经过浏览器的解析、渲染后,呈现出来的结果就是Web页面。

1.2 设计应用CSS

CSS的理念就是让文档的结构和设计分离,达到解耦的目的。

2、动态HTML

2.1 让Web页面动起来的动态HTML

所谓动态HTML,是指使用客户端脚本语言将静态的HTML内容变成动态的技术的总称。

2.2 更易控制HTML的DOM

通过调用JS等脚本语言对DOM的操作,可以以更为简单的方式控制HTML的改变。

3、Web应用

3.1 通过Web提供功能的Web应用

原本应用HTTP协议的Web的机制就是对客户端发来的请求,返回事前准备好的内容,现在更需要引入由程序创建HTML内容的做法。

类似这种由程序创建的内容称为动态内容。而事先准备好的内容称为静态内容。Web应用则作用于动态内容上。

3.2 与Web伺服器及程序协作的CGI

CGI(通用网关介面)是指Web伺服器在接收到客户端发送过来的请求后转发给程序的一组机制。在CGI的作用下,程序会对请求内容作出相应的动作,比如创建HTML等动态内容。

3.3 因Java而普及的Servlet

Servlet是一种能在伺服器上创建动态内容的程序。Servlet是Java语言实现的一个介面,属于面向企业级Java的一部分。

Web的攻击技术

互联网上的攻击大都将Web站点作为目标

1、针对Web的攻击技术

应用HTTP协议的伺服器和客户端,以及运行在伺服器上的Web应用等资源才是攻击目标。

1.1 HTTP不具备必要的安全功能

整体上看,HTTP就是一个通用的单纯协议机制。

1.2 在客户端即可篡改请求

在HTTP请求报文被载入攻击代码,就能发起对Web应用的攻击。

1.3 针对Web应用的攻击模式

主动攻击

主动攻击是指攻击者通过直接访问Web应用,把攻击代码传入的攻击模式。直接针对伺服器上的资源进行攻击,攻击者需要能够访问那些资源。

代表性:SQL注入、OS命令注入

被动攻击

被动攻击是指利用圈套策略执行攻击代码的攻击模式。

利用用户的身份攻击企业内部网路

2、因输出值转义不完全引发的安全漏洞

实施Web应用的安全对策可大致分为两部分

客户端验证

Web应用端(服务端)的验证(输入值验证、输出值转义)

保留客户端验证只是为了尽早地辨识输入错误,起到提高UI体验的作用。

输入值验证通常是指检查是否是符合系统业务逻辑的数值或检查字元编码等预防对策。

2.1 跨站脚本攻击

XSS是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JS进行的一种攻击。

造成的影响:骗取用户个人信息、利用cookie,帮助攻击者发送恶意请求。

在动态生成HTML处发生、XSS是攻击者利用预先设置的陷阱触发的被动攻击。

对用户Cookie的窃取攻击

2.2 SQL注入攻击

是指针对Web应用使用的资料库,通过运行非法的SQL而产生的攻击。

2.3 OS命令注入攻击

指通过Web应用,执行非法的操作系统命令达到攻击的目的。只要在能调用Shell函数的地方就有存在被攻击的风险。

2.4 HTTP首部注入攻击

攻击者通过在响应首部栏位内插入换行,添加任意响应首部或主体的一种攻击。属被动攻击。

(两个换行)向首部主体内添加内容的攻击称为HTTP响应截取攻击。

影响:设置任何Cookie信息、重定向至任意URL、显示任意的主体(HTTP响应截断攻击)

另外,滥用HTTP/1.1 中汇集多响应返回功能,会导致缓存伺服器对任意内容进行缓存操作。这种攻击称为缓存污染。

2.5 邮件首部注入攻击

2.6 目录遍历攻击

2.7 远程文件包含漏洞

3、因设置或设计上的缺陷引发的安全漏洞

3.1 强制浏览

3.2 不正确的错误消息处理

3.3 开放重定向

4、因会话管理疏忽引发的安全漏洞

4.1 会话劫持

4.2 会话固定攻击

4.3 跨站点请求伪造 (CSRF)

5、其他安全漏洞

5.1 密码破解

5.2 点击劫持

5.3 DoS攻击

是一种让运行中的服务呈停止状态的攻击。

5.4 后门程序

推荐阅读:

相关文章