Web应用攻击-概览

in 网络攻防技术 with Views: 851

本篇文章对于Web攻击方式与分类做了个简单的归纳,看完后能对Web安全方面有些成体系的印象。

只有2.1XSS、3.2.1SQL注入攻击、4.2.4CSRF有详细细节。我希望本文起的是大纲的作用,看右边的目录线也可以。

概述

I. Web客户端攻击

跨站脚本攻击 Cross-Site Scripting (XSS)

根据Web应用对注入的JavaScript或HTML代码的处理方式的不同 以及XSS攻击触发时机的不同,可分为:

XSS可能被用于的攻击方式有Cookie窃取、会话劫持、网络钓鱼、信息刺探、网页挂马、XSS蠕虫 ……

防范XSSHttpOnly属性安全编码,如PHP有安全编码函数htmlentities()和htmlspecialchars()等。

网络钓鱼

网页挂马

II. Web服务器攻击

网页篡改

代码注入攻击

SQL注入攻击

根据SQL注入点类型的不同:

根据注入时是否有错误信息输出:

SQL注入可能被利用来 绕过身份鉴别机制,识别数据库系统,提取数据库中的数据,执行命令,提升权限,写入木马程序 ……

防范SQL注入:特殊字符转义,如PHP中有转义函数;输入验证和过滤,如数据类型验证/转换或基于正则表达式验证过滤;参数化方法,一般采用占位符或绑定变量。

程序代码注入攻击

命令注入攻击

数据注入攻击

文件操作控制攻击

III. HTTP协议攻击

HTTP头注入攻击

HTTP会话攻击

背景知识点:HTTP是无状态协议;一次网页会话包括会话ID和变量集。

HTTP会话攻击分类:

预测会话ID

⭐防范:采用编程语言内置的会话管理机制。

窃取会话ID

⭐防范:需有针对性。如针对XSS攻击导致的会话ID窃取,采用HttpOnly属性等。

控制会话ID

⭐防范:针对会话ID固定攻击,尽可能采用非会话采纳(Session Adoption)的Web环境;针对会话ID保持攻击,可通过强制销毁措施用户登陆后更改会话ID来确保ID不能长期有效。

跨站请求伪造攻击 Cross-Site Request Forgery (CSRF)

CSRF攻击包含五个步骤:

🙃被攻击者:Grace. 😈攻击者:Evil.

📌 1. Grace🙃使用合法账户登录Web应用系统。
📌 2. Web应用系统在验证账户信息后,登录成功,并给Grace🙃返回一个会话ID = xxx,以表示登陆成功状态信息。
📌 3. Grace🙃在未退出Web应用系统的情况下,访问Evil😈所控制的恶意Web网页。
📌 4. Evil😈在返回的Web网页中嵌入恶意脚本,这段脚本能发起对Web应用系统的HTTP请求。
📌 5. 恶意脚本在Grace🙃的浏览器上执行,发送伪造的HTTP请求到Web应用系统,同时自动捎带会话ID = xxx,请求操作成功。

防范CSRF:验证码;请求来源检查;增加参数的不可预测性等。

Responses
  1. 哈哈哈

    我还以为上面的教程是实例emmmmm

    Reply
    1. @哈哈哈

      所以标题里写的“概览”,开头写的“大纲”emmm,可能标签不够精准

      Reply