开始挑战第三十关和三十一关(Protection with WAF) 0x1 前言 这关其实和29关是同样的,login.php页面存在防护,只要检测到存在问题就跳转到hacked.php页面,不同的是采用的双引号进行闭合而已,其他思路是同样的 0x2 开始测试 (1)输入测试字符,使其报错 (2)分析报错信息 很明显看出是采用双引号闭合,接下来就大同小异了,我就不做测试了 0x3  三十一关 (1)源码分析 可以看出思路是一样的,只是采用了双引号和括号进行闭合…
开始挑战第二十九关(Protection with WAF) 0x1查看源码 (1)login.php页面存在防护,只要检测到存在问题就跳转到hacked.php页面(其他信息看备注) 0x2 foreach循环 (1)第一方式 foreache($qs_array as $val) 这里的$qs_array就是需要遍历的数组名,每次循环时,$qs_array数组的当前元素的值被赋值给$val,并且数组的会逐次向后移动一步,即下次循环得到另一个元素; (2)第二方式 foreache($qs_a…
目录 sqli-labs 5.6双查询报错注入通关 0x01 获取目标库名 0x02 获取库中表的数量 0x03 获取库中表名 0x04 获取目标表中的列数 0x05 获取目标表的列名 0x06 从列中获取用户名 0x07 获取对应的用户密码 0x08 过关小结 本文以sqli-labs第五第六关为例,详细原理见我上一篇文章 sqli-labs资源在这:https://github.com/Audi-1/sqli-labs --- sqli-labs 5.6双查询报错注入通关 这篇为了代码行语法…
目录 双查询报错注入原理探索 part 1 场景复现 part 2 形成原因 part 3 报错原理 part 4 探索小结 双查询报错注入原理探索 上一篇讲了双查询报错查询注入,后又参考了一些博客,今天来探究其原理 实际上该报错是由于rand(),count(),group by 三个语句联合使用造成的,缺一不可. 上一篇的地址:https://www.cnblogs.com/laoxiajiadeyun/p/10278512.html part 1 场景复现 首先我们新建一个数据库,并创建一…
sql注入--双查询报错注入 背景:在sqli-labs第五关时,即使sql语句构造成功页面也没有回显出我们需要的信息,看到了有使用双查询操作造成报错的方式获得数据库信息,于是研究了一下双查询的报错原理,总结了探索的过程,整理出此文希望可以帮到感兴趣的人. sqli-labs闯关游戏下载地址:https://github.com/Audi-1/sqli-labs 双查询报错注入 需用到四个函数和一个group by语句: group by ... --->分组语句 //将查询的结果分类汇总 ra…
PS:在这几天的学习当中很多的文章都将此注入方式称之为“floor报错分析”但经过我这几天的学习.个人觉得不该如此称呼!若君有意请详细阅读此篇文章.特别感谢米怀特的开导,说句实在的研究这个注入有四天了.有点不好意思说出来.其实就是一个语句的事情!但是确实研究四天了.之前实在的虽说口上弄懂了,但脑袋里还是混混沌沌的.也怪自己愚昧.加油吧.废话多了(._.) 且看完整的payload:http://www.xishaonian.cn/sql.php?id=1+and(select 1 from(se…
提交id参数 加' http://localhost/sqli/Less-4/?id=1' 页面正常,添加" http://localhost/sqli/Less-4/?id=1" 对应的sql语句应为 select ... from ... where xx=("1") limit 0,1 构造 select ... from ... where xx=("1")#") limit 0,1 对应的GET请求 http://localh…
在我一系列常规的测试后发现,第五关和第六关,是属于报错注入的关卡,两关的区别是一个是单引号一个是双引号...当然我是看了源码的.... 基于报错注入的方法,我早就忘的差不多了,,,我记的我最后一次基于报错注入是在玩网络攻防平台第几关来着得,那个关卡时基于报错注入的,我当时还特地查了好多资料,学习了学习报错注入,当然在那段时间时,我看到我一个认为不错的团队开始收核心成员了,我就发了一份申请,果不其然,我被刷下来了,,,毕竟我还是菜么..... 当时申请的时候,我就想过,团队不养闲人,毕竟菜,所以菜…
payload   1 Union select count(*),concat((查询语句),0x26,floor(rand(0)*2))x from information_schema.columns group by x; payload拆分讲解  1 count():count()函数返回匹配指定条件的行数.count(*)函数返回表中的记录数 2 floor():floor:函数是用来向下取整呢个的,相当于去掉小数部分 3 rand():rand()是随机取(0,1)中的一个数,但是…
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太菜了..... 所以就真能默默的继续玩 Sqli labs系列 的源码了..... 不过SQL注入,主要可以分为 get 注入,post 注入,cookie 注入,其中咱们大部分都是的get 注入,post 注入都是提交表单类的注入,当然比如管理员登录框,如果存在注入,觉得嫌一直重复的话,可以用火狐…