《图解HTTP》-第十一章(完结)

 

第一次做读书笔记,不太熟练请见谅,笔记在有道云文章末尾分享链接,有需要的自行保存谢谢🙏

图解HTTP是个通俗易懂的书很适合初学者,有需要的话建议去买一本看,或者看电子档也行。

第十一章 Web的攻击技术

1.针对Web的攻击技术

1.HTTP不具备必要的安全功能

现今所有的 Web 网站都会使用会话 (session)管理、加密处理等安全性方面的功能,而 HTTP 协议内并 不具备这些功能。

2.在客户端即可篡改请求

在 Web 应用中,从浏览器那接收到的 HTTP 请求的全部内容,都可 以在客户端自由地变更、篡改。

在 HTTP 请求报文内加载攻击代码,就能发起对 Web 应用的攻击。 通过 URL 查询字段或表单、HTTP 首部、Cookie 等途径把攻击代码传 入,若这时 Web 应用存在安全漏洞,那内部信息就会遭到窃取,或 被攻击者拿到管理权限。

3.针对Web应用的攻击模式

  • 以服务器为目标的主动攻击

主动攻击(active attack)是指攻击者通过直接访问 Web 应用, 把攻击代码传入的攻击模式。

主动攻击模式里具有代表性的攻击是 SQL 注入攻击和 OS 命令注 入攻击。

  • 以服务器为目标的被动攻击

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

步骤 1:

攻击者诱使用户触发已设置好的陷阱,而陷阱会启动发送已嵌入攻击代码的 HTTP 请求。

步骤 2:

当用户不知不觉中招之后,用户的浏览器或邮件客户端就会触发这个陷阱。

步骤 3:

中招后的用户浏览器会把含有攻击代码的 HTTP 请求发送给作为攻击目标的 Web 应用,运行攻击代码。

步骤 4:

执行完攻击代码,存在安全漏洞的 Web 应用会成为攻 击者的跳板,可能导致用户所持的 Cookie 等个人信息被窃取, 登录状态中的用户权限遭恶意滥用等后果。

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

利用被动攻击,可发起对原本从互联网上无法直接访问的企业内网等网络的攻击。

只要用户踏入攻击者预先设好的陷阱,在用户能够访问到的网络范围内,即使是企业内网也同样会受到攻击。

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

  • 客户端的验证
  • Web 应用端(服务器端)的验证
    • 输入值验证
    • 输出值转义

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

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

当输出值转 义不完全时,会因触发攻击者传入的攻击代码,而给输出对象带来损 害。

1.跨站脚本攻击

跨站脚本攻击(Cross-Site Scripting,XSS)是指通过存在安全漏洞的 Web 网站注册用户的浏览器内运行非法的 HTML 标签或 JavaScript 进 行的一种攻击。

跨站脚本攻击的影响:

  • 利用虚假输入表单骗取用户个人信息。
  • 利用脚本窃取用户的 Cookie 值,被害者在不知情的情况下, 帮助攻击者发送恶意请求。
  • 显示伪造的文章或图片。

2.SQL注入攻击

SQL 注入(SQL Injection)是指针对 Web 应用使用的数据库,通 过运行非法的 SQL 而产生的攻击。

Web 应用通常都会用到数据库,当需要对数据库表内的数据进行 检索或添加、删除等操作时,会使用 SQL 语句连接数据库进行 特定的操作。

如果在调用 SQL 语句的方式上存在疏漏,就有可 能执行被恶意注入(Injection)非法 SQL 语句。

SQL注入攻击的影响:

  • 非法查看或篡改数据库内的数据
  • 规避认证
  • 执行和数据库服务器业务关联的程序等

3.OS命令注入攻击

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

OS 命令注入攻击可以向 Shell 发送命令,让 Windows 或 Linux 操作系 统的命令行启动程序。

4.HTTP首部注入攻击

HTTP 首部注入攻击(HTTP Header Injection)是指攻击者通过在响应首部字段内插入换行,添加任意响应首部或主体的一种攻击。属于被动攻击模式。

向首部主体内添加内容的攻击称为 HTTP 响应截断攻击(HTTPResponse Splitting Attack)。

HTTP首部注入攻击的影响:

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

5.邮件首部注入攻击

邮件首部注入(Mail Header Injection)是指 Web 应用中的邮件发送功 能,攻击者通过向邮件首部 To 或 Subject 内任意添加非法内容发起的 攻击。

利用存在安全漏洞的 Web 网站,可对任意邮件地址发送广告 邮件或病毒邮件。

6.目录遍历攻击

目录遍历(Directory Traversal)攻击是指对本无意公开的文件目录, 通过非法截断其目录路径后,达成访问目的的一种攻击。这种攻击有 时也称为路径遍历(Path Traversal)攻击。

通过 Web 应用对文件处理操作时,在由外部指定文件名的处理存在 疏漏的情况下,用户可使用 .../ 等相对路径定位到 /etc/passed 等绝对 路径上,因此服务器上任意的文件或文件目录皆有可能被访问到。这 样一来,就有可能非法浏览、篡改或删除 Web 服务器上的文件。

7.远程文件包含漏洞

远程文件包含漏洞(Remote File Inclusion)是指当部分脚本内容需要 从其他文件读入时,攻击者利用指定外部服务器的 URL 充当依赖文 件,让脚本读取之后,就可运行任意脚本的一种攻击。

这主要是 PHP 存在的安全漏洞,对 PHP 的 include 或 require 来说, 这是一种可通过设定,指定外部服务器的 URL 作为文件名的功能。

3.因设置活设计上的缺陷引发的安全漏洞

1.强制浏览

强制浏览(Forced Browsing)安全漏洞是指,从安置在 Web 服务器的公开目录下的文件中,浏览那些原本非自愿公开的文件。

对那些原本不愿公开的文件,为了保证安全会隐蔽其 URL。可一旦知 道了那些 URL,也就意味着可浏览 URL 对应的文件。直接显示容易 推测的文件名或文件目录索引时,通过某些方法可能会使 URL 产生泄露。

强制浏览的影响:

  • 泄露顾客的个人信息等重要情报
  • 泄露原本需要具有访问权限的用户才可查阅的信息内容
  • 泄露未外连到外界的文件

2.不正确的错误消息处理

不正确的错误消息处理(Error Handling Vulnerability)的安全漏洞是 指,Web 应用的错误信息内包含对攻击者有用的信息。

Web应用主要错误的信息:

  • Web 应用抛出的错误消息

上方画面提示“邮件地址未注册”的错误消息。当输入的邮件地址 尚未在该 Web 网站上注册时,就会触发这条错误消息。因为倘 若邮件地址存在,应该会提示“输入的密码有误”之类的错误消 息。

攻击者利用进行不同的输入会提示不同的错误信息这条,就可用 来确认输入的邮件地址是否已在这个 Web 网站上注册过了。

  • 数据库等系统抛出的错误消息

上方的画面中显示了与 SQL 有关的错误信息。对开发者而言,该信息或许在 Debug 时会有帮助,但对用户毫无用处。

攻击者从这条消息中可读出数据库选用的是 MySQL,甚至还看 见了 SQL 语句的片段。这可能给攻击者进行 SQL 注入攻击以启 发。

3.开放重定向

开放重定向(Open Redirect)是一种对指定的任意 URL 作重定向跳转 的功能。

可信度高的 Web 网站如果开放重定向功能,则很有可能被攻击者选中并用来作为钓鱼攻击的跳板。

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

1.会话劫持

会话劫持(Session Hijack)是指攻击者通过某种手段拿到了用户的会 话 ID,并非法使用此会话 ID 伪装成用户,达到攻击的目的。

攻击者可获得ID的途径:

  • 通过非正规的生成方法推测会话 ID
  • 通过窃听或 XSS 攻击盗取会话 ID
  • 通过会话固定攻击(Session Fixation)强行获取会话 ID

2.会话固定攻击

对以窃取目标会话 ID 为主动攻击手段的会话劫持而言,会话固定攻 击(Session Fixation)攻击会强制用户使用攻击者指定的会话 ID,属 于被动攻击。

3.跨站点请求伪造

跨站点请求伪造(Cross-Site Request Forgeries,CSRF)攻击是指攻击 者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信 息或设定信息等某些状态更新,属于被动攻击。

跨站点请求伪造的影响:

  • 利用已通过认证的用户权限更新设定信息等
  • 利用已通过认证的用户权限购买商品
  • 利用已通过认证的用户权限在留言板上发表言论

5.其他安全漏洞

1.密码破解

密码破解攻击(Password Cracking)即算出密码,突破认证。

破解密码的手段:

  • 通过网络的密码试错(主要两种)
    • 穷举法(Brute-force Attack,又称暴力破解法)是指对所有密钥 集合构成的密钥空间(Keyspace)进行穷举。
    • 字典攻击是指利用事先收集好的候选密码(经过各种组合方式后存入字典),枚举字典中的密码,尝试通过认证的一种攻击手法。
  • 对已加密密码的破解(指攻击者入侵系统,已获得加密或散 列处理的密码数据的情况)

2.点击劫持

点击劫持(Clickjacking)是指利用透明的按钮或链接做成陷阱,覆盖 在 Web 页面之上。然后诱使用户在不知情的情况下,点击那个链接 访问内容的一种攻击手段。

这种行为又称为界面伪装(UI Redressing)。

3.Dos攻击

DoS 攻击(Denial of Service attack)是一种让运行中的服务呈停止状 态的攻击。有时也叫做服务停止攻击或拒绝服务攻击。DoS 攻击的对 象不仅限于 Web 网站,还包括网络设备及服务器等。

Dos攻击方式:

  • 集中利用访问请求造成资源过载,资源用尽的同时,实际上服务也就呈停止状态。
  • 通过攻击安全漏洞使服务停止。

多台计算机发起的 DoS 攻击称为 DDoS 攻击(Distributed Denial of Service attack)。

DDoS 攻击通常利用那些感染病毒的计算机作为攻 击者的攻击跳板。

4.后门程序

后门程序(Backdoor)是指开发设置的隐藏入口,可不按正常步骤使用受限功能。利用后门程序就能够使用原本受限制的功能。

后门程序分为3种:

  • 开发阶段作为 Debug 调用的后门程序
  • 开发者为了自身利益植入的后门程序
  • 攻击者通过某种方法设置的后门程序

链接:有道云笔记

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值