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

    科技2022-07-10  101

    写在前面:

    这里是β-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或者莫斯解码

    附两篇文章

    转化为二进制的加密:https://zhuanlan.zhihu.com/p/87919817转化为Morse编码的加密:https://zhuanlan.zhihu.com/p/75992161

    4.https://yuanfux.github.io/zero-width-web/

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

    Processed: 0.010, SQL: 8