CN108897721B - 一种对多种编码的数据进行解码的方法和装置 - Google Patents
一种对多种编码的数据进行解码的方法和装置 Download PDFInfo
- Publication number
- CN108897721B CN108897721B CN201810520263.3A CN201810520263A CN108897721B CN 108897721 B CN108897721 B CN 108897721B CN 201810520263 A CN201810520263 A CN 201810520263A CN 108897721 B CN108897721 B CN 108897721B
- Authority
- CN
- China
- Prior art keywords
- byte
- data
- ith
- decoding device
- character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000006243 chemical reaction Methods 0.000 claims abstract description 14
- 238000001514 detection method Methods 0.000 abstract description 17
- 238000012545 processing Methods 0.000 abstract description 14
- 230000009467 reduction Effects 0.000 abstract description 3
- 230000015654 memory Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Document Processing Apparatus (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种对多种编码的数据进行解码的方法。解码设备接收到经过多种编码的数据,对数据进行还原处理。解码设备根据编码规则的特点,对数据的格式进行判断,根据判断结果执行不同的转换操作。具体的,解码设备确定数据的第i个字节为第一字符时,判断数据的第i+1和i+2两个字节是否为十六进制,如果是,则将第i个字节、第i+1个字节以及第i+2这3个字节转换为明文字符;解码设备确定数据的第i‑1个字节为第一字符,或者转换得到的明文字符为第二字符且第i‑1个字节为第三字符时,从数据的第i‑2个字节重新执行检测。通过上述方式,解码设备识别了数据的特定格式,进行针对性的转换处理,且通过步长调整,将检测点回退,实现对多种编码方式的解码处理。
Description
技术领域
本申请涉及IT技术领域,特别涉及一种对多种编码的数据进行解码的方法和装置。
背景技术
随着互联网技术的飞速发展,在线交易、资讯浏览等各种各样Web网站日益普及,由于黑客攻击带来的损失也越来越大。针对Web网站的安全防护产品应运而生,通过对流量进行检查,识别攻击数据,阻止黑客对web网站的攻击。黑客会使用不同的编码方式、多种编码或者混合编码对攻击数据进行编码处理,提高安全防护产品的解码复杂度,降低攻击数据被识别的概率,对web网站的安全造成了严重危害。
发明内容
本申请实施例提供一种对多种编码的数据进行解码的方法和装置,用以增加对攻击数据的识别准确度,提高web网站的安全性。
第一方面,本发明实施例提供了一种解码方法,解码设备接收到经过多种编码的数据,对数据进行还原处理。解码设备根据编码规则的特点,对数据的格式进行判断,根据判断结果执行不同的转换操作。具体的,解码设备确定数据的第i个字节为第一字符时,判断数据的第i+1和i+2两个字节是否为十六进制,如果是,则将第i个字节、第i+1个字节以及第i+2这3个字节转换为明文字符,其中,i为大于等于0的整数;解码设备确定数据的第i-1个字节为第一字符,或者转换得到的明文字符为第二字符且第i-1个字节为第三字符时,从数据的第i-2个字节重新执行检测。通过上述方式,解码设备识别了数据的特定格式,进行针对性的转换处理,且通过步长调整,将检测点回退,实现对多种编码方式的解码处理。
在一种可能的实施方式中,解码设备确定数据的第i-2个字节为第一字符,或者转换得到的明文字符为第四字符且第i-1个字节为第二字符且第i-2个字节为第三字符时,从数据的第i-3个字节重新执行检测。
在一种可能的实施方式中,当转换得到的明文字符为第一字符或第三字符时,从数据的第i-1个字节重新执行检测。
当多种编码方式嵌套编码时,通过将监测点回退到合适的位置,使得编码设备可以对嵌套编码进行解码。
在一种可能的实施方式中,解码设备确定数据的第a个字节为第三字符且第a+1个字节为第二字符时,将第a和a+1个字节的内容转换为第一字符,从数据的第i-1个字节重新执行检测,其中,a为大于等于0的整数。
在一种可能的实施方式中,解码设备确定数据的第a个字节为第三字符,判断后续的字节内容是否属于html格式,如果是,则执行html转义操作。
所述html转义操作包括:
1.当后续字符为amp;将这五个字符&;替换为&)。
2.当后续字符为lt;将这四个字符<;替换为<。
3.当后续字符为gt;将这四个字符>;替换为>。
4.当后续字符为quot;将这五个字符";替换为“。
5.当后续字符为apos;将这留个字符&apos;替换为‘。
在一种可能的实施方式中,解码设备确定数据的第b个字节为第五字符时,判断第b+1个字节为u,U,x或X中的任意一个,则将第b和b+1字节的内容转换为第一字符,从数据的第i-1个字节重新执行检测;或者,
解码设备确定数据的第b个字节为第五字符时,判断后续的2或3个字节是否为八进制格式,如果是,则将八进制的数据转换为对应的明文字符;
其中,b为大于等于0的整数。
通过上述解码操作,实现了对十六进制以及Unicode解码处理。
在一种可能的实施方式中,解码设备确定数据的某个字节为大写字母时,将所述大写字母转换为对应的小写字母;或者,
解码设备将数据中包含的符合十六进制格式的连续字符转换为明文字符;或者,
解码设备删除数据中包含的“.”或“+”或’.’或‘+’;
解码设备判断数据中包含chr()且括号中的内容为数字时,将chr()替换为第三字符和第二字符的组合。
在一种可能的实施方式中,所述第一字符为%,所述第二字符为#,所述第三字符为&,所述第四字符为x,所述第五字符为\。
第二方面,本发明实施例还提供了一种解码设备,所述解码设备包括判断单元和转换单元,所述判断单元用于执行前述第一方面中的判断操作,所述转换单元,用于执行前述第一方面中的格式转换操作。
第三方面,本发明实施例还提供了一种解码设备,所述解码设备为物理服务器,具有实现上述各方面中解码设备的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,解码设备包括收发器和处理器,其中,处理器用于调用一组程序代码,以执行如第一方面中所述的方法。
第四方面,提供了一种计算机存储介质,用于储存为上述方面所述的解码设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
附图说明
图1为本发明实施例中的安全防护***的结构示意图;
图2为本发明实施例提供的一种多种编码的数据进行解码的方法流程示意图;
图3为本发明实施例提供的各种分支下对编码数据进行解码还原的流程示意图;
图4为本发明实施例提供的一种解码设备的逻辑结构示意图;
图5为本发明实施例提供的一种解码设备的硬件结构示意图。
具体实施方式
下面将结合附图对本申请作进一步描述。
如图1所示,为本发明实施例提供的一种安全防护***结构示意图,所述安全防护***100包括解码设备101以及检测引擎102,客户端的数据在经过编码设备103编码后,进入安全防护***,解码设备101对接收到的数据进行解码,将解码得到的数据发送到检测引擎102进行分析,识别出攻击数据,从而保护服务104免受攻击。而安全防护***能够识别出攻击数据的其中一个关键是解码设备101成功的将接收到的额编码数据解码出来。在一种可能的实施方式中,所述服务104可以为web网站。
据统计,约有40%的攻击数据经过了编码处理,其中,20%的攻击数据经过了多种编码处理。攻击者采用多种编码方式使用编码设备103对攻击数据进行编码,如果编码后的攻击数据未被安全防护***识别出来,攻击数据即可进入服务104,对服务104进行攻击。
安全防护***100对接收到的数据进行扫描,采用解码算法对数据进行解码,由于来自攻击者的攻击数据使用了多种编码方式进行编码,安全防护***也需要使用对应的多种编码算法进行多次解码还原,由于每种解码算法均需要对数据进行从头到尾的遍历解码,因此使用多种解码算法对数据进行多次解码还原将带来较大的时间开销。本发明实施例提供了一种对多种编码的数据进行解码的方法,一次扫描数据进行多种解码处理。常见的8种编码方式为:url_encode、unicode编码、xml编码、html编码、hex编码、chr函数拼接、字符串拼接(java\php\python等)、大小写变换混淆等。攻击者使用前述8种编码方式中的任意几种方式对攻击数据进行编码。
如图2所示,为本发明实施例提供的一种对多种编码的数据进行解码的方法,包括:
步骤201:解码设备101接收报文,所述报文的载荷payload中携带经过编码设备103编码处理的数据。
步骤202:解码设备101从数据的第一个字节开始对数据进行扫描,按照下述分支1-7对数据进行解码处理。
如图3所述,为本发明实施例给出的解码分支示意图。
分支1(将大写字母转换为小写字母):解码设备确定第i个字节的内容为大写字母A至Z中的任意一个,则将大写字母修改为该大写字母对应的小写字母,继续扫描下一字节。
在具体的实施方式中,解码设备101判断str[i]是否介于A到Z之间,如果是,则进行大写字母转换,并执行i=i+1,继续扫描下一字节。例如,将phpiNfo();中的N修改为n。在本发明实施例中,Str[i]表示第i个字节的内容。
分支2(Url_encode的还原):解码设备101对第i个字节的内容进行判断,当第i个字节的内容为%时,判断第i+1和i+2字节是否为十六进制格式,如果是,则将ASCII码转换为明文字符。例如,将'%37'转换为'7'
在具体的实施方式中,解码设备判断str[i]为%时,确定str[i+1:i+2]两个字节是否为十六进制格式,如果是,则将ASCII码转换为明文字符。确定str[i+1:i+2]两个字节是否为十六进制格式的方式为,判断str[i+1:i+2]是否属于0-9或者a-f的范围,如果是,则表示str[i+1:i+2]为十六进制格式,如‘20’或‘0a’都属于十六进制格式,‘hi’不属于该格式。
分支2执行完成后,进一步执行下述动作:
分支2.1:确定第i-2个字节Str[i-2]为%,或者,转化得到的明文字符为x且Str[i-1]为#且Str[i-2]为&时,执行i=i-3,即从第i-3个字节重新扫描,比如%35%3832,将%35替换为#,%38替换为&之后,得到#&32,需要再次解码,所以需要退回继续扫描。
分支2.2:确定第i-1个字节Str[i-1]为%,或者,转化得到的明文字符为#且Str[i-1]为&时,执行i=i-2,即从第i-2个字节重新扫描。
分支2.3:转化得到的明文字符为%或者&时,执行i=i-1,即从第i-1个字节重新扫描。
分支3(十六进制及Unicode解码处理):当第i个字节Str[i]为\时,执行下述动作:
分支3.1:判断第i+1个字节Str[i+1]是否为u,U,x或X,如果是,则将\x或\U替换为%,执行i=i-1,即从第i-1个字节重新扫描,继续执行分支2的动作。
分支3.2:判断第i+1到i+3的三个字节(或i+1到i+2的两个字节)是否八进制格式(每个字节都在0~7之间),如果是,则将其转为明文字符,如\163修改为s。分支4(XML编码、html转义的处理):当第i个字节Str[i]为&时,执行下述动作:
分支4.1:判断第i+1个字节Str[i+1]是否为#,如果是,则将&#替换为%;
如果第i+2个字节为x,那么后续两个字节为十六进制,执行i=i-1,即从第i-1个字节重新扫描,继续执行分支2的动作;
如果第i+2字节为0-9中的任意一个,那么检测第i+3字节和i+4个字节是否也属于0-9中的一个,如果第i+3字节为0-9中的任意一个且i+4字节也为0-9中的任意一个,则说明Str[i+2:i+4]为三位十进制的数字,将三位十进制的数字转换为十六进制,如果第i+3字节为0-9中的任意一个但i+4字节不为0-9中的任意一个,则说明Str[i+2:i+3]为两位十进制的数字,将两位十进制的数字转换为十六进制。执行i=i-1,即从第i-1个字节重新扫描,继续执行分支2的动作。
分支4.2(html转义):
1.当后续字符为amp;将这五个字符&;替换为&)。
2.当后续字符为lt;将这四个字符<;替换为<。
3.当后续字符为gt;将这四个字符>;替换为>。
4.当后续字符为quot;将这五个字符";替换为“。
5.当后续字符为apos;将这留个字符&apos;替换为‘。
分支5(SQL语句中的十六进制处理):当第i个字节Str[i]为0时,判断Str[i+1]是否为x或者X,如果是,则将后续的两个字节[i+2:i+3]的十六进制编码转化为明文字符,继续扫描下一字节Str[i+4]。
分支6(php的chr转码拼接处理):当第i至i+3四个字节Str[i:i+3]为chr(时,将chr(89)或chr(89).转换为Y,将chr(112).或chr(112)转换为p;通过调整步长即i=i-1,进入Case4中。
分支7(php、java、python的字符拼接):当从Str[i]到str[i+2]的三个字节为“.”或“+”或’.’或‘+’时,删掉“.”或“+”或’.’或‘+’这些字符。例如,把"php"+"info()"改为"phpinfo()"。继续扫描下一字节。
步骤203:解码设备101将经过步骤202解码的数据发送到检测引擎。
步骤204:检测引擎分析解码后的数据,识别出攻击数据。
本发明实施例对步骤204的分析方法不进行限定,步骤204可以采用现有技术中的分析方法。
本发明实施例通过将多种解码的处理逻辑编排为一个算法函数,实现了一个算法函数对数据进行一次扫描即可解码经过多种编码处理的数据。
具体的,本发明实施例对已知的常见的几种编码的特征作为检查点,当满足前述预设的各种分支时,执行相应的转换操作,并通过调整步长,将扫描的字节回退前述分支中定义的步长,从而实现对多次编码的处理。
例如,一段攻击数据中包含字符串:%2%37,从第一个字节开始,第一个%出现之后,发现并不满足上述分支,继续扫描到第3个字节满足分支2,将%37转码为7。此时,输入解码为%27。此时满足分支2.1条件,重新从第一个字节开始扫描,又满足情2,将%27转换为单引号。
与前述各实施例相对应,如图4所示,本发明实施例还提供了一种解码设备100,所述解码设备100包括:
判断单元,用于当数据的第i个字节为第一字符时,判断数据的第i+1和i+2两个字节是否为十六进制,其中,i为大于等于0的整数;
转换单元,用于判断单元判断数据的第i+1和i+2两个字节为十六进制时,将第i个字节、第i+1个字节以及第i+2这3个字节转换为明文字符;
所述判断单元,还用于确定数据的第i-1个字节为第一字符,或者转换得到的明文字符为第二字符且第i-1个字节为第三字符时,从数据的第i-2个字节重新执行检测。
所述判断单元,还用于确定数据的第i-2个字节为第一字符,或者转换得到的明文字符为第四字符且第i-1个字节为第二字符且第i-2个字节为第三字符时,从数据的第i-3个字节重新执行检测。
所述判断单元,还用于确定转换得到的明文字符为第一字符或第三字符时,从数据的第i-1个字节重新执行检测。
所述判断单元,还用于确定数据的第a个字节为第三字符且第a+1个字节为第二字符时,将第a和a+1个字节的内容转换为第一字符,从数据的第i-1个字节重新执行检测,其中,a为大于等于0的整数。
所述判断单元,还用于确定数据的第a个字节为第三字符,判断后续的字节内容是否属于html格式,如果是,则通知转换单元执行html转义操作。
所述判断单元,还用于确定数据的第b个字节为第五字符时,判断第b+1个字节为u,U,x或X中的任意一个,则通知转换单元将第b和b+1字节的内容转换为第一字符,从数据的第i-1个字节重新执行检测;或者,
所述判断单元,还用于确定数据的第b个字节为第五字符,判断后续的2或3个字节是否为八进制格式,如果是,则通知转换单元将八进制的数据转换为对应的明文字符;
其中,b为大于等于0的整数。
所述判断单元,还用于确定数据的某个字节为大写字母时,通知转换单元将所述大写字母转换为对应的小写字母;或者,
所述转换单元,还用于将数据中包含的符合十六进制格式的连续字符转换为明文字符;或者,
所述转换单元,还用于删除数据中包含的“.”或“+”或’.’或‘+’;
所述判断单元,还用于判断数据中包含chr()且括号中的内容为数字时,通知转换单元将chr()替换为第三字符和第二字符的组合。
基于同一发明构思,参阅图5所示,本申请实施例还提供了解码设备100硬件结构示意图,解码设备100,包括收发器501、处理器502和存储器503,收发器501、存储器503均与处理器502连接,需要说明的是图5所示的各部分之间的连接方式仅为一种可能的示例,也可以是,收发器501与存储器503均与处理器502连接,且收发器501与存储器503之间没有连接,或者,也可以是其他可能的连接方式。
其中,存储器503中存储有程序,处理器502用于调用存储器503中存储的程序,以执行前述图1至图4所示的方法中解码设备100的功能。
在图5中,处理器502可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
存储器501可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器501也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器401还可以包括上述种类的存储器的组合。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。
Claims (12)
1.一种对多种编码的数据进行解码的方法,其特征在于,包括:
解码设备确定数据的第i个字节的内容;
如果解码设备确定数据的第i个字节为%时,判断数据的第i+1和i+2两个字节是否为十六进制,如果是,则将第i个字节、第i+1个字节以及第i+2这3个字节转换为明文字符,其中,i为大于等于0的整数;
解码设备确定数据的第i-1个字节为%,或者转换得到的明文字符为#且第i-1个字节为&时,将数据的第i-2个字节作为所述第i个字节,并重新确定所述第i个字节的内容;
如果解码设备确定数据的第i个字节为&且第i+1个字节为#时,将第i和i+1个字节的内容转换为%,将数据的第i-1个字节作为所述第i个字节,并重新确定所述第i个字节的内容。
2.如权利要求1所述的方法,其特征在于,所述将第i个字节、第i+1个字节以及第i+2这3个字节转换为明文字符之后,还包括:
如果解码设备确定数据的第i-2个字节为%,或者转换得到的明文字符为x且第i-1个字节为#且第i-2个字节为&时,将数据的第i-3个字节作为所述第i个字节,并重新确定所述第i个字节的内容。
3.如权利要求1所述的方法,其特征在于,所述将第i个字节、第i+1个字节以及第i+2这3个字节转换为明文字符之后,还包括:
如果当转换得到的明文字符为%或&时,将数据的第i-1个字节作为所述第i个字节,并重新确定所述第i个字节的内容。
4.如权利要求1-3任一所述的方法,其特征在于,还包括:
如果解码设备确定数据的第i个字节为&,判断后续的字节内容是否属于html格式,如果是,则执行html转义操作。
5.如权利要求1-3任一所述的方法,其特征在于,还包括:
如果解码设备确定数据的第i个字节为\时,判断第i+1个字节为u, U, x 或X中的任意一个,则将第i和i+1字节的内容转换为%,将数据的第i-1个字节作为所述第i个字节,并重新确定所述第i个字节的内容;或者,
如果解码设备确定数据的第i个字节为\时,判断后续的2或3个字节是否为八进制格式,如果是,则将八进制的数据转换为对应的明文字符。
6.如权利要求1-3任一所述的方法,其特征在于,还包括:
解码设备确定数据的某个字节为大写字母时,将所述大写字母转换为对应的小写字母;或者,
解码设备将数据中包含的符合十六进制格式的连续字符转换为明文字符;或者,
解码设备删除数据中包含的“.”或“+”或’.’或‘+’;
解码设备判断数据中包含chr()且括号中的内容为数字时,将chr()替换为&和#的组合。
7.一种解码设备,其特征在于,包括:
判断单元,用于确定数据的第i个字节的内容;如果当数据的第i个字节为%时,判断数据的第i+1和i+2两个字节是否为十六进制,其中,i为大于等于0的整数;
转换单元,用于判断单元判断数据的第i+1和i+2两个字节为十六进制时,将第i个字节、第i+1个字节以及第i+2这3个字节转换为明文字符;
所述判断单元,还用于确定数据的第i-1个字节为%,或者转换得到的明文字符为#且第i-1个字节为&时,将数据的第i-2个字节作为所述第i个字节,并重新确定所述第i个字节的内容;
所述转换单元,用于确定数据的第i个字节为&且第i+1个字节为#时,将第i和i+1个字节的内容转换为%,将数据的第i-1个字节作为所述第i个字节,并重新确定所述第i个字节的内容。
8.如权利要求7所述的解码设备,其特征在于,
所述判断单元,还用于确定数据的第i-2个字节为%,或者转换得到的明文字符为x且第i-1个字节为#且第i-2个字节为&时,将数据的第i-3个字节作为所述第i个字节,并重新确定所述第i个字节的内容。
9.如权利要求7所述的解码设备,其特征在于,
所述判断单元,还用于确定转换得到的明文字符为%或&时,将数据的第i-1个字节作为所述第i个字节,并重新确定所述第i个字节的内容。
10.如权利要求7-9任一所述的解码设备,其特征在于,
所述判断单元,还用于确定数据的第i个字节为&,判断后续的字节内容是否属于html格式,如果是,则通知转换单元执行html转义操作。
11.如权利要求7-9任一所述的解码设备,其特征在于,
所述判断单元,还用于确定数据的第i个字节为\时,判断第i+1个字节为u, U, x 或X中的任意一个,则通知转换单元将第i和i+1字节的内容转换为%,将数据的第i-1个字节作为所述第i个字节,并重新确定所述第i个字节的内容;或者,
所述判断单元,还用于确定数据的第i个字节为\,判断后续的2或3个字节是否为八进制格式,如果是,则通知转换单元将八进制的数据转换为对应的明文字符。
12.如权利要求7-9任一所述的解码设备,其特征在于,
所述判断单元,还用于确定数据的某个字节为大写字母时,通知转换单元将所述大写字母转换为对应的小写字母;或者,
所述转换单元,还用于将数据中包含的符合十六进制格式的连续字符转换为明文字符;或者,
所述转换单元,还用于删除数据中包含的“.”或“+”或’.’或‘+’;
所述判断单元,还用于判断数据中包含chr()且括号中的内容为数字时,通知转换单元将chr()替换为&和#的组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810520263.3A CN108897721B (zh) | 2018-05-28 | 2018-05-28 | 一种对多种编码的数据进行解码的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810520263.3A CN108897721B (zh) | 2018-05-28 | 2018-05-28 | 一种对多种编码的数据进行解码的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108897721A CN108897721A (zh) | 2018-11-27 |
CN108897721B true CN108897721B (zh) | 2022-05-10 |
Family
ID=64343212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810520263.3A Active CN108897721B (zh) | 2018-05-28 | 2018-05-28 | 一种对多种编码的数据进行解码的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108897721B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124520A (zh) * | 2021-11-22 | 2022-03-01 | 浙江大学 | 基于多模态的拟态waf执行体实现方法 |
CN114615074A (zh) * | 2022-03-25 | 2022-06-10 | 山石网科通信技术股份有限公司 | 网络报文解码方法及网络攻击检测方法、装置和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354699A (zh) * | 2015-07-13 | 2017-01-25 | 富士通株式会社 | 编码方法、编码装置、解码方法以及解码装置 |
CN106789938A (zh) * | 2016-11-30 | 2017-05-31 | 四川秘无痕信息安全技术有限责任公司 | 一种实时监控手机端浏览器搜索痕迹的方法 |
-
2018
- 2018-05-28 CN CN201810520263.3A patent/CN108897721B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354699A (zh) * | 2015-07-13 | 2017-01-25 | 富士通株式会社 | 编码方法、编码装置、解码方法以及解码装置 |
CN106789938A (zh) * | 2016-11-30 | 2017-05-31 | 四川秘无痕信息安全技术有限责任公司 | 一种实时监控手机端浏览器搜索痕迹的方法 |
Non-Patent Citations (1)
Title |
---|
Web应用防火墙的设计与实现;王宇;《中国优秀硕士学位论文全文数据库信息科技辑》;20110715(第7期);第I139-79页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108897721A (zh) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101547126B (zh) | 一种基于网络数据流的网络病毒检测方法及装置 | |
CN110958252B (zh) | 一种网络安全设备及其网络攻击检测方法、装置和介质 | |
CN108897721B (zh) | 一种对多种编码的数据进行解码的方法和装置 | |
CN102594809B (zh) | 一种文件快速扫描方法和*** | |
CN110995391A (zh) | 隔离网络中数据的传输方法、服务端及终端 | |
CN113141331A (zh) | 一种xss攻击检测方法、装置、设备及介质 | |
CN115580494B (zh) | 一种弱口令的检测方法、装置和设备 | |
CN112100603B (zh) | 一种网站结合图形验证码的防御方法及其*** | |
CN113922968A (zh) | 访问令牌的生成及校验方法、装置、电子设备和存储介质 | |
CN111245899B (zh) | 一种web服务环境下非法报文的处理方法及*** | |
CN112685612A (zh) | 一种特征码查找和匹配方法、设备及存储介质 | |
CN113517982B (zh) | 口令的生成方法、口令的执行方法及终端 | |
CN117940894A (zh) | 用于检测代码克隆的***和方法 | |
CN111586013B (zh) | 网络入侵检测方法、装置、节点终端及存储介质 | |
CN108090115B (zh) | 一种针对Gzip压缩数据的过滤方法及*** | |
CN111737695A (zh) | 白名单优化方法、装置、设备与计算机可读存储介质 | |
CN114584362A (zh) | 一种防止unicode编码绕过的检测方法和装置 | |
CN111950233B (zh) | 扫码识别方法及装置、电子设备、可读存储介质 | |
CN112995218A (zh) | 域名的异常检测方法、装置及设备 | |
JP3839604B2 (ja) | データ処理方法 | |
CN113283215B (zh) | 一种基于utf-32编码的数据混淆方法及装置 | |
CN114168950B (zh) | 一种跨站脚本攻击漏洞的修复方法、装置、设备及产品 | |
CN107577941A (zh) | 拦截编码绕过的方法及设备 | |
CN109302467B (zh) | 消息分发方法、装置、终端及存储介质 | |
CN111563258B (zh) | 一种非可执行文件的安全运行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220210 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |