URL编码 常见编码文本 图片隐写加解密
URL只能使用 ASCII 字母、数字、部分符号,中文、空格、&、=、#、中文、特殊字符无法直接放在网址里,URL 编码就是把不安全字符转为 %十六进制 格式,避免乱码、参数被截断、解析错误。
?a={{passthru('more ../../../*|grep fla')}}
?key={{passthru('tac fl''ag')}}
- 文本隐写解密网站:文本隐藏加密工具_零宽字符隐藏加密:文本隐藏加密工具_零宽字符隐藏加密
- 常见编码格式
!!!Base 64特征:
· 字符集:大小写字母 A-Z,a-z、数字 0-9、+ /,末尾常有 = 填充(1 个或 2 个,无 = 也可能是末尾刚好对齐)
· 长度永远是 4 的倍数;
· 不会出现中文、特殊符号 !@# 等
URL编码特征:
大量 % + 两位十六进制数字。
正常字符:%66%6C%61%67 空格编码为 %20 或 +。
摩斯密码特征:
只由 . - / 三种符号组成。
例:..-. .-.. .- --. 分割符 / 用来分隔字母、单词。
栅栏密码特征:
纯英文字母,无符号、无数字,字母长度规整,分为 2 栏、3 栏最多。
例明文flagabc2栏加密:flgacab 识别特点:密文长度很短、只有字母,排除 Base 后优先栅栏。
凯撒密码特征:
纯英文大小写,没有数字符号,字符分布符合英文词频规律。 特点:整体全部偏移 N 位,一共 25 种偏移可能。
零宽隐写(零宽字符编码)特征:
肉眼看着正常文字,复制粘贴进编辑器发现看不见的空白字符。 组成:零宽空格、零宽连字符,藏二进制信息。
BF编码特征:
仅 8 种符号:+ - . , [ ] < >,没有其他字符,看到直接判定 BF。
培根密码特征:
只有两种字符组成,一般 a/b、A/B、0/1 交替排布,长度通常是 5 的倍数。 例:aaaaa ababb baaba
3.URL跳转方式
(1)服务端跳转(最容易产生任意跳转漏洞)
1)PHP header 跳转,直接跳转,可能会导致一些漏洞的产生
index.php?url=/flag.php
2)内置apache跳转
3)Js跳转
(2)客户端跳转(浏览器完成跳转)
浏览器解析 HTML/JS 自行跳转,可控参数同样会造成跳转漏洞。
1)Meta 标签跳转(HTML 原生)
写在html里面,直接跳转
2)HTML a 标签超链接(被动点击跳转),超链接点击跳转
3)Js跳转,最常见的:location.href 跳转;location.replace 跳转(不留下历史记录;window.open 新开页面跳转
4)index.php?url=# # 是占位符,替换 /flag.php
4.图片隐写工具
(1)Binwalk
Binwalk -e 文件名,可以分离内嵌文件
(2)Foremost
foremost test.png
(3)StegSolve 可视化分析
打开图片 → Analyse → Data Extract
依次勾选:Red/Green/Blue 0 bit(LSB 最低位)
选择 Orde: RGB、Format: Binary,预览数据,导出保存。
(4)strings 图片内含内容
图片内含可见字符串(flag 直接写在二进制里)
strings test.png > str.txt
cat str.txt
(5)GIF图片解帧
也可以用binwalk -e
StegSolve:Frame Browser 切换每一帧查看隐藏内容。
(6)伪加密 PNG,CRC篡改
pngcheck test.png,pngcheck校验CRC是否准确。
(7)各类文件头,CRC32校验
1)ZIP 压缩包
标准 ZIP 头:50 4B 03 04(普通压缩包) 头部 4 字节 CRC32:0x04034B50 十进制 67324752
ZIP 伪加密标识:全局标记位第 6 位 = 1,修复方法:把 504B0304 后第 3 字节的 09 改成 00 解除加密。
2) JPG/JPEG
文件头:FF D8 FF E0 头部 16 字节标准 CRC32:E74C3384
3) GIF(GIF89a)
文件头:47 49 46 38 39 61 CRC32:60874771
4) BMP 位图
文件头:42 4D 标准头部 CRC32:A6A6F661
5) PNG 文件整体完整头部(前 8 字节)
头部:89 50 4E 47 0D 0A 1A 0A CRC32:7786F8E7
6) PDF
文件头:25 50 44 46 CRC32:99797923
7) 7Z 压缩包
文件头:37 7A BC AF 27 1C CRC32:F16F2E61
