Research on Security Protection Evasion Mechanism Based on IPv6 Fragment Headers
Research on Security Protection Evasion Mechanism Based on IPv6 Fragment Headers基于IPv6分片头的安全保护逃逸机制摘要IPv6分片头是数据包分片的关键,但可以被利用来逃避安全系统,构成实质性的威胁。
尽管RFC-7112强调了“IPv6分片逃避行为”的含义,但缺乏全面的评估,阻碍了对标准符合性的评估。
同时,现有的IPv6分片逃避行为主要集中在微小/重叠的分片上,忽略了其他IPv6扩展头的组合。
因此,论文提出了一个IPv6分片回避(FragEva6)行为模型,演示了从IPv6报头到FragEva6机制的逐步构建过程。
随后,对17个主流操作系统和4个安全系统的评估显示,最新版本的Windows和Apple操作系统在处理IPv6碎片时符合RFC 7112,而Linux操作系统则表现出部分不符合。
此外,安全系统(Windows Defender 20230503.1、ip6tables 1.8.9、Suricata v6.0.12和Snort v3.1.61.0)表现出的缓解措施不足,使它们容易 ...
IPv6详解
IPv61. IPv6地址1.1 IPv6地址表示IPv6地址使用冒分16进制表示,即用冒号分隔的16进制表示。128位可以用32个16进制字符表示,每4个字符之间使用冒号进行分隔,这样的话32个16进制被分成8组。
就像这样: fe80:0000:0000:0000:9100:e409:60df:02f1
首先,遇到000a:0000:00bc:…,可以简化成a:0:bc:…,相当于省去前面的零。
把上面例子简化得到: fe80:0:0:0:9100:e409:60df:2f1
其次,这样连续的三组都是零,因此可以将连续三组的零写成双冒号“::”以简化表示: fe80::9100:e409:60df:2f1。
需要注意的是,这样的省略只可以进行一次,比如把0:0:0:0:0:a:0:0:0写成::a::,这样分不清楚前面有多少组零,后面有多少组零。因此简写最多连续的零::a:0:0:0,这样就清楚前面是5组零,后面是3组零了(如果相同多连续的零,那么优先简写左边的零)
1.2 IPv6地址结构
1.2.1 全球单播地址(Global Unicast Address,GUA)
前缀00 ...
计算机编码
编码现代计算机使用二进制编码的方式表示事物,在几千年前也有相似的东西:八卦。
《周易·系辞上》:“易有太极,是生两仪,两仪生四象,四象生八卦”,阴阳变换就像二进制的0、1变换,八卦和二进制有着相同的思想内核。计算机内使用二进制表示字符,八卦则用来表示不同的事物。
八卦:
ASCLL码:
这就是编码,就像一张对应关系的表,将二进制和字符或者其他东西对应起来。
ASCLLASCII(American Standard Code for Information Interchange),即美国信息交换标准代码。
ASCLL使用7位二进制编码了26个拉丁字母、符号、数字、控制字符等128个字符。其中ASCLL码前32个字符是控制符,表示开始、换行、回车、结束等。但是ASCLL码在存储时使用8位二进制,最高位用于奇偶校验。
ASCLL扩展编码在兼容ASCLL码的基础上,使用8位二进制编码了256个字符。
GB2312ASCLL码的局限性在于不是所有国家使用英文字符作为文字,并且无论是7位的ASCLL码还是8位的扩展ASCLL码能表达的字符十分有限。
因此各个国家都开创了适配自己的编码,GB ...
信息收集
(根root证书认证机构->中间intermediates证书认证机构->end-user网站证书)root/中间:本地电脑中,你有它的公钥,他会用私钥对下发的证书进行数字签名,这样你使用公钥就可以验证证书的真实性。
robots.txt规范 user-agent:xxx(允许的爬虫/搜索引擎)disallow:目录 或者allow:目录 没有用空格表示,全部用表示)*
正面信息收集门户网站
证书
robots.txt
子域名
url可能会暴露出编程语言
ICP备案
端口
C段
侧面信息收集
扩频水印
扩频技术顾名思义扩频技术可以扩充同一频段的通信,代价是更低的信号功率和信息密度,同时有更强的抗干扰能力。
扩充信道
更低的信息密度和功率
更强的抗干扰能力
对于一段0110的原始信号,使用一段伪随机序列1010和0000分别替换或者异或原始信号的01比特,得到扩频信号。
如何解扩呢?将扩频信号还原回原始信号,如果上诉过程是替换,那么只需要匹配信号中与伪随机序列的相似性确定01;如果是异或过程再次异或随机序列即可。
扩频和水印由于水印对鲁棒性的需求
CPP
2024-1-26开始学习cpp…
1-26参考视频:最好的C++教程
P1: Welcome to CPPCPP
编译型语言
更高的效率
对硬件的直接控制
跨平台
P2: How to Setup CPP on WindowsIDE: Visual Studio集成开发环境IDE
Hello cpp# include <iostream>
int main()
{
std::cout << "hello cpp" << std::endl;
std::cin.get();
}
P3: How CPP Works#include 任何以“#”开头的都是预处理指令。
include指的是包含一个文件另外std表示标准
std::cout << << std::endl输出到控制台,endl表示换行
<<就像printf一样,std::cout.print().print(std::endl)
std::cin.get()等待输入回车。
int main: ...
恶意代码
恶意代码分析概述静态分析方法恶意代码指纹:哈希
WinMD5
反病毒引擎扫描目前收集到的在线反病毒引擎:
VirusTotal
VirScan
特征字符串:Strings
Strings
使用命令Strings main.exe > main.txt将可执行文件中的字符重定向到文件main.txt中。
去壳与反汇编压缩和混淆的代码通常至少包括LoadLibrary和GetProcAddress函数,它们用于加载和访问其他函数。
待学习。。。
2. 动态分析技术虚拟机&&虚拟机逃逸
进程查看Process Explore
Process Monitor
注册表相关sourceforge
regshot
网络相关warshark
Web安全:sqlmap使用
sqlmap介绍:sqlmap
根据官方的说法:sqlmap是一个开源的渗透测试工具,它可以自动化的检测和利用SQL注入漏洞以及接管数据库服务器。
sqlmap下载&&安装sqlmap是一个python项目,下载即可,没有安装过程。
下载:sqlmap
sqlmap使用教程切换到sqlmap下载目录进行cmd,使用python运行sqlmap.py。
如果想在任意目录使用sqlmap.py,添加环境变量?
–help使用python sqlmap.py --help进行测试。
sqlmap支持非常多的选项.
Target选项:
Request选项:
使用sqlmap实现漏洞利用
首先寻找注入点
图像空域隐写技术:LSB及其改进
灰度图灰度图就是使用黑色,白色和它们之间不同程度的灰色表示的图片。一般来说灰度图的每个像素在计算机中使用8比特表示,也就是8比特位深,有0-255共256个颜色值。
下面是一张512*512像素8比特位深灰度图:
位图对于8比特表示的灰度图,高位比特对像素颜色的贡献明显高于低位比特。就像十进制111,明显百位的“1”是100,个位的“1”是1,100对111的贡献显然比1要大得多,其他进制包括二进制也是这个道理。
编写程序取不同比特位构建出新的位平面图就可以看清每个比特位对图片了贡献了。
import cv2
import numpy as np
from matplotlib import pyplot as plt
# 读取灰度图像
img = cv2.imread('lena.bmp', cv2.IMREAD_GRAYSCALE)
# 获取图像的宽度和高度
height, width = img.shape
# 初始化一个全零矩阵,用于存储每个平面的像素值
planes = np.zeros((height, width, 8), dtype=np.uin ...
信息隐藏
技术概述信息隐藏有两个具体的应用方面,隐写术和数字水印。
隐写术用于秘密的隐藏在正常的载体文件中,比如文档,图片,音频,视频等文件,为了秘密的传输信息而不被发现。
数字水印一般用作版权保护,将水印可见或者不可见的隐写于载体文件中,当发生盗版时可以溯源盗版方。然而对抗数字水印的对抗技术也很多,比如加入各种噪声,使用手机拍摄文件,这些都是数字水印需要克服的问题。
视频资料隐写术鉴赏
jpeg-dct
【中英双字】JPEG算法原理 jpeg图片是如何压缩的?
JPEG不可思议的压缩率——归功于信号处理理论 @圆桌字幕组
JPEG 有损压缩 离散余弦变换 DCT 一条视频讲清楚
“电子包浆”是因为被反复压缩吗?其实没那么简单