-
-
[讨论]HTTP协议头部非ASCII字符,潜在的攻击行为
-
发表于:
2011-11-18 13:54
3456
-
[讨论]HTTP协议头部非ASCII字符,潜在的攻击行为
HTTP协议RFC2616
http://www.ietf.org/rfc/rfc2616.txt规定HTTP 头部字符集都是ASCII:
OCTET = <any 8-bit sequence of data>
CHAR = <any US-ASCII character (octets 0 - 127)>
UPALPHA = <any US-ASCII uppercase letter "A".."Z">
LOALPHA = <any US-ASCII lowercase letter "a".."z">
ALPHA = UPALPHA | LOALPHA
DIGIT = <any US-ASCII digit "0".."9">
CTL = <any US-ASCII control character
(octets 0 - 31) and DEL (127)>
CR = <US-ASCII CR, carriage return (13)>
LF = <US-ASCII LF, linefeed (10)>
SP = <US-ASCII SP, space (32)>
HT = <US-ASCII HT, horizontal-tab (9)>
<"> = <US-ASCII double-quote mark (34)>
如果出现非ascii字符,则是协议异常。异常的背后可能隐藏网络攻击,可能包含了shellcode。
同理,对于其他字符型协议FTP,SMTP等, 它们的命令和参数都被定义成ASCII字符,非ASCII字符的出现,则表明协议异常,攻击潜藏。
参加:www.exploit-db.com中有很多FTP的buffer overflow的攻击,攻击代码中的shellcode都出现在FTP命令,或者参数中。
结论:如果阻断异常协议网络包,就可以阻断大部分网络攻击。
听听大家的想法。谢谢。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课