学习历程-宽字节注入

本文详细介绍了SQL注入中的宽字节注入原理,通过sqli-labs的less-32关进行实战演示,包括宽字节注入的原因、如何判断及利用,最后展示了如何查询数据库、表名和字段,成功获取账号密码信息。
摘要由CSDN通过智能技术生成


前言

自我学习之路—宽字节注入


一、什么是宽字节注入?

先了解一下什么是窄、宽字节已经常见宽字节编码:

当某字符的大小为一个字节时,称其字符为窄字节.

当某字符的大小为两个字节时,称其字符为宽字节.

所有英文默认占一个字节,汉字占两个字节

常见的宽字节编码:GB2312,GBK,GB18030,BIG5,Shift_JIS等

1.1宽字节的原理-理解

如果数据库使用的的是GBK编码而PHP编码为UTF8就可能出现注入问题。

1.2宽字节注入产生原因

序员为了防止SQL注入,就会调用一下三个函数

  1. addslashes() 函数 返回在预定义字符之前添加反斜杠的字符串
  2. mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符
  3. mysql_escape_string() 转义一个字符串,将单引号或双引号进行转义操作

二、实际操作-sqli-labs /less-32关

1.?id=1 正常

请添加图片描述

2.?id=1’ 也正常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值