《图解HTTP》读书笔记(第十一章)

Web攻击技术

简单的HTTP协议本身并不存在安全性问题,因此协议本身几乎不会成为攻击的对象。应用HTTP协议的服务器和客户端,以及运行在服务器上的Web应用等资源才是攻击目标。

HTTP不具备必要的安全功能,就拿远程登录时会用到的SSH协议来说,SSH具备协议级别的认证及会话管理等功能,HTTP协议则没有。

另外在架设SSH服务方面,任何人都可以轻易地创建安全等级高的服务。而HTTP即使已假设好服务器,但开发者需要自行设计并开发认证及会话管理功能来满足Web应用的安全。而自行设计就意味着会出现各种形形色色的实现,可仍在运作的Web应用背后就会隐藏着各种容易被攻击者滥用的安全漏洞的Bug

因输出值转义不完全引发的安全漏洞
  • 跨站脚本攻击(Cross-Site Scripting, XSS):主要是指在用户浏览器内运行了非法的 HTML 标签或 JavaScript 脚本。比如富文本编辑器,如果不过滤用户输入的数据直接显示用户输入的HTML内容的话,就会有可能运行恶意的 JavaScript 脚本,导致页面结构错乱,Cookies 信息被窃取等问题。

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

举个例子:select * from bookstore where author = 'will' and flag =1;
使用SQL注入:select * from bookstore where author ='will'--' and flag =1;
此时,这条SQL语句后面的flag=1的过滤将会被跳过,因为SQL语句中--之后全视为注释

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

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

  • HTTP 响应截断攻击:是用在 HTTP 首部注入的一种攻击。攻击顺序相同,但是要将两个 %0D%0A%0D%0A 并排插入字符串后 发送。利用两个连续的换行就可作出 HTTP 首部与主体分隔所需的空行了,这样 就能显示伪造的主体,达到攻击的目的。

邮件首部注入攻击(Mail Header Injection):是指 Web 应用中的邮件发送功能,攻击者通过向邮件首部 ToSubject 内任意添加非法内容发起的攻击。利用存在安全漏洞的Web网站,可对任意邮件地址发送广告邮件或 病毒邮件。

  • 目录遍历攻击(Directory Traversal):是指对本无意公开的文件目录,通过非法截断其目录路径后,达成访问目的的一种攻击。比如,通过 ../ 等相对路径定位到 /etc/passwd 等绝对路径上。

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

因设置或设计上的缺陷引发的安全漏洞
  • 强制浏览(Forced Browsing):是指,从安置在Web服务器的公开目录下的文件中,浏览那些原本非自愿公开的文件。比如,没有对那些需要保护的静态资源增加权限控制。
  • 不正确的错误消息处理(Error Handling Vulerability):指Web应用的错误信息内包含对攻击者有用 的信息。
  • 开放重定向(Open Redirect):是一种对指定的任意URL作重定向跳转的功能。而于此功能相关联的安全漏洞是指, 假如指定的重定向 URL 到某个具有恶意的 Web 网站,那么用户就会被诱导至那个 Web 网站。
因会话管理疏忽引发的安全漏洞
  • 会话劫持(Session Hijiack):是指攻击者通过某种手段拿到了用户的会话 ID,并非法使用此会话 ID 伪装成用户,达到攻击的目的。
  • 会话固定攻击(Session Fixation):对以窃取目标会话ID为主动攻击手段的会话劫持而言,会强制用户使用攻击者指定的会话 ID,属于被动攻击。
  • 跨站点请求伪造(Cross-Site Request Forgeries, CSRF):是指攻击者通过设置好陷阱,强制对已完成认证的用户进行非预期的个人信息或设定等某些状态更新,属于被动攻击。
其它安全漏洞
  • 密码破解:①通过网络进行密码试错(穷举法和字典攻击);②对已加密密码的破解(通过穷举法·字典攻击进行类推、彩虹表、拿到加密时使用的密钥、加密算法的漏洞)
  • 点击劫持:是指利用透明的按钮或链接做成陷阱,覆盖在Web页面之上。然后诱使用户在不知情的情况下, 单击那个链接访问内容的一种攻击手段。这种行为又称为界面伪装UI Redressing)。
  • Dos攻击:是一种让运行中的服务呈停止状态的攻击。有时也叫做服务停止攻击或拒绝服务攻击。多台计算机发起的 Dos 攻击称为 DDoS 攻击(Distributed Denial of Service attach) 。
  • 后门程序:是指开发设置的隐藏入口(如开发阶段作为Debug调用的后门程序),可不按正常步骤使用受限功能。利用后门程序就能够使用原本受限的功能
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值