mirror of
https://github.com/nganhkhoa/CTF-All-In-One.git
synced 2024-12-25 11:41:16 +07:00
新增了一个章节和修复了一些东西 (#30)
This commit is contained in:
parent
48897effcd
commit
e151924acf
@ -40,7 +40,7 @@ GitBook 地址:<https://firmianay.gitbook.io/ctf-all-in-one/>
|
|||||||
|
|
||||||
## 致谢
|
## 致谢
|
||||||
|
|
||||||
请查看 [THANKS](https://github.com/firmianay/CTF-All-In-One/blob/master/THANKS)
|
请查看 [THANKS](./THANKS.md)
|
||||||
|
|
||||||
## LICENSE
|
## LICENSE
|
||||||
|
|
||||||
|
@ -97,6 +97,7 @@ GitHub 地址:<https://github.com/firmianay/CTF-All-In-One>
|
|||||||
* [3.3.2 XSS 漏洞利用](doc/3.3.2_xss.md)
|
* [3.3.2 XSS 漏洞利用](doc/3.3.2_xss.md)
|
||||||
* Crypto
|
* Crypto
|
||||||
* Misc
|
* Misc
|
||||||
|
* [3.5.1 Lsb](doc/3.5.1_Lsb.md)
|
||||||
* Mobile
|
* Mobile
|
||||||
* [四、技巧篇](doc/4_tips.md)
|
* [四、技巧篇](doc/4_tips.md)
|
||||||
* [4.1 Linux 内核调试](doc/4.1_linux_kernel_debug.md)
|
* [4.1 Linux 内核调试](doc/4.1_linux_kernel_debug.md)
|
||||||
|
4
THANKS.md
Normal file
4
THANKS.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# 致谢
|
||||||
|
- 感谢内容贡献者:skyel1u、phantom0301
|
||||||
|
- 感谢 XDSEC,把我引上了安全这条路,认识了很多志同道合的小伙伴。
|
||||||
|
- 感谢 GitHub 上的朋友,是你们的 star 给我写作的动力。
|
@ -29,6 +29,11 @@ HTML 元素以开始标签起始,以结束标签终止。元素处于开始标
|
|||||||
```html
|
```html
|
||||||
<html>
|
<html>
|
||||||
<!-- html文档申明标签 -->
|
<!-- html文档申明标签 -->
|
||||||
|
<head>
|
||||||
|
<!--头部-->
|
||||||
|
<meta charset="utf-8"> <!--网站编码-->
|
||||||
|
<title>标题</title>
|
||||||
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<!-- html文档主体 -->
|
<!-- html文档主体 -->
|
||||||
Hello World
|
Hello World
|
||||||
@ -70,7 +75,6 @@ hidden,隐藏元素
|
|||||||
<object data=>,定义引用对象数据的 URL
|
<object data=>,定义引用对象数据的 URL
|
||||||
<svg onload=>,定义SVG资源引用
|
<svg onload=>,定义SVG资源引用
|
||||||
```
|
```
|
||||||
|
|
||||||
## HTML 编码
|
## HTML 编码
|
||||||
|
|
||||||
HTML 编码是一种用于表示问题字符已将其安全并入 HTML 文档的方案。HTML 定义了大量 HTML 实体来表示特殊的字符。
|
HTML 编码是一种用于表示问题字符已将其安全并入 HTML 文档的方案。HTML 定义了大量 HTML 实体来表示特殊的字符。
|
||||||
|
34
doc/3.5.1_Lsb.md
Normal file
34
doc/3.5.1_Lsb.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Lsb 隐写
|
||||||
|
|
||||||
|
Lsb≠Lsb隐写
|
||||||
|
|
||||||
|
## Lsb
|
||||||
|
最低有效位代表二进制数中的最小的单位,可以用来指示数字很小的变化。
|
||||||
|
|
||||||
|
那么给出一个二进制1001,其最低有效位就是拥有最小单位数值的那一位。也就是最右边一位。拥有的数值最小。
|
||||||
|
|
||||||
|
## LSB隐写
|
||||||
|
图片由像素组成。像素由RGB三个通道混合而成。每个通道有256级亮度即0-255。那么一共就会有256x256x256=16777216种颜色
|
||||||
|
|
||||||
|
而人类大约可以分辨1000万种颜色,也就是说还剩6777216种颜色我们分辨不出来
|
||||||
|
|
||||||
|
还记得我们刚刚说过的么,图片由像素组成,像素由RGB通道混合而成。而LSB隐写就是修改每个像素的RGB通道的二进制数据的最低位来达到人眼分辨不出,但是仍然每个像素可以携带3Byte的数据。
|
||||||
|
|
||||||
|
接下来让我们看看如何吧A这个ASCII字符放进一个图片里
|
||||||
|
![img](./files/3-5-1_Lsb_png.png)
|
||||||
|
|
||||||
|
|
||||||
|
因为LSB是要数据放进图片像素里的,自然不能是JPG文件,JPG文件是一种有损压缩。我们修改的数据可能会在压缩过程中被破坏。
|
||||||
|
|
||||||
|
PNG图片也会被压缩,但运用的是DEFLATE算法,DEFLATE算法是同时使用了LZ77算法[<sup>1</sup>]与哈夫曼编码(Huffman Coding)[<sup>2</sup>]的一个无损数据压缩算法。[<sup>3</sup>]
|
||||||
|
|
||||||
|
不仅如此,我们也可以使用位图(BMP)文件,这种类型的文件不压缩。但是文件体积通常也很感人。
|
||||||
|
|
||||||
|
## 实战
|
||||||
|
|
||||||
|
## 参考资料
|
||||||
|
[1] [LZ77算法](https://zh.wikipedia.org/wiki/LZ77%E4%B8%8ELZ78)
|
||||||
|
|
||||||
|
[2] [哈夫曼编码](https://zh.wikipedia.org/wiki/%E5%93%88%E5%A4%AB%E6%9B%BC%E7%BC%96%E7%A0%81)
|
||||||
|
|
||||||
|
[3] [DEFLATE算法](https://zh.wikipedia.org/wiki/DEFLATE)
|
BIN
doc/files/3-5-1_Lsb_png.png
Normal file
BIN
doc/files/3-5-1_Lsb_png.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 61 KiB |
Loading…
Reference in New Issue
Block a user