宽字节注入详解分析


发布人:HeiTao分类:网络安全浏览量:249发布时间:2018-10-08

简介  宽字节注入,它的作用可以绕过转义,也是绕过转义的其中一个办法  宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,php代码:mysql_query("SET

宽字节注入,它的作用可以绕过转义,也是绕过转义的其中一个办法

  宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,php代码:mysql_query("SET NAMES 'gbk'");这样配置会引发编码转换从而导致的注入漏洞。(GBK导致的问题)

  utf-8 3个字节

  gbk 2个字节

  具体原理如下:

  当GPC开启(php.ini

  magic_quotes_gpc = On)或使用addslashes函数过滤提交的参数时,测试注入点使用的单引号 ' 就会被转义为: \'

  这个的作用就是对敏感函数的转义,让我们无法注入。

  如果存在宽字节注入,我们输入%df%27时首先经过上面提到的转义就会变成%df%5c%27(%5c就是反斜杠)。之后再数据库查询由于使用了GBK多字节编码,即在汉字编码范围内两个字节会被编码为一个汉字,然后MySQL服务器会对查询语句进行了GBK编码%df%5c转换成汉字,而单引号逃出了,这个时候就可以注入了。

  %df不是固定的,可以自己组合。只要是汉字就可以。

  测试存在宽字节注入,下面就是使用办法。

宽字节注入详解分析

宽字节注入图1

宽字节注入详解分析

宽字节注入图2

  用工具就是把链接直接丢到sqlmap里面如:http://localhost:8080/sql1/sql1.php?title=1%bb 后面的%bb不能去掉。

  -----------------------------------------------------------------

  摘抄:

  宽字节注入原理:

  GBK 占用两字节

  ASCII占用一字节

  PHP中编码为GBK,函数执行添加的是ASCII编码,MYSQL默认字符集是GBK等宽字节字符集。

  输入%df和函数执行添加的%5C,被合并成%df%5C。由于GBK是两字节,这个%df%5C被MYSQL识别为GBK。导致本应的%df\变成%df%5C。%df%5C在GBK编码中没有对应,所以被当成无效字符。

  %DF’ :会被PHP当中的addslashes函数转义为“%DF\'” ,“\”既URL里的“%5C”,那么也就是说,“%DF'”会被转成“%DF%5C%27”倘若网站的字符集是GBK,MYSQL使用的编码也是GBK的话,就会认为“%DF%5C%27”是一个宽字符。也就是“縗’”

  例如:http://www.xxx.com/login.php?user=%df’ or 1=1 limit 1,1%23&pass=

  其对应的sql就是:

  select * fromcms_user where username = ‘運’ or 1=1 limit 1,1#’ and password=”

  获取信息办法:13:10083/index.php?id=-10%df' union select 1,databases()%23

被黑站点统计 - 文章版权1、本主题所有言论和图片纯属会员个人意见,与本文章立场无关
2、本站所有主题由该文章作者发表,该文章作者与被黑站点统计享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和被黑站点统计的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、被黑站点统计管理员有权不事先通知发贴者而删除本文

免责声明

本站主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据.本站所有工作人员均不参与黑站,挂马或赢利性行为,所有数据均为网民提供,提交者不一定是黑站人,所有提交采取不记名,先提交先审核的方式,如有任何疑问请及时与我们联系.

HeiTao  的文章


微信公众号

微信公众号


Copyright © 2012-2022被黑网站统计系统All Rights Reserved
页面总访问量:21267891(PV) 页面执行时间:39.373(MS)
  • xml
  • 网站地图