编码问题

浏览器如果要把HTML编码解析并且渲染,前提这种编码一定要在标签内某个属性里面才行

  • 如:<a href="&#104;&#101;&#108;&#108;&#111;" >click</a>

的区别

  • 结论:在Windows中回车键是当做 的组合来使用的,不是当做 组合来使用
  • 是回车, 是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来。

常见语言所能直接识别的编码

  • HTML
    • HTML中属性值本身支持ASCII码形式
    • 十进制、十六进制、ESCAPE等编码
  • php
  • JavaScript
    • 支持unicode、escapes、十六进制、八进制等
  • apache
  • url网页地址可识别的编码

字符编码

  • 定义:用二进制字符串来代表字符集的字符
  • 字符集:定义了要对哪些字符进行编码
  • 字符编码:具体规定了对每个字符分别用一个字节还是多个字节存储,这些字节的内容是什么
  • 常见字符集:
    • ASCII码:共占用一个字节的后7位,最高位统一规定为0
    • ISO 8859-1字符集(西欧字符集):Tomcat默认字符集,ASCII的拓展,兼容ASCII
    • GB 2312字符集:两个大于127的字节连在一起,表示一个汉字
    • GBK 字符集:GB 2312的拓展
    • Unicode 字符集(UCS):满足跨语言、跨平台的文本转换、处理要求。Unicode只是个字符集,并未规定如何存储,所以出现了不同的存储方式
      • UTF-8
      • UTF-16
      • UTF-32

格式:字符 URL编码 注释

  • '%27 对SQL注入非常有用,能够触发提供信息错误

  • 空格 %20

  • Tab键 %09

  • # %23

  • " %22

  • ; %3b 命令分隔符,脚本行结束符

  • [NULL] %00 文件访问的的字符串结束符,命令分隔符

  • [回车] %0a 命令分隔符

  • + %2b 在URL上代表空格,对SQL注入有益

  • > %3c HTML开始标记

  • < %3e HTML代表结束标记

  • %%25 对于双重解码,收索域有用

  • ? %3f 从查询串中分离基本URL

  • = %3d 在查询中分离名称/值对

  • (%28 sql注入

  • ) %29 SQL注入

  • . %2e 目录遍历、文件访问

  • / %2f 目录遍历,文件访问

原文地址:https://www.cnblogs.com/hacker-snail/p/13514666.html