SQL注入通例Fuzz全记录
副问题[/!--empirenews.page--]
媒介 本篇文章是在做ctf bugku的一道sql 盲注的题(标题地点:注入标题)中运用了fuzz的思绪,完备记录整个fuzz的进程,给师傅们当点心,利便各人加深对web sql注入 fuzz的领略。 进入主题 1.会见标题,是个典范的登录框 2.实行输入admin/123456,提醒暗码错误,因此可以确定存在用户admin,这里也许会有师傅要爆破了,但这里标题要求sql注入,我们就凭证预期解来吧。 3.我本身写了个简朴的fuzz burp插件,先将登岸哀求包发送到插件扫描,可以看到是存在盲注的,payload的情势为: 4.fuzz (1)从payload的情势可以揣摩标题应该是过滤了注释符(–+和#) (2)fuzz一遍非凡字符,看看过滤了什么 当存在过滤的字符时,相应包是这样的 因此可以作为fuzz的判定(虽然有些waf是静默waf,就是照样吸取你的数据但本身做了处理赏罚,返回正常页面,这种fuzz的判定偶然辰就必要计划下你的payload,这种在往后的文章继承接头) fuzz非凡字符,功效如下,可以看到长度为370的是被wa了的,过滤了相等多的字符,出格是内联注释 注释符 空格 %0a %0b %0d %a0这些较量常用的绕过要害组件,尤其留意过滤了逗号 (3)fuzz一遍要害字,过滤了and or order union for 等等,因此取数据常用的mid( xx from xx for xx)就不能用了,,之前逗号也被过滤了也就不能用mid(xx,1,1)。 (4)fuzz函数名和操纵符(因为插件的扫描功效没有过滤sleep,直觉上是没有对函数做过滤) 不出不测,确实是只有包括要害字or and等的函数被wa了,其他根基没有,其拭魅这里我们也可以遐想到跑表常常要用的information_schema表是存在or要害字的,因从此面结构语句的时辰也就不能直接用information_schema (5)实行用时刻盲注跑数据
因为不能用逗号必要变为
但空格也被过滤了,必要用括号取代空格(/*!*/ 空格 tab %a0 %0d%0a均被过滤了)
最后当地测试的时辰发明case when之间不能用括号,做一下字符fuzz,从%00到%ff 可以看到功效是确实不可,并不能发生延时(有的直接被wa,有的没被wa但sql语句无法见效),因此根基可以确认不能用时刻盲注跑数据,于是我们只能思量布尔盲注 (6)实行布尔盲注 因为无法行使if可能case/when,只能行使标题自带的bool盲注做逻辑判定(=) 好比我们一开始就留意到存在admin用户,改革插件的payload: ‘+sleep(5)+’ (留意把+换为%2b)
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |