【图解HTTP】|【09】Web的攻击技术

文章目录

    • 1、针对Web的攻击技术
        • 1.1 客户端即可篡改请求
        • 1.2 针对Web应用的攻击模式
    • 2、因输出值转义不完全引发的安全漏洞
        • 2.1 跨站脚本攻击
        • 2.2 SQL注入攻击
        • 2.3 OS命令注入攻击
        • 2.5 HTTP首部注入攻击
        • 2.5 邮件首部注入攻击
        • 2.6 目录遍历攻击
        • 2.7 远程文件包含漏洞
    • 3、因设置或设计上的缺陷引发的安全漏洞
        • 3.1 强制浏览
        • 3.2 不正确的错误消息处理
        • 3.3 开放重定向
    • 4、因会话管理疏忽引发的安全漏洞
        • 4.1 会话劫持
        • 4.2 会话固定攻击
        • 4.3 跨站点请求伪造
    • 5、其他安全漏洞
        • 5.1 密码破解
        • 5.2 点击劫持
        • 5.3 Dos攻击
        • 5.4 后门程序

1、针对Web的攻击技术

1.1 客户端即可篡改请求

HTTP请求报文内加载URL查询字段或表单、HTTP首部、Cookie等将攻击传入;
	若Web应用存在安全漏洞,那么内部信息就会遭到窃取,或被攻击者拿到管理权限;

【图解HTTP】|【09】Web的攻击技术_第1张图片

1.2 针对Web应用的攻击模式

对Web应用的攻击模式:
- 主动攻击;
- 被动攻击;

【主动攻击】:指攻击者通过直接访问Web应用,把攻击代码传入的攻击模式;
	直接针对服务器上的资源进行攻击;
	有SQL注入攻击和OS命令注入攻击;

【被动攻击】:利用圈套策略执行攻击代码的攻击模式;
	攻击者不直接直接对目标Web应用访问发起攻击;

【图解HTTP】|【09】Web的攻击技术_第2张图片
利用用户身份攻击企业内部网络

利用被动攻击,可对原本从互联网无法直接访问的企业内网的攻击,只要用户踏入攻击者设好的陷阱,
	在用户能够访问到的网络范围内,企业内网也会受到攻击;

【图解HTTP】|【09】Web的攻击技术_第3张图片

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

Web应用的安全对策:
- 客户端的验证;
- Web应用端的验证:
	输入值验证:检查是否符合系统业务逻辑的数值或检查字符编码等预防对策;
	输出值转义;

多数情况下采用JS在客户端验证数据,保留客户端验证只是为了尽早地辨识输入错误,起到提高UI体验的作用;

2.1 跨站脚本攻击

通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JS进行的一种攻击;
【攻击】:
- 利用虚假输入表单骗取用户个人信息;
- 利用脚本窃取用户的Cookie值,被害者在不知情的情况下,帮助攻击者发送恶意请求;
- 显示伪造的文章或图片;

跨站脚本攻击案例

在动态生成HTML处发生,浏览器把用户输入的解析生成HTML标签,然后显示删除线;

【图解HTTP】|【09】Web的攻击技术_第4张图片

【XSS时攻击者利用预先设置的陷阱触发的被动攻击】
在网站的地址栏中,隐藏着可执行跨站脚本攻击的漏洞;

如:隐藏值入实先准备号的欺诈邮件中或Web页面内,诱使用户去点击该URL;

【图解HTTP】|【09】Web的攻击技术_第5张图片
【图解HTTP】|【09】Web的攻击技术_第6张图片
对用户Cookie窃取攻击

同样能够以跨站脚本的攻击方式,窃取用户的Cookie信息;
在脚本中,指定以下编码;
当访问到Web应用所处域名下的Cookie信息,即可将该信息发送到攻击者的Web网站;

【图解HTTP】|【09】Web的攻击技术_第7张图片

【图解HTTP】|【09】Web的攻击技术_第8张图片

2.2 SQL注入攻击

是指针Web应用使用的数据库,通过运行非法的SQL而产生的攻击;
【造成以下影响】:
- 非法查看或篡改数据库内的数据;
- 规避认证;
- 执行和数据库服务器业务关联的程序等;

SQL注入攻击操作示例
【图解HTTP】|【09】Web的攻击技术_第9张图片

SQL注入攻击破坏SQL语句结构的案例

攻击者将SQL语句改变成开发者意想不到的形式以达到破坏结构的攻击;

【图解HTTP】|【09】Web的攻击技术_第10张图片

2.3 OS命令注入攻击

通过Web应用,执行非法的操作系统命令达到攻击的目的;
	从Web应用中通过调用Shell来调用操作系统命令;

案例:将用户的咨询邮件按已填写的对方邮箱地址发送过去
【图解HTTP】|【09】Web的攻击技术_第11张图片

【图解HTTP】|【09】Web的攻击技术_第12张图片

程序open会调用sendmail到$adr的值中;攻击者将指定以下值作为邮件地址;

在这里插入图片描述

当用户接收到后命令将被组合成;

在这里插入图片描述

其中的分号会被解析为分隔多个执行命令的标记;将会把/passwd内的文件发送到该邮件;

2.5 HTTP首部注入攻击

通过在响应首部字段内插入换行,添加任意响应首部或主体的一种攻击;
【HTTP响应截断攻击】:向首部主体内添加内容的攻击;
【该攻击的影响】:
- 设置任何Cookie;
- 重定向至任意URL;
- 显示任意的主体;

案例
【图解HTTP】|【09】Web的攻击技术_第13张图片
即请求变成:

该set-Cookie已生效,故攻击者可指定修改任意的Cookie信息,通过和会话固定攻击组合;

HTTP响应截断内容

即要%0D%0A%0D%0A并排插入字符串后发送,以此来显示伪造主体;

利用该攻击,已触发陷阱的用户浏览器会显示伪造的Web页面,在让用户输入自己的个人信息等,可到达和跨站脚本攻击相同的下效果;

【图解HTTP】|【09】Web的攻击技术_第14张图片

2.5 邮件首部注入攻击

指Web应用中的邮件发送功能,攻击者通过向邮件首部To或Subject内任意添加非法内容发起的攻击;

案例
【图解HTTP】|【09】Web的攻击技术_第15张图片

在这里插入图片描述

2.6 目录遍历攻击

是指对本无意公开的文件目录,通过非法截断其目录路径后,达成访问目的的一种攻击;

案例
在这里插入图片描述

2.7 远程文件包含漏洞

指当部分脚本内容需要从其他文件读入时,攻击者利用指定外部服务器的URL充当依赖文件,脚本读取后,就可运行任意脚本;
主要是PHP;

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

3.1 强制浏览

【造成影响】:
- 泄漏客户的个人信息等;
- 泄露原本需要具有访问权限的用户才可查阅的信息内容;
- 泄露未外连到外界的文件;

3.2 不正确的错误消息处理

【主要错误信息】:
- Web应用抛出的错误消息;
- 数据库等系统抛出的错误消息;

3.3 开放重定向

是一种指定的任意URI作重定向跳转的功能;

【图解HTTP】|【09】Web的攻击技术_第16张图片

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

会话管理用来管理用户状态的必备功能,若所有疏忽,将会导致用户的认证状态被窃取等后果

4.1 会话劫持

指攻击者通过某种手段拿到了用户的会话ID,并非法使用此会话ID伪装成用户,达到攻击的目的;
【获取会话ID的途径】:
- 通过非正规的生成方法推测会话ID;
- 通过窃听或XSS攻击盗取会话ID;
- 通过会话固定攻击强行获取会话ID;

【图解HTTP】|【09】Web的攻击技术_第17张图片
会话劫持攻击案例
【图解HTTP】|【09】Web的攻击技术_第18张图片

4.2 会话固定攻击

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

【图解HTTP】|【09】Web的攻击技术_第19张图片

攻击者准备陷阱,先访问Web网站拿到会话ID,但该ID在服务器上仍是为认证的;攻击者设置好强制用户使用该会话ID的陷阱,
并等待用户拿取去认证,一旦用户触发并完成认证,该ID在服务器上的状态变为已认证,会被记录;
故攻击者作为该用户的身份顺利登录网站;

4.3 跨站点请求伪造

【跨站点请求伪造的影响】:
- 利用已通过认证的用户权限更新设定信息等;
- 利用已通过认证的用户权限购买商品;
- 利用已通过认证的用户权限在留言板上发表言论;

案例

【图解HTTP】|【09】Web的攻击技术_第20张图片

5、其他安全漏洞

5.1 密码破解

攻击者算出密码,突破认证;
【破解方法】:
- 通过网络的密码试错;
- 对已加密密码的破解(指攻击者入侵系统,已获得加密或散列处理的密码数据的情况);

通过网络进行密码试错

【密码尝试】:
- 穿举法:
	用所有可行的候选密码对目标的密码系统试错;
- 字典攻击:
	指利用事先收集好的候选密码(经过各种组合方式后存入字典),枚举字典中的密码,尝试通过认证的一种攻击手法;

【图解HTTP】|【09】Web的攻击技术_第21张图片
对已加密密码的破解

Web保持密码时,一般不会直接以明文的方式保存,通过列函数做散列处理或加salt的手段对要保存的密码本身加密;
【加密的数据导出明文的方法】:
- 通过穷举法·字典攻击进行类推;
- 彩虹表;
- 拿到密钥;
- 加密算法的漏洞;

【图解HTTP】|【09】Web的攻击技术_第22张图片

通过穷举法·字典攻击进行类推
【图解HTTP】|【09】Web的攻击技术_第23张图片

彩虹表

由明文密码及与之对应的散列值构造的一张数据库白表,是一种通过事先制作庞大的彩虹表;

【图解HTTP】|【09】Web的攻击技术_第24张图片

拿到密钥

加密算法的漏洞

5.2 点击劫持

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

5.3 Dos攻击

是一种让运行中的服务呈停止状态的攻击。DoS攻击的对象不仅限于Web 网站,还包括网络设备及服务器等;
【攻击方式】:
- 集中利用访问请求造成资源过载,资源用尽的同时,实际上服务也就呈停止状态;
- 通过攻击安全漏洞使服务停止;

【图解HTTP】|【09】Web的攻击技术_第25张图片

5.4 后门程序

是指开发设置的隐藏入口,可不按正常步骤使用受限功能,利用后门程序就能够使用原本受限制的功能;
【类型】:
- 开发阶段作为Debug调用的后门程序;
- 开发者为了自身利益植入的后门程序;
- 攻击者通过某种方法设置的后门程序

你可能感兴趣的