sql注入靶场实操

本文详细介绍了如何在靶场环境中检测和利用SQL注入漏洞来获取数据。首先,通过测试运算符和AND条件确认SQL注入的存在。接着,通过ORDER BY和UNION查询确定字段数量,并利用information_schema库获取表名。最后,通过LIMIT和SELECT语句成功读取到error_flag表中的flag数据。

目录

一、测试页面是否存在sql注入
二、利用漏洞看是否能够拿到数据
information_schema

前提条件:靶场环境为mysql数据库,由于是靶场能看见页面执行代码
回顾sql注入的两个关键条件:
1.用户能够控制输入
2.原本要执行的代码,拼接了用户输入的sql代码被执行
下面有个连接写的判断sql注入漏洞写的很好https://blog.csdn.net/qq_51550750/article/details/122925031
作者:qq_51550750

一、测试页面是否存在sql注入
页面能看出是为get传参
get传参便能测试是否存在sql注入
在这里插入图片描述
常见测试sql注入漏洞语句为:
运算符进行运算;and 1=1 and1=2;seelp()延迟函数
当进行运算符进行运算时发现id=3-1 输出2的内容
再进行and进一步来看是否存在sql漏洞
and 1=1这里能看见sele*from user where id=1 and 1=1
这个时候他会在原有的基础上去判断and 1=1 这显然是正确的,正确才会有输出
页面正常输出
用户输入数据为and1=2
现在是sql语句在执行了原有的查询语句后去判断and 1=2是否正确 判断正确才会有输出在这里插入图片描述
页面无任何回显现在可以确定存在sql注入了

二、利用漏洞看是否能够拿到数据
现在可以试一试猜字段了
order by 1 order by 5在这里插入图片描述
order by 5出现 No results found未找到内容
证明没有5个字段
order by 3出现了回显 order by 4出现 No results found未找到内容
在这里插入图片描述
联合查询union语句整上去去找页面的回显点,这里需要注意的是mysql语句在执行语句会先执行前面的语句也就是说还是会输出前面的内容,这里让前面的语句查询不到不到东西

这里采用?id=1 and 1=2 也就是说执行的语句得满足1=2这个条件明显是错误的使用页面输出不了内容

and 1=2 union select 1,2,3
在这里插入图片描述

现在已知条件是
存在着3个字段,回显点有两个2,3
现在便要利用到一个mysql自带库去操作sql语句了
information_schema
库里面存在着tables表,里面存放这数据库和时数据表的关联
这个是mysql系统自带库,里面储存了表和数据库的一个连接意思为储存了一些对于关系
里面有一个表叫做tables表,储存了表和数据库的关联
如何调用 information_schema数据库的内容
. 在数据库中.代表着 库.表.字段
库.表.字段=选中x库的x表的x字段
在这里插入图片描述我们选择回显点3来进行操作
语句为:
and 1=2 union select 1,2,table_name from information_schema.tables where table_schema=database();
在这里插入图片描述
在这里插入图片描述
页面回显user现在知道了当前是表名 我们的目的是拿flag 通过limit来拿其他表
发现了erro_flag表
在这里插入图片描述

知道了表再去拿字段
union select 1,2,column_name from information_schema.columns where table_name=‘error_flag’ and table_schema=database()
页面回显内容为flag,falg字段不出意外内容便在里面在这里插入图片描述
现在已知条件是表为error_flag 字段为falg字段
接下来便是拿flag跑路
union select 1,2,flag from error_flag
得到falg 第一个回显为zKaq-98K
四题四个flg都给它取出来使用limit n,m
顺序分别为:
zKaQ-Nf
zKaQ-BJY
zKaQ-XiaoFang
zKaq-98K

后面三题大同小异
第二题有’便加一个’ 多出来的给它注释掉 – qwe
在这里插入图片描述
第三题有’) 便加一个’)多出来的给它注释掉 – qwe
在这里插入图片描述
第四题有")便多加一个多出来的给它注释掉 – qwe
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值