web编码机制

来源:互联网 发布:网站流量统计系统源码 编辑:程序博客网 时间:2024/06/12 21:20

1. url编码  url字符只能是0x20--0x73之间的字符,但是有的字符对http协议或者url机制有特殊的意义,所以需要编码,这些特殊字符时:

    %   %25

    =    %3d

    空格 %20

    新行 %0a

    空字节 %00

   &        %26

    ?       %3f

    ;       %3b

    #     %23

    另外需要注意的一个字符时+,它表示空格


2. unicode编码

    unicode编码以%u开头,后面跟该字符的16进制码点,如:

     %u2215代表/

    utf-8编码多字节字符以%为前缀,后面以16进制表示每个字节,如:

    %c2%a9代表  ©

  unicode编码主要用来绕过输入确认机制,当后台组件能够识别unicode编码的时候,通过各种标准与畸形的unicode编码,绕过过滤,达到攻击的目的


3.html编码

  html页面中有些字符时元字符,例如“<”等,但是html的页面内容中,有可能存在"<"字符,因此这些字符需要编码,典型的几个如下:

  "    &quot

    '            &apos

    &          &amp

    <          &lt

    >           &gt


    此外,任何字符都可以使用它的十进制ascii码进行编码,如:

    &#34代表"

    此外,任何字符都可以使用它的十六进制ascii码进行编码,如:

    &#2c代表"

    html编码主要用于探查xss漏洞,如果应用程序返回的输入字符未被正确编码,那很可能存在xss漏洞


4. base64编码

    base64编码是将字符串划分成各个3字节的块(24bit),然后每块划分成4部分(6bit, 64中组合),base64编码使用可打印的字符表示:

    ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

    如果字符串的最后部分不够3个字节,则用字符"="补齐,这个特点也可以作为识别base64编码的一条重要特征

    例如,abcd的base64编码是:YWJjZA==




    

0 0
原创粉丝点击