00截断原理分析

0x00,%00,/00之类的截断,都是一样的,只是不同表示而已

%00截断

下面是用 URL 编码形式表示的 ASCII 字符

在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束

比如

https://mp.csdn.net/upfiles/?filename=test.txt                                此时输出的是test.txt

加上%00

https://mp.csdn.net/upfiles/?filename=test.php%00.txt                   此时输出的是test.php

就绕过了后缀限制,可以上传webshell啦。

 

0X00截断

0x开头表示16进制,0在十六进制中是00, 0x00就是%00解码成的16进制

 这里在php的后面添加了一个空格和字母a,其实a写不写都可以,这里加a是为了显示空格的位置。

空格是为了占位,方便修改00。

然后打开hex,(空格的16进制为0x20)修改16进制内容,把20改成00:

就绕过了后缀限制,可以上传webshell啦。


php 00截断

php版本要小于5.3.4,5.3.4及以上已经修复该问题

magic_quotes_gpc需要为OFF状态

include和require一般在网站内部读取文件

file_get_contents一般用于打开一个url或一个文件

file_exists判断文件是否存在

 

 

 

 

信号处理中的截位原理通常是指在对信号进行采样、量化或处理时,由于物理设备或算法的限制,只能处理有限长度的信号或有限精度的数据,从而需要对信号进行截断或舍入操作。这一过程会导致原始信号的部分信息丢失,从而引入误差,称为截断误差。 在信号处理中,截位操作主要出现在两个方面: 1. **时间域截断**:在对连续信号进行采样时,通常只采集信号的一部分,即对信号进行有限时间的截取。这种截断会导致频域中的能量泄漏(leakage),因为信号的突然截断相当于在时域中乘以一个矩形窗函数,这会在频域中引入旁瓣,造成频谱失真[^1]。 2. **幅度域截断(量化)**:在将模拟信号转换为数字信号时,需要对信号的幅度进行离散化,即量化。由于量化过程中的舍入或截断,信号的实际值与表示值之间会存在误差。例如,在使用有限位数表示信号幅度时,最小可分辨的幅度差称为量化步长,而由此带来的误差称为量化误差,属于截断误差的一种[^2]。 截断误差的分析通常涉及以下几个方面: - **频谱泄漏分析**:通过窗函数的选择来减少截断引起的频谱泄漏,例如使用汉宁窗、海明窗等平滑窗函数代替矩形窗,以降低频谱旁瓣的幅度[^3]。 - **量化误差分析**:量化误差通常可以用信噪比(SNR)来衡量。对于均匀量化器,量化误差近似为一个与信号无关的噪声源,其功率与量化步长的平方成正比。量化位数越多,误差越小[^4]。 - **截断误差对系统性能的影响**:在滤波器设计、频谱分析、信号重构等应用中,截断误差可能会影响系统的精度和稳定性。因此,在设计系统时需要考虑误差的容忍度和补偿机制。 ### 示例代码:使用窗函数减少截断引起的频谱泄漏 ```python import numpy as np import matplotlib.pyplot as plt # 生成一个示例信号 fs = 1000 # 采样率 t = np.linspace(0, 1, fs, endpoint=False) x = np.sin(2 * np.pi * 50 * t) # 50 Hz 正弦波 # 应用不同的窗函数 window_rect = np.ones_like(t) # 矩形窗 window_hann = np.hanning(len(t)) # 截断信号并进行傅里叶变换 X_rect = np.fft.fft(x * window_rect) X_hann = np.fft.fft(x * window_hann) # 计算频谱 f = np.fft.fftfreq(len(t), 1/fs) # 绘制频谱图 plt.figure(figsize=(12, 6)) plt.plot(f[:fs//2], 20 * np.log10(np.abs(X_rect[:fs//2]) + 1e-10), label='矩形窗') plt.plot(f[:fs//2], 20 * np.log10(np.abs(X_hann[:fs//2]) + 1e-10), label='汉宁窗') plt.xlabel('频率 (Hz)') plt.ylabel('幅度 (dB)') plt.legend() plt.grid(True) plt.title('不同窗函数下的频谱泄漏') plt.show() ``` 该代码演示了使用矩形窗和汉宁窗对信号进行截断后的频谱分析,可以观察到窗函数对频谱泄漏的影响。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值