首页 > 其他分享 >【黑客攻防技术宝典】04-客户端控件

【黑客攻防技术宝典】04-客户端控件

时间:2022-10-29 21:34:14浏览次数:69  
标签:控件 浏览器 字节 04 组件 数据 客户端

黑客攻防技术宝典——客户端控件

阅读范围:《黑客攻防技术宝典:web实战篇》第五章内容



5-客户端控件

5.1 传送用户数据

表面隐藏手段

  • 隐藏表单字段
  • HTTP cookie
  • URL参数
  • Referer消息头

攻击方式
使用 burp 等拦截代理服务器,直接修改参数

模糊数据

攻击方式

  1. 已知模糊字符串对应明文,尝试破译
  2. 若破译成功,提交 payload 对应模糊字符串
  3. 未破译,可利用其他功能对应的模糊字符串
  4. 提交畸形字符串,包含超长值、不同字符集等错误

ASP.NET ViewState

攻击方式

  1. 检查是否对 ViewState启用了 MAC保护(ViewState结构末尾是否存在一个20字节的散列) 2. 解码不同页面中的 ViewState参数,检查是否传送了敏感数据
  2. 尝试修改特殊参数值,检查是否报错
  3. 分析各参数功能,探查常见漏洞

5.2 收集用户数据:HTML表单

常见设置

  • 长度限制
  • 基于脚本确认
  • 禁用元素

攻击方法

  • 代理拦截,抓包修改对应参数值
  • 使⽤Burp Proxy中的HTML修改功能自动重新启用禁用字段

5.3 收集用户数据:浏览器扩展

常见拓展技术

  • Java applet
  • Flash
  • Silverlight

提供安全功能:

均编译成中间字节码;
在提供沙盒执行环境的虚拟机中运行;
可能会使用远程框架。

攻击方法

  • 拦截并修改浏览器扩展组件提出的请求及服务器的响应
  • 直接针对组件实施攻击,尝试反编译字节码,查看源代码
  • 使用调试器与组件进行动态交互
拦截扩展流量
  1. 确保能正确拦截浏览器扩展送出的所有流量,必要时使用嗅探器检查
  2. 针对序列化数据,确保有解压和修改工具
  3. 确保客户端组件正确配置代理信息,安装SSL等可信证书
反编译扩展

攻击浏览器扩展组件的最彻底的方法

  1. 下载要处理的可执行字节码(注意找历史记录、清缓存)

  2. 解压、反编译字节码

  3. 分析源代码

  4. 针对模糊处理:
    只查看公用方法、利用 JS 调用、签名等内容
    对无意义表达式采用重构
    对字节码再次进行模糊处理

    常见模糊技巧:

    1. 使用没有意义的表达式(如 a、b、c)代替有意义的类、方法和成员变 量名称
    2. 使用 new 和 int 之类的保留关键字代替项目名称
    3. 删除不必要的调试和信息
    4. 增加多余的代码
    5. 使用跳转指令修改代码的执行路径
    6. 引入非法的编程结构
附加调试器

调试器在字节码级别运行,因此可以轻松控制并了解组件的执行过程。

将组件的方法和类与界面中的关键功能进行关联,只需要修改其中的某项关键功能来达到目的即可,可以避免反编译大型复杂组件时的困难。

本地客户端组件

本地客户端组件一般通过 ActiveX 控件传送。

ActiveX 控件是在浏览器沙盒以外运行的定制浏览器扩展。

5.4 安全处理客户端数据

通过客户端传送数据

应完全避免通过客户端传送重要数据,可以将这类数据保存在服务器上,在必要时通过服务端逻辑直接引用。

对重要数据的传送进行签名或加密处理以防止篡改。

确认客户端生成数据

客户端提交的每一项数据都应被视为危险和潜在恶意的。

唯一安全办法:在服务端实施保护。

日志与警报

  1. 禁止异常数据输入
  2. 记录恶意请求并监控攻击企图
  3. 必要时采取行动,终止会话或冻结账户

标签:控件,浏览器,字节,04,组件,数据,客户端
From: https://www.cnblogs.com/0dot7/p/16839902.html

相关文章

  • 在Ubuntu22.04中配置riscv64-toolchain以及QEMU
    本文提供另类的搭建riscv64-toolchain的方法目前已有的方法有使用riscv-gnu-toolchain进行源码编译使用sifive预编译工具使用他人已搭建好的Docker镜像作为环境我......
  • c#Winform自定义控件-信号灯(工业)-HZHControls UCSignalLamp 使用
     想要官网这个效果,自己琢磨了下,记录一下   一、拖一个UCSignalLamp控件   二、设置指示灯的属性//设置指示灯颜色(不闪烁只用写一个......
  • abap screen表格控件后续增加栏位
    当我们通过screen的表控件(含向导)创建完表格之后,后续想再增加栏位,要先把输入控件拖入表格控件内,再按钮控控件拖进去即可。注:输入控件的名称和格式要和程序中的一致,否则......
  • 2022-2023-1 20221304 《计算机基础与程序设计》第九周学习总结
    2022-2023-120221304《计算机基础与程序设计》第九周学习总结作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP这个作业......
  • 【BZOJ4504】K个串(优先队列,可持久化线段树)
    Description兔子们在玩k个串的游戏。首先,它们拿出了一个长度为n的数字序列,选出其中的一个连续子串,然后统计其子串中所有数字之和(注意这里重复出现的数字只被统计一次)。......
  • C# tcp 多线程服务端和客户端
    主要是服务端usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Text;usingSystem.Threading;n......
  • Ubuntu20.04运行VINS-fusion记录_2022
    VINS-fusion的安装比ORB麻烦,记录一下环境配置的过程。VINS-fusion的环境依赖和大体过程可以参考这篇博客:https://blog.csdn.net/u011089570/article/details/115551782......
  • 04
    #include<bits/stdc++.h>usingnamespacestd;classgcd{ public: inta,b; intn,m; intf(inta,intb) { if(a>b){ n=a; m=b; } else{ n=b; m=a; ......
  • 【笔记04】Javascript - 基本概念 - (函数)
    【笔记04】Javascript-基本概念-(函数)Javascript 是底层基础,决定上层建筑,这个学不好,后面就学不明白了。函数的诞生先看一段代码:if(1>0){document.write("a");......
  • 客户端API文档
    1.1接口说明URLhttp://api.proxy.com/?actions=show方法GET编码utf-8响应code:状态码;success:成功标记;local_address:本地绑定地址;proxy_address:代理IP地址;ttl:剩余有效时......