sqllab专题

sqllab第48-65关通关笔记

48关知识点: 数值型注入时间盲注 payload:sort=1%20and%20if((mid(database(),1,1)=%27a%27),sleep(3),0)=1利用bp抓包放到爆破模块中进行爆破 49关知识点: 字符型注入时间盲注 payload:sort=1'%20and%20if((mid(database(),1,1)=%27a%27),sleep(3),0)='1利用b

sqllab第二十六A关通关笔记

知识点: 布尔注入 只能爆破出不带空格的语句信息database()  version()  等空格、注释都被过滤了错误不回显了 感觉和26关应该差不多 构造payload:id=0'||1='1 发现可以绕过 尝试进行错误注入 构造payload:id='||exp(710)='1 发现页面没有有价值的回显信息;说明这里不能够进行错误注入 尝试进行if绕过 构造pa

sqllab第二十八关通关笔记(附带28a)

知识点: union select 整体过滤 union all select 替换where id=('输入')空格 + 过滤了,使用%09代替 经过不断的测试,发现原始语句为 where id=('输入') 构造payload:id=1')and%091=('1 成功回显出了相关的信息 好,尝试进行错误注入 构造payload:id=1')and%09exp(710)=('

sqllab第四十六关通关笔记

知识点: order by 可以判断字段数这里可以使用extractvalue()和updatexml()函数进行报错注入 通过测试发现原始语句为 select 1,2,3 from 表名 order by sort 只有三个字段,输入的信息作为排序的字段 构造sort=1,2,3,4(分别输入),测试处只有三个字段 通过单引号输入发现页面打印出了完整的错误信息 这

sqllab第二十六关通关笔记

知识点: 空格替换 %09 %0a %0b %0c %0d %a0 +(%2b)or替换:|| ||是不需要空格区分的and替换:&& &&同样不需要空格区分的双写绕过,但是绕过后需要和内容进行空格区分的,要不然不发挥作用;这关显然不能用这种方法错误注入可以实现无空格执行这一关过滤了url解码后的空格,和一些特殊字符,如\ / /* # \\ --  进入界面提示了所有的空格和注释都不能用

sqllab第二十五A关通关笔记

知识点: 数值型注入双写绕过 oorranand这里不能用错误注入(固定错误回显信息)联合注入 测试发现跟25关好像一样,就是过滤了and or # 等东西 构造payload:id=1/0 发现成功运算了,这是一个数值型的注入 构造payload:id=1/0+oorr+1=1--+ 成功显示了内容,可以尝试错误注入 构造payload:id=1/0+oorr+ex

sqllab第十八关通关笔记

知识点: UA注入 不进行url解析,不能使用+ %20 编码等操作出现在User-agent字段中一般为insert语句 insert 表名(字段1,字段2,。。。) values(数据1,数据2,。。。) 通过admin admin进行登录发现页面打印出了user-agent的信息 说明这是一个UA注入 将UA处的信息进行修改,利用单引号进行测试 构造UA: 1'

sqllab第二十关通关笔记

知识点: cookie注入 可以进行url解析错误注入传参位置 get请求post请求cookie传参 输入admin admin进行登录,抓取当前数据包 通过放包发现是一个302跳转的响应包,页面只有一个 I Love Cookies;没什么信息 通过点击页面上方的按钮可以实现响应包的自动跳转,跳转后的页面也没有任何信息 这就怪了,什么信息都没有,这怎么玩??

sqllab第二十三关通关笔记

知识点: mysqli_query()  返回值为资源型或布尔型如果内容为查询语句则返回资源型数据;如果内容为插入、更新、删除等语句则返回布尔类型结果mysql_fetch_array() 从结果集中取出一行作为关联数组或数字数组输入内容为指定查询的结果集单引号闭合绕过+联合注入 查看界面发现是一个id参数输入的,欸,这不是跟最开始的几关一样吗 尝试判断注入类型 构造payload:i

sqllab第二十一关通关笔记

知识点: 错误注入 最大长度为32超过需要利用截取函数分段读取cookie注入base64加密会保留符号的原始属性 通过admin admin进行登录发现和第二十关显示的内容一样,猜测应该还是cookie注入; 直接截取带有cookie的数据包,发现uname参数的值被加密了,%3d是等号,这应该是一个base64加密 通过在线解码平台对数据进行解密发现是admin,这就对上了,确

sqllab第十六关通关笔记

知识点: 布尔盲注时间盲注 布尔盲注 通过admin admin登录发现没有任何回显信息;但是使用的是成功登录的图片 随便输入一个用户和密码发现出现了错误登录的图片信息 构造username=a'# 感觉又是一个布尔注入 构造payload:username=a'+or+1=1# 发现登录失败的界面 正常登录使用flag图片,错误登录使用slap图片;感觉这里是可

sqllab第四关通关笔记

知识点: 判断注入点类型判断原始语句 select 1,2,3 from 表名 where id=("输入") limit 0,1; 首先判断注入类型 构造id=1/0 正常打印;字符型注入 构造id=1' 正常回显;说明不是用单引号读取输入内容 构造id=1" 发生异常;回显出现了关键信息‘)’ 说明原始语句中对输入的读取格式为  ("输入") 默认单引号为字符串

sqllab第二关通关笔记

知识点整理: 数值型注入判断手法 1/1 1/0 回显不同错误注入函数 extractvalue(xml_flag,xpath) xml_flag:文件表示符xpath:文件路径;不能识别‘~’ ‘#’ 等特殊字符;遇到就报错并打印xpath内容~(十六进制表示):0x7e#(十六进制表示):0x23$:0x24%:0x25&:0x26+:0x2b十六进制ascii表:ASCII码16进制对照表

sqllab第六关通关笔记

知识点: 报错注入回顾原始语句测试截取函数 mid(字符串,起始位置,长度)substr(字符串,起始位置,长度)left(字符串,长度)right(字符串,长度)加入截取控制的错误注入payload payload:id=1"%20and%20extractvalue(1,concat(0x7e,mid((select%20group_concat(table_name)%20from%20i

Sqllab第一关通关笔记

知识点: 明白数值注入和字符注入的区别         数值注入:通过数字运算判断,1/0 1/1        字符注入:通过引号进行判断,奇数个和偶数个单引号进行识别 联合查询:union 或者 union all  需要满足字段数一致,否则报错将输入数据和查询数据进行格式整合然后输出 group_concat() group_concat( [distinct] 要连接的字段 [