一、URL编码
1、URL只允许使用US-ASCII字符集中的可打印字符(也就是ASCII代码在0x20一Ox7e范围内的字符))。而且,由于URL方案或HTTP协议内具有特殊含义.这个范围内的一些字符也不能用在URL中。
2、URL编码方案主要用于对扩展ASCII字符集中的任何有问题的字符进行编码,使其可通过HTTP安全传输。任何URL编码的字符都以%为前缀,其后是这个字符的两位十六进制ASCII代码。以下是一些常见的URL编码字符:
%3d:代表=
%25:代表%
%20:代表空格
%0a:代表换行
%00:代表空字节
另一个值得注意的编码字符是加号(+).它代表URL编码的空格(除%20。代表空格外))
二、HTTP编码
1、HTML编码是一种用于表示问题字符以将其安全并入HTML文档的方案。有许多字符具有特殊的含义(如HTML内的元字符),并被用于定义文档结构而非其内容。为了安全使用这些字符并将其用在文档内容中,就必须对其进行HTML编码。
2、HTML编码定义了大量HTML实体来表示特殊的字面量字符.例如:
":代表”
&apos:代表’
&:代表&
<:代表<
&g:代表>
3、此外,任何字符都可以使用它的十进制ASCII码进行HTML编码.例如:
":代表”
#39:代表’
4、或者使用十六进制的ASCII码(以x为前缀),例如:
":代表”
':代表’
5、当攻击Web应用程序时,HTML编码主要在探查跨站点脚本漏洞时发挥作用。如果应用程序在响应中返回未被修改的用户输人,那么它可能易于受到攻击;如果它对危险字符进行HTML编码也许比较安全。
网友评论