加入收藏 | 设为首页 | 会员中心 | 我要投稿 江门站长网 (https://www.0750zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

科普 宽字节注入解说

发布时间:2022-05-09 09:29:54 所属栏目:安全 来源:互联网
导读:在mysql中,用于转义的函数有addslashes,mysql_real_escape_string,mysql_escape_string等,还有一种情况是magic_quote_gpc,不过高版本的PHP将去除这个特性。 就放弃了尝试,这是一个误区,SQL注入不是XSS。虽然他们中编码的成因相似,不过发生的地点不同
          在mysql中,用于转义的函数有addslashes,mysql_real_escape_string,mysql_escape_string等,还有一种情况是magic_quote_gpc,不过高版本的PHP将去除这个特性。
 
          就放弃了尝试,这是一个误区,SQL注入不是XSS。虽然他们中编码的成因相似,不过发生的地点不同。
 
          UTF8
 
          由于ASCII表示的字符只有128个,因此网络世界的规范是使用UNICODE编码,但是用ASCII表示的字符使用UNICODE并不高效。因此出现了中间格式字符集,被称为通用转换格式,及UTF(Universal Transformation Format)。
 
          宽字节
 
          GB2312、GBK、GB18030、BIG5、Shift_JIS等这些都是常说的宽字节,实际上只有两字节。宽字节带来的安全问题主要是吃ASCII字符(一字节)的现象。
 
MYSQL的字符集转换过程
 
1. MySQL Server收到请求时将请求数据从character_set_client转换为character_set_connection;
 
2. 进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,其确定方法如下:
 
• 使用每个数据字段的CHARACTER SET设定值;
 
• 若上述值不存在,则使用对应数据表的DEFAULT CHARACTER SET设定值(MySQL扩展,非SQL标准);
 
• 若上述值不存在,则使用对应数据库的DEFAULT CHARACTER SET设定值;
 
• 若上述值不存在,则使用character_set_server设定值。
 
将操作结果从内部操作字符集转换为character_set_results。

(编辑:江门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!