Cyberchef实用功能之-json解析美化和转换

news2024/9/27 5:36:56

本文将介绍如何使用cyberchef的json操作功能,根据自己的需求处理常见的json问题。

在网络安全日常的运营,护网行动,重保活动的过程中,经常需要查看多种平台的json格式日志,如下:

  • 以json格式存储的防火墙日志
  • 以json格式存储的流量日志
  • 以json格式存储的eventlog日志
  • 以json格式存储的proxy日志
  • 以json格式存储的SIEM日志

有的设备和平台并没有提供json格式的解析和美化功能,因此往往需要第三方的json解析和美化工具。对于json的格式字符串和文件的解析通常具备如下几种方式,JQ命令,在线网站,以及cyberchef等。

本文将详细的介绍将json操作的方法,作为我的专栏《Cyberchef 从入门到精通教程》中的一篇,详见这里,这些操作能够满足日常的大部分分析任务。

jq 命令

在之前的文章中,介绍了使用j命令的方式,详见这里。JQ命令十分的强大,能够对于json格式的文件进行增删改查等多种操作。

在线网站

使用搜索引擎搜索此类的网站,会出现很多。在线json解析网站的最大问题在于广告多,担心数据会被泄露以及未知的安全性问题。因此在很多情况下并不推荐使用在线的json解析网站。

cyberchef

cyberchef的json功能主要定位为轻量级的json解析器,功能上来说没有jq命令复杂,但是提供的json beautify ,json minify,json和csv的互转功能均是日常使用频率最高的功能,而且支持本地化的部署方式,能够满足日常的大部分分析任务。

以Linux平台下firefox目录下的containers.json文件为例进行说明,对应的内容如下:

{"version":4,"lastUserContextId":5,"identities":[{"userContextId":1,"public":true,"icon":"fingerprint","color":"blue","l10nID":"userContextPersonal.label","accessKey":"userContextPersonal.accesskey","telemetryId":1},{"userContextId":2,"public":true,"icon":"briefcase","color":"orange","l10nID":"userContextWork.label","accessKey":"userContextWork.accesskey","telemetryId":2},{"userContextId":3,"public":true,"icon":"dollar","color":"green","l10nID":"userContextBanking.label","accessKey":"userContextBanking.accesskey","telemetryId":3},{"userContextId":4,"public":true,"icon":"cart","color":"pink","l10nID":"userContextShopping.label","accessKey":"userContextShopping.accesskey","telemetryId":4},{"userContextId":5,"public":false,"icon":"","color":"","name":"userContextIdInternal.thumbnail","accessKey":""},{"userContextId":4294967295,"public":false,"icon":"","color":"","name":"userContextIdInternal.webextStorageLocal","accessKey":""}]}

json beautify

json beautify操作的主要功能就是解析json字符串,并按照指定的方式进行输出,例如该操作提供了指定缩进字符串以及按照键值排序的功能,如下图:
在这里插入图片描述
可以看到对应的输出,对于不同类型的值,例如字符串,数字以及布尔值都进行了不同颜色的着色,阅读起来比较方便。将该功能和diff操作进行结合,比较不同的日志内容是最常见的使用场景。

json minify

可以看到json beautify 的作用在于将不利于阅读的单行json字符创进行解析展开,json minify则是json beautify 的逆操作。由于json beautify在将单行字符串进行转换后,使用大量的缩进以及换行符,因此json minify会去除这些间隔符,如下:
在这里插入图片描述
json字符本身的存储是不需要这些间隔符的,因此在需要将json字符进行存储以及传输时,可以使用该操作。

json to csv

不同文件格式的相互转换,cyberchef提供了json和csv文件的互相转换功能,如下:
在这里插入图片描述
可以该操作会将json文件的不同键抽取形成csv格式的列,然后对应的值形成具体的内容。

在后续我的专栏《Cyberchef 从入门到精通教程》详见这里,将会介绍更多的利用cyberchef的实用小功能解决复杂问题的示例。

本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2077447.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Python Django的保险数据分析系统优化要点

🎓 作者:计算机毕设小月哥 | 软件开发专家 🖥️ 简介:8年计算机软件程序开发经验。精通Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等技术栈。 🛠️ 专业服务 🛠️ 需求定制化开发源码提…

畅捷通CRM newleadset.php SQL注入漏洞复现

0x01 产品简介 用友畅捷通CRM是面向小企业全力打造的简单、实用的客户关系管理应用。帮助企业用好自己的客户资源、管好商机跟进过程、引导好业务员跟单行为,促进团队销售能力的提升;通过查询和分析,识别企业的价值客户,融合电话、短信、邮件等工具,实现精准营销;帮助企…

STM32(F103ZET6)第一课:按键控制LED灯和蜂鸣器

目录 功能要求一、开发思路二、详细过程1.查看原理图2.各模块编写LED灯按键使用蜂鸣器 功能要求 设备上电,4个灯灭 按键1按下,4个灯灭 按键2按下,4个灯亮 按键3按下,蜂鸣器响 按键4按下,蜂鸣器关闭 一、开发思路 1.…

ARM32开发——(八)中断

1. 中断概念 中断是计算机系统中的一种机制,用于响应外部事件或内部事件,它可以使单片机暂时中断正在执行的程序,转而去执行一个中断处理函数,待中断处理函数执行完毕后,再回到原来的程序继续执行。中断机制使得计算机可以响应各…

【已解决】Win11任务栏怎么使用小图标_Win11任务栏调整图标大小方法

使用注册表编辑器 1、打开运行,并输入 regedit 命令,确定或回车,可以打开注册表编辑器。 2、注册表编辑器窗口,依次展开到以下路径: HKEY_CURRENT_USER-Software-Microsoft -Windows-CurrentVersion-Explorer-Advanc…

『功能项目』技能释放【08】

我们打开上一篇07摄像机跟随角色的项目, 本章要做的事情是摄像机跟随主角移动, 首先创建一个空文件夹Resources 创建一个球体Shpere 修改球体缩放尺寸 创建一个材质Material 将材质重命名为Yellow,色板调至为黄色 将Yellow材质球拖拽至球体S…

0基础学习spark

零、pyspark模板 import os from pyspark import SparkContext, SparkConf os.environ[SPARK_HOME] /export/server/spark os.environ[PYSPARK_PYTHON] /root/anaconda3/bin/python3 os.environ[PYSPARK_DIRVER_PYTHON] /root/anaconda3/bin/python3 if __name__ __main__:…

物联网---ESP32

物联网---ESP32 一、TCP/IP协议(互联网协议)二、MQTT协议(通信协议)2.1 MQTT基本原理2.2 连接MQTT服务端 三、ESP323.1 ESP介绍3.2 ESP32连接云端3.2.1 ESP32连接WIFI/MQTT3.2.2 OneNET云端 一、TCP/IP协议(互联网协议) TCP/IP是一组用于互联网及其他网络中数据传输的通信协议…

MySQL集群 主从复制 和 高可用 配置详解

安装数据库 1、环境依赖 [rootmysql-node10 ~]# yum install cmake gcc-c openssl-devel ncurses-devel.x86_64 libtirpc-devel-1.3.3-8.el9_4.x86_64.rpm rpcgen.x86_64 -y2、下载软件包 3、进行解压 [rootmysql ~]# tar zxf mysql-boost-5.7.44.tar.gz4、生成源码 #进入…

zotero同步之infiniteCLOUD网盘 WebDAV

zotero zotero打开 编辑->首选项->同步 一、数据同步 数据同步,申请并登录zotero账号,免费额度300M,用于存储条目信息。 二、文件同步 有zotero和WebDAV两种形式,zotero是直接把pdf存储在zotero账号中,免费…

【面试问题汇总】

面试问题汇总: Math.round函数:基础加0.5,向下取整 MySQL查询执行流程: 当我们执行一条SQL查询语句时,MySQL数据库会按照以下步骤进行处理: 语法解析器会对SQL语句进行解析,检查SQL语法是否正确。元数据查询器会检查查询的表和字段是否存在,以及当前用户是否具有相应…

前端通过draggable结合fabricjs实现拖拽至画布生成元素自定义编排功能

前端通过draggable结合fabricjs实现拖拽自定义编排功能 太久没有更新了,主要最近行情不太好失业了一段时间,一度到怀疑人生,然后就是做的东西大多没有什么含金量,没什么好分享的就很尴尬。 刚好最近遇到一个奇葩的需求&#xff0…

SparkSQL日期时间模式详解

datatime使用场景 CSV/JSON数据源使用模式字符串来解析和格式化日期时间内容。日期时间函数用于转换StringType类型到DateType或TimestampType类型,反之亦然。例如,unix_timestamp, date_format, to_unix_timestamp, from_unixtime, to_date, to_timest…

SQL AI 工具:颠覆数据库管理与分析的创新力量

一、SQL AI 工具的兴起与发展 在当今数字化的时代,数据量呈现爆炸式增长,企业和个人对于高效管理和分析数据的需求日益迫切。传统的数据库管理和查询方式,对于非技术人员来说存在较高的门槛,操作复杂且耗时。这一背景为 SQL AI 工…

Redis Cluster(无中心化设计)

目录 1 Redis Cluster 的介绍 1.1 Redis Cluster 工作原理 1.2 Redis Cluster特点如下 1.3 Redis cluster 架构 1.4 Redis cluster 主从架构 1.5 Redis Cluster 部署架构说明 1.6 创建redis cluster的前提 2 部署redis cluster 2.1 修改Redis主配置文件参数 2.2 查看端口是否启…

vue 实现简单AI聊天程序(二): python 对接通义千问API

申请账号流程,参考:https://blog.csdn.net/u012917925/article/details/140794192 登录阿里云,然后找到阿里云百炼,创建一个API KEY 配置环境变量:https://help.aliyun.com/zh/model-studio/developer-reference/con…

java直接内存

Java中的内存从广义上可以划分为两个部分,一部分是受JVM管理的堆内存,另一部分则是不受JVM管理的堆外内存,也称为直接内存。直接内存由操作系统来管理,这部分内存的应用可以减少垃圾收集对应用程序的影响。 直接内存概述 直接内…

酒店PMS系统源码之会员系统读取身份证-CyberWinApp-SAAS 本地化及未来之窗行业应用跨平台架构

一、酒店 PMS()会员系统 1. 客户关系管理:帮助酒店有效地管理会员信息,包括个人资料、消费记录、偏好等,从而更好地了解会员需求,提供个性化的服务和优惠。 2. 会员忠诚度提升:通过积分、折扣、…

使用CORS解决跨域问题

CORS(Cross-Origin Resource Sharing)跨域资源共享 因为浏览器的同源策略才出现了跨域问题。 CORS是一套机制,用于浏览器校验跨域请求。 它的基本理念是: 只要服务器明确表示允许,则校验通过服务器明确拒绝或没有表…

读取FTP中不同文件格式的文件流后导出到浏览器

序言 有一个新的需求&#xff0c;前端提供下载的入口&#xff0c;后端能将指定了全路径的各种文件格式的文件下载到浏览器。 对于压缩的zip文件格式需要解析后写入到txt文件格式的文件中&#xff0c;其他的写入原本的文件格式的文件中。 1、连接ftp <!-- jsch-sftp连接…