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


    索引

    【图解HTTP】|【01】简单了解HTTP协议
    【图解HTTP】|【02】HTTP报文内的HTTP信息
    【图解HTTP】|【03】返回结果的HTTP状态码
    【图解HTTP】|【04】与HTTP协作的Web服务器(代理、网关、隧道)
    【图解HTTP】|【05】HTTP首部详解
    【图解HTTP】|【06】确保web安全的HTTPS
    【图解HTTP】|【07】确认访问用户身份的认证
    【图解HTTP】|【08】基于HTTP的功能追加协议
    【图解HTTP】|【09】Web的攻击技术

    1、针对Web的攻击技术

    1.1 客户端即可篡改请求

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

    在这里插入图片描述

    1.2 针对Web应用的攻击模式

    对Web应用的攻击模式:
    - 主动攻击;
    - 被动攻击;
    
    【主动攻击】:指攻击者通过直接访问Web应用,把攻击代码传入的攻击模式;
    	直接针对服务器上的资源进行攻击;
    	有SQL注入攻击和OS命令注入攻击;
    
    【被动攻击】:利用圈套策略执行攻击代码的攻击模式;
    	攻击者不直接直接对目标Web应用访问发起攻击;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述
    利用用户身份攻击企业内部网络

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

    在这里插入图片描述

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

    Web应用的安全对策:
    - 客户端的验证;
    - Web应用端的验证:
    	输入值验证:检查是否符合系统业务逻辑的数值或检查字符编码等预防对策;
    	输出值转义;
    
    多数情况下采用JS在客户端验证数据,保留客户端验证只是为了尽早地辨识输入错误,起到提高UI体验的作用;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2.1 跨站脚本攻击

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

    跨站脚本攻击案例

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

    在这里插入图片描述

    【XSS时攻击者利用预先设置的陷阱触发的被动攻击】
    在网站的地址栏中,隐藏着可执行跨站脚本攻击的漏洞;
    
    如:隐藏值入实先准备号的欺诈邮件中或Web页面内,诱使用户去点击该URL;
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    在这里插入图片描述
    对用户Cookie窃取攻击

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

    在这里插入图片描述

    在这里插入图片描述

    2.2 SQL注入攻击

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

    SQL注入攻击操作示例
    在这里插入图片描述

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

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

    在这里插入图片描述

    2.3 OS命令注入攻击

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

    案例:将用户的咨询邮件按已填写的对方邮箱地址发送过去
    在这里插入图片描述

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

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

    2.5 HTTP首部注入攻击

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

    案例
    在这里插入图片描述
    即请求变成:

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

    HTTP响应截断内容

    即要%0D%0A%0D%0A并排插入字符串后发送,以此来显示伪造主体;
    
    利用该攻击,已触发陷阱的用户浏览器会显示伪造的Web页面,在让用户输入自己的个人信息等,可到达和跨站脚本攻击相同的下效果;
    
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    2.5 邮件首部注入攻击

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

    案例
    在这里插入图片描述

    在这里插入图片描述

    2.6 目录遍历攻击

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

    案例
    在这里插入图片描述

    2.7 远程文件包含漏洞

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

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

    3.1 强制浏览

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

    3.2 不正确的错误消息处理

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

    3.3 开放重定向

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

    在这里插入图片描述

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

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

    4.1 会话劫持

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

    在这里插入图片描述
    会话劫持攻击案例
    在这里插入图片描述

    4.2 会话固定攻击

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

    在这里插入图片描述

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

    4.3 跨站点请求伪造

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

    案例

    在这里插入图片描述

    5、其他安全漏洞

    5.1 密码破解

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

    通过网络进行密码试错

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

    在这里插入图片描述
    对已加密密码的破解

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

    在这里插入图片描述

    通过穷举法·字典攻击进行类推
    在这里插入图片描述

    彩虹表

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

    在这里插入图片描述

    拿到密钥

    加密算法的漏洞

    5.2 点击劫持

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

    5.3 Dos攻击

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

    在这里插入图片描述

    5.4 后门程序

    是指开发设置的隐藏入口,可不按正常步骤使用受限功能,利用后门程序就能够使用原本受限制的功能;
    【类型】:
    - 开发阶段作为Debug调用的后门程序;
    - 开发者为了自身利益植入的后门程序;
    - 攻击者通过某种方法设置的后门程序
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    LabVIEW比较LabVIEW类对象 LabVIEW接口
    数据结构--循环链表
    计算机毕业设计python企业员工人事管理系统vue
    链家网房源价格信息的爬虫分析工具
    Qt设置整体背景颜色
    Mindspore对稀疏矩阵的支持不够完善
    区块链与跨链桥的本质理解
    玩转UE4/UE5动画系统:UE5的运行时(动态)重定向治好了我的精神内耗
    【C++】迭代器:遍历容器的利器
    2022年 PHP面试问题记录
  • 原文地址:https://blog.csdn.net/weixin_45926547/article/details/125024732