当前位置:网站首页>sqlilabs less-32~less-33
sqlilabs less-32~less-33
2022-07-29 02:21:00 【永远是深夜该多好。】
)
less-32
前期判断

我给id赋值然后啥都没了。
在源码看到一条代码,注释后就能显示,但是这玩意应该不能注释,后续实验需要使用.

虽然环境出了点大问题不过看到那行代码就想到宽字节注入。
宽字节注入
虽然不能做实验但是还是能虚幻实验一下,先来说说原理吧。
因为GBK需要两个字节编码,而ascii只需要一个字节,所以叫GBK这类叫宽字节。如果两个ascii字节连着一堆,就会被误认为是一个宽字节字符。
这个实验
因为代码mysql_query("SET NAMES gbk");,会导致MYSQL部分编码更改为gbk

再看看php编码是什么,是UTF-8(在UTF-8中汉字占3到4个字节)。
php会通过这个编码生成sql语句发给MYSQL,MYSQL收到请求时候会将请求内容从character_set_client转换为character_set_connection。

然后再把character_set_connection转化为内部操作字符集,使用character_set的值把内部操作字符集转化character_set_results,然后按character_set_results编码输出。

注入点在哪里呢,在character_set_client,因为MYSQL收到php的编码sql后使用了character_set_client又进行一次编码。
举个例子来理解理解,因为为了避免用户输入一些不必要的数据,对特俗的字符加上反斜杠“\“进行转义,比如当输入英文单引号" ’ "就会被转义为 " \ ’ "。
假设我们输入英文单引号,然后被过滤转义为反斜杠加英文单引号,就会导致注入失败。如果我们输入大于127的ascii字符加上一个字符,列如%df’.
%df‘ %df‘ ’会被转义为\',\ ascii码是 %5c
%df%5c’ 因为两个字节中第一个字节的ascii码大于127就会和后面一个字节一起看成汉字。
-
運’ 经过MYSQL的GBK编码后就变成了这样
转义的符号“\”被“%df”带着变成了“運”,就绕过了转义。
所以这次实验应该是-1%df%27union%20select%201,user(),3--+
less-33
我的less-33标题却是less-32,不出意外还是和less-32的一样,没有反馈。

看源码能找到addslashes


和less-32同理,用宽字节注入。
边栏推荐
- Three expiration strategies
- 11.书写规则-伪目标
- MPEG音频编码三十年
- FPGA skimming memory (Verilog implementation of ram and FIFO)
- Production scheme and advantages of online 3D digital exhibition hall
- QT screen adaptive automatic layout, drag the window to automatically grow larger and smaller (I)
- 架构师进阶,微服务设计与治理的 16 条常用原则
- NVIDIA-VPI(Vision Programming Interface)
- 多重继承与派生类成员标识
- 别人的快乐
猜你喜欢

QT screen adaptive automatic layout, drag the window to automatically grow larger and smaller (I)

Qt编写物联网管理平台48-特色功能设计

架构师进阶,微服务设计与治理的 16 条常用原则

新版海螺影视主题模板M3.1全解密版本多功能苹果CMSv10后台自适应主题开源全解密版

Shell script quick start-01

Double write consistency of MySQL and redis

MySQL和Redis的双写一致性

IOT components

【OpenCV】使用OpenCV调用手机摄像头

2022/07/28 learning notes (day18) common APIs
随机推荐
Intel's IPP Library (Integrated Performance Primitives)
3种过期策略
并发模式之异步回调Future模式
Redis queue realizes second kill
Happy childhood
外挂---线段树懒标记板子+简单数学推理
Wechat applet - Advanced chapter Lin UI component library source code analysis button component (II)
QT compilation of IOT management platform 48 characteristic function design
第七天笔记
UE4.25 Slate源码解读
C语言实现三子棋游戏
TCP重传机制有哪些?
PHP幸运抽奖系统带后台源码
ECCV 2022 | airdet: a small sample target detection method without fine tuning
主从复制及其原理
Flink生产环境经典问题汇总
Double write consistency of MySQL and redis
Library management system
【OpenCV】使用OpenCV调用手机摄像头
践踏---离散化+树状数组+差分