sqli-labs1-10通关笔记

让第一个参数不存在的目的是,让联合查询需要的结果能在页面回显。

常规注入步骤为探测是否有注入点,有则判断列数,判断回显位,判断当前数据库名,查询当前数据库中的所有表名,然后选取感兴趣的表进行字段查询

Less1

纯数字时,页面正常

尝试闭合标签,发现闭合成功,页面无内容

判定存在注入点

查看源码,发现闭合标签确实时单引号,且参数获取的值,没有经过任何过滤,就直接使用。于是常规的sql注入流程就可以获取到用户名和密码


Less2

由于逻辑假,所以没有查询到结果,判断为数字型查询

同样,由于参数没有任何过滤,直接使用,所以常规注入流程即可


Less3

?id=1--+时页面正常

?id=1 and 1=2 页也正常,所有判断为字符型注入,接下来需要考虑闭合标签

当第一次使用单引号后,直接报错

其他任意闭合符都正常返回页面,于是初步可以判断为闭合标签应该是单引号与其他标签组合形成的闭合符。

使用单引号和括号时,页面正常,单引号双引号结合时,报错。于是可以判断闭合标签为单引号和括号

查看源码

为什么只用单引号会报错,其他符号没闭合却没报错?

原 SQL 结构:id=('$id')

仅输入单个单引号 1' 为什么报错

传入值拼接后:id=('1'')。多出一个单引号,引号配对断裂,SQL 语法不完整,数据库抛出语法错误。

传入 1) 这类符号为什么不报错

传入值拼接后:id=('1)')。首尾原有单引号正常配对闭合,1) 整体被视作字符串内容,SQL 语法合法,因此正常执行查询。

补充 payload 1)--+

  1. 提前闭合左侧括号,--+ 注释掉后端多余的 '),截断原有语句,实现注入。

由于没有对参数进行任何过滤,,所以常规注入步骤即可


Less4

通less3一样,判断出闭合符即可

复制代码
$id = '"' . $id . '"';

点是php拼接字符串运算符

PHP 单引号字符串:内部内容原样输出,不解析变量、不解析转义

如输入1,此时id的值就是"1"

最后再拼接成("1")


Less5--盲注类

盲注:布尔盲注,错误盲注

数据库执行 SQL,但页面不返回数据库报错,也不回显查询的数据。 仅根据 SQL 查询条件真假,返回两种不同页面状态:

  1. 查询条件为真:返回正常页面(业务正常内容)
  2. 查询条件为假:返回异常 / 空白页面

通过观察页面两种返回结果,间接推断数据库内部信息,逐位猜解库、表、字段数据。

可使用sqlmap工具,或编写python脚本自动注入

错误盲注:updatexml(1,concat(0x7e,(select database()),1)--+

源码

只会输出固定内容,输出结果随 SQL 查询真假分为两种页面:

查询条件为真输出 "You are in......";

查询条件为假则进入 else 分支,可输出数据库报错信息,该环境可支持布尔盲注与报错注入。

报错注入法


Less6

同样是盲注,注意判断闭合符


less7

依旧盲注,判断闭合符

一个单引号报错

单引号括号也报错

双引号不报错

正确闭合

依旧对输入的参数没有任何过滤,判断闭合符后盲注

')让语句中多了个)

"被当作字符串整体识别


Less8

纯布尔盲注

Less9--时间盲注

不论正确闭合与否,页面都不会改变,于是可以用时间盲注。

在burp suite中抓包后,用if(expre1,expr2,expr3):如果expr1为ture,则if返回expr2,否则返回expr3.

此处由于知道当前数据库名为security,所以返回sleep(5),让数据库查询休眠5秒,明显得发现页面有延迟

Less10

注意闭合符的时间注入

相关推荐
BullSmall2 小时前
Another Redis Desktop Manager(ARDM)下载指南
数据库·redis·缓存
SelectDB3 小时前
Apache Doris 倒排索引工作原理:全文检索提速 59 倍,点查提速 14 倍
数据库
码农颜3 小时前
5.1.1 原⼦性
数据库·mysql
机建狂魔3 小时前
Codex 接入第三方模型 API 实战:以 Mimo 为例
java·服务器·数据库·ai·ai编程·codex
山峰哥3 小时前
数据库工程与SQL调优:从慢查询到秒级响应的实战之路
java·开发语言·数据库·sql·深度优先·启发式算法
moMo4 小时前
# 向量数据库入门:从"关键词匹配"到"语义理解"
数据库
ACP广源盛139246256734 小时前
DeepSeek‑V4‑Flash 公测@ACP#昇腾 950 国产算力组合落地,国产 PCIe 交换芯片 IX9104 有哪些硬件机会
大数据·数据库·人工智能·分布式·单片机·嵌入式硬件·microsoft
进击的女IT4 小时前
通过mysql中的Data目录恢复数据库数据
数据库·mysql
yuezhilangniao4 小时前
AI工具全家桶:从开发到运维,从数据库到产品经理-含魔塔社区简介
运维·数据库·人工智能