misc学习笔记1-txt零宽度字符隐写

写在前面:

这里是β-AS,准备开新坑了,本次笔记记录一下学习misc中遇到的隐写方式,如果有不对的地方希望各位路过的大佬手下留情(逃

第一次见到这种题人都傻了,到比赛结束也没见到下一步的题目内容233333

后来比赛结束后膜了盖乐希师傅的博客(膜

0x01什么是零宽度字符

零宽度字符是一种字节宽度为0的不可打印的Unicode字符, 在浏览器等环境不可见, 但是真是存在, 获取字符串长度时也会占位置, 表示某一种控制功能的字符。

零宽空格(zero-width space, ZWSP)用于可能需要换行处。
    Unicode: U+200B  HTML: ​
零宽不连字 (zero-width non-joiner,ZWNJ)放在电子文本的两个字符之间,抑制本来会发生的连字,而是以这两个字符原本的字形来绘制。
    Unicode: U+200C  HTML: ‌
零宽连字(zero-width joiner,ZWJ)是一个控制字符,放在某些需要复杂排版语言(如阿拉伯语、印地语)的两个字符之间,使得这两个本不会发生连字的字符产生了连字效果。
    Unicode: U+200D  HTML: ‍
左至右符号(Left-to-right mark,LRM)是一种控制字符,用于计算机的双向文稿排版中。
    Unicode: U+200E  HTML: ‎ ‎ 或‎
右至左符号(Right-to-left mark,RLM)是一种控制字符,用于计算机的双向文稿排版中。
    Unicode: U+200F  HTML: ‏ ‏ 或‏
字节顺序标记(byte-order mark,BOM)常被用来当做标示文件是以UTF-8、UTF-16或UTF-32编码的标记。
    Unicode: U+FEFF

比如在下面这个例子中
图片

我们能看到的只有六个字,但是显示的length有34,零宽度字符就会产生这个效果,他不影响阅读,但是真实存在,也会占长度。

虽然我们看到的样子是上面这个样子,但是实际上他是下面这个样子~

图片

在在在实际上,他是这个样子

图片

0x02零宽度字符有什么用处捏

1.数据防爬

将零宽度字符插入关键词文本中,使得匹配关键字时不能正确匹配,但是不影响用户的正常阅读

2.信息隐藏(类似水印

类似上面例子我们可以将信息隐藏在正常文字中而不影响阅读

0x03零宽度字符怎么进行隐写呢

隐写方法是可逆的,但是需要是相同的方法或者是网站呀~

具体可以参考盖乐希师傅的博客2333(日常膜盖乐希

http://www.ga1axy.top/index.php/archives/20/

0x04怎么判断是零宽度字符呢

1.Kali中

vim file.txt

图片

蓝色的就是零宽度字符啦

2.在光标移动中有明显的停顿感

(无图,脑补233333)

3.在010或者winhex打开

图片

0x05解密方式

1.https://offdev.net/demos/zwsp-steg-js

将文本全部复制到解码框中,点击show,下面就是结果啦

如下

图片

2.http://330k.github.io/misc_tools/unicode_steganography.html

将文本复制到右边文本框中,点decode即可

图片

注意此解码网站还可根据零宽度字符的不同选择

但是此网站没有U+200F,含有U+200F可以用上面的网站

图片

3.将零宽度字符替换成01或者莫斯解码

附两篇文章

4.https://yuanfux.github.io/zero-width-web/
在这里插入图片描述

over完结撒花✿✿ヽ(°▽°)ノ✿

  • 24
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值