🥉snort中的byte_test\extract\jump
type
status
date
slug
summary
tags
category
icon
password
最后编辑时间
Jul 9, 2025 07:27 AM
order
漏洞编号
Author
byte_test
参考:
取测试值与给定值进行运算操作,结果为true则命中
格式
其中:
byte_to_convert
从数据包取得的字节数 = 1-10
ps:不使用dce时可使用的值为1-10,使用dce时的值为1,2,4
operator
对测试值执行的操作 = < = > <= >= & ^
也就是等于还是小于大于.....value
与测试值进行比较的转换后的值 = 0-4294967295
offset
偏移量 = -65535-65535
relative
使用相对于上一个模式匹配的相对偏移举个栗子
relative的作用是使用一个相对于上一个content的相对偏移量。即在上一个匹配到的
|00 00 00 07|
后面,偏移2个字节后,取其后4个字节转换成二进制与二进制的1000比较,匹配操作返回true,即命中。byte_extract
取得一定长度的数据保存到一个变量中,以便在后续规则中使用,而不是使用硬编码值,一般与byte_test结合在一起
格式
byte_to_convert
从数据包取得的字节数offset
偏移量name
给取得的变量命名relative
使用相对于上一个模式匹配的相对偏移举个栗子
例如有tcp流中开头的hex转储数据如下(CVE-2016-8706)
其中,如果想要对
0x0020
和 0x00000001
两个变化的值进行比较(假定触发漏洞需要后者比前者值小),相对应的规则可以如此byte_extract
对content
之后偏移 0 个字节取 2 个字节的值,命名为keylen
,此时keylen
的值为00 20
,后续的byte_test
对byte_extract
之后偏移 0 个字节取4个字节的值,即为00 00 00 01
,判断 <
逻辑成立,结果为true,规则命中。byte_jump
取对应偏移位置上的值,跳过payload中对应该值数目的字节
Loading...