1.隐写术( steganograhy )

将信息隐藏到信息载体,不让计划的接收者之外的人获取信息。近几年来,隐写术领域已经成为了信息安全的焦点。因为每个Web站点都依赖多媒体,如音频、视频和图像。隐写术这项技术可以将秘密信息嵌入到数字媒介中而不损坏它的载体的质量。第三方既觉察不到秘密信息的存在,也不知道存在秘密信息。因此密钥 数字签名和私密信息都可以在开放的环境(如Internet或者内联网)中安全的传送

常见载体

  • 图片 (利用颜色差别)
  • 音频(音频中左右声道不一致,隐藏莫斯电报)
  • 视频
  • 压缩包
  • 加密之中的隐写(base64编码混合隐写)

    .etc

图像隐写

  • 利用细微的颜色差别
  • GIF图多帧隐藏 图片一闪而逝,很多人都看不到
  • EXIF信息隐藏 Exchangeable image file format 是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。 tips:很多在线查看的软件,可以试试到底是什么东西,电脑中的图片属性亦可
  • 图片修复

1.1 LSB(Lesat Sigbificant Bit)最低有效位,

LSB加密是信息隐藏中最基本的方法,通过修改像素三原色中最低一位的Bit,来达到隐藏效果。因为人类分别不了这么细致的色差。

常用工具

  • stegsolve 查看图片中隐藏的信息,也可以逐帧查看(Frame Browser) frame有帧,框架的意思,在web框架中会常看到这个词
  • Namo GIF
  • Photoshop

1.2 图片修复

图片被损害,缺少某部分数据如头文件等,需要对图片进行修复

  • JEPG/JPG 文件头标识(2 Bytes) :FF D8  文件结束标识: FF D9

    (图种)

    CMD>copy /b 2.jpg+1.zip output.jpg

    其中 /b表示一个二进位文件 1.zip是需要隐藏文件 2.jpeg是伪装图片 output.jpg是最终生成图片与2.jpg没有区别

    查看隐藏的信息改output.zip解压即可 使用时注意工作目录

    若无法判断是何种文件拼在一起 linux 下使用 binwalk命令查看

  • PNG 文件头标识(8 Bytes):89 50 4E 47 0D 0A 1A 0A

  • BMP 文件头标识(2 Bytes):42 4D

  • GIF(6 Bytes): 47 49 46 38 39(37) 61

  • ZIP 文件头标识 50 4B 03->PK

常用工具

  • winhex

1.3 音频隐写

  • 信息隐藏在声音里(逆序)
  • 信息隐藏在数据里(分析音频数据)
  • 工具 :MP3stego,!Audition!,Matlab

1.4 视频隐写

信息被隐藏到视频的某个或者多个帧里

  • 工具 :Premiere

2.密码学及编码

密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。

2.1 古典密码学

  • 凯撒密码(Caeser):对应字母位移固定长度,类比于rot
  • 栅栏密码(Rail Fence Cipher):
    • 明文:HELLOWORLD 分组:HELLO WORLD 密文:HWEOLRLLLOD(2栏)
    • 栏数为密文长度的约数,明文长度与密文长度相同
  • 弗吉尼亚密码(Vigenere Cipher)
    • 二维密码加密
    • 明文:HELLOWWORLD 密文:GOOD 密文:NSZOUKCURR
    • 取明文密文焦点 ,以abcd...为 X轴 以abcd...为 Y轴

工具:在线平台

2.2 现代密码学

1949年香农发表《保密系统的通信理论》标志着现代密码学的真正开始(第一次质的飞跃)。1976年,Diffie和Hellman发表《密码学的新方向》,标志着公钥密码体制的诞生(第二次质的飞跃)。1978年,Rivest、Shamir和Adleman提出了RSA公钥密码体制。

机密性、完整性、可用性、认证性和不可否认性

2.2.1 对称加密算法

加密解密使用同一密钥,速度快于非对称加密。找到密钥是关键

  • 常见对称加密算法 : DES ,3DES ,AES

工具:在线平台

2.2.2 非对称加密算法

分为公钥和私钥,公钥加密私钥解,私钥加密公钥解,详见:PKI加密技术多用于https,和电子商务。

  • 常见非对称加密算法 : RSA ,Elgamal , 背包算法,Rabin,D-H,ECC

2.2.3 CTF中的密码

  • 猪圈密码: 方框中包含点。原谅我不想找图床了。

  • 培根密码:aaaaa aaaba

  • 键盘密码:电脑键盘的位置模拟画出图案 eg.4esxctf5 为O

3 编码

3.1 Base64编码

标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。

为解决此问题,可采用一种用于URL的改进Base64编码,它在末尾填充'='号,并将标准Base64中的“+”和“/”分别改成了“-”和“”,这样就免去了在URL编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增加,并统一了数据库、表单等处对象标识符的格式。

另有一种用于正则表达式的改进Base64变种,它将“+”和“/”改成了“!”和“-”,因为“+”,“*”以及前面在IRCu中用到的“[”和“]”在正则表达式中都可能具有特殊含义。

此外还有一些变种,它们将“+/”改为“
-”或“.”(用作编程语言中的标识符名称)或“.-”(用于XML中的Nmtoken)甚至“:”(用于XML中的Name)。

Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3 * 8 = 4 * 6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。

解决网络传输中不可见字符的问题(不太清楚)

tips: 编码尾端见到 = 一般就是了

3.2 URL编码

为了解决URL中键值对规则的问题。http://xxx.com/?x=123&y=456#test(get方式 ?后跟键值对 &多个键值对的组合 #网页位置定位 ),想要传输特殊符号就要用到URL编码

将符号用ascii码的16进制表示,如 “<” 的ascii是60,转为 16进制是3C,URLencode是%3C

3.3 JOTHER [, ], (, ), {, }, +, ! 可在浏览器中的console 中直接还原 javacript相关

4. 摘要

  • MD5 摘要 已被破解
  • SHA1

5. 电子取证

日志分析:通过日志分析寻找隐藏在其中的信息。

SQL注入点查找

WEBSHELL的查找

用户访问敏感路径的查找等等

6. 常用工具集及使用方法

6.1 隐写术工具

  • Stegsolve.jar
  • 010Editior( 可以导入16进制的文本) / WinHex
  • photoshop
  • Audition
  • Cortex Scan 手机二维码扫描软件 快速准确

6.2 常用密码编码工具

6.3 流量分析工具

Wireshark的基本使用方法:筛选器的使用 追踪流 文件导出

文件后缀一般为 .pcap

  • 筛选器(上方输入框)

    • 协议筛选 : http ftp .etc
    • IP地址筛选: IP.addr == 192.168.1.1

多练习,多看WP!️

Markdown表情

最新文章

  1. xv6的作业翻译——作业1 - shell和系统调用
  2. ACM/ICPC 之 枚举(POJ1681-画家问题+POJ1166-拨钟问题+POJ1054-讨厌的青蛙)
  3. 基于 Markdown 的开源的 Node.js 知识库平台
  4. ASP.NET和MSSQL高性能分页
  5. 关于html中table表格tr,td的高度和宽度
  6. R 实例1
  7. 安装eclipse for JavaEE 后的一些设置
  8. 读书笔记之 - javascript 设计模式 - 享元模式
  9. ubuntu下mysql安装与测试
  10. js框架——angular.js(3)
  11. .bat以管理员身份运行
  12. javascript的数组之join()
  13. 搭建Sonar代码走查环境
  14. 用kickstart创建逻辑卷管理LVM分区
  15. Nowcoder186C 失衡天平 背包
  16. VC_可再发行组件包
  17. Jmeter创建一个 JMS 主题的测试计划
  18. 2017北京国庆刷题Day7 morning
  19. thinkphp5.0目录结构
  20. nginx 413文件上报太大

热门文章

  1. gtk+2.0中函数set_widget_font_size()函数在编译时未定义的解决办法
  2. 2020年Acm暑期考核Hznu _2797
  3. 一个软件工程师的硬件修养:ESP8266 入门(普通动感单车-变智能)
  4. 使用Drone构建Docker映像
  5. 基于阿里云托管kubernetes的版本升级
  6. java面试-垃圾回收器谈谈你的理解
  7. IDEA xml 注解快捷键
  8. day14.面向对象编程
  9. Day13_67_interrupt() 方法
  10. 通过钉钉网页上的js学习xss打cookie