sql注入之无列名注数据详解,黑客技术零基础入门到精通实战教程建议收藏!

原理

主要的就是在无列名的情况下注出具体数据,这里有两种思路

原理这里先拿自己环境演示下,可以看到图中有id、user、pass三列,我们假设不知道列名,但我们还是想注出pass这个字段下的hello这条数据

假如他后端的语句是这样写的,1是我们传的参数

正常的联合查询判断回显位,假如这里回显位是2

先来看这条语句,我们会发现列名变成了前面查询的1,2,3,表中所有的数据都被查询出来了,并且会多出来一行数据

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

因为回显位只有一个,我们只需要第三列的数据,所以要这样构造语句

select `3` from (select 1,2,3 union select * from users)x;
后面x代表给这张虚拟表命名,反单引号是为了区别列名3和普通字符3

这里如果不使用反单引号就会变成这样

绕过的话可以用这个语句

select c from (select 1 as a,2 as b,3 as c union select * from users)x;
再重新给列名赋值

那在实际情况中我们就该这样构造payload

-1 union select 1,(select `3` from (select 1,2,3 union select * from users)x limit 1,1),3;
这里根据实际情况来来调整回显位和想查询哪列的数据,limit控制第几条

可以看到 hello 直接回显出来了

如果想回显 blue 的话直接修改为 limit 2,1 即可

如果不知道当前表名,括号还被过滤了无法使用,就需要另外一种思路了,就是通过order by语句来进行布尔盲注

还是上面的环境,联合查询的时候正常我们将前面改成id=-1,会把2回显到页面上,如果是id=1的话就会把admin回显到页面上,因为这里回显位只有2,其他两个都不回显

我们将要注的是第三列中的数据,就把3改成字符a,然后后面加个order by 3按照第三列去排序,下面就会回显2

在mysql中order by默认排序是按照升序的规则
如果排序的是1,2,3很明显就是 1 2 3 这样的排序
如果是'at'和'nt',则会比较第一位字符的ascii码来进行排序
如果第一位相同,则会比较第二位
如果是数字和字符串,那么数字永远会在前面

我们遍历a这个字符即可,a-z,他的ascii码是递增的,当他为h时,回显到页面的为2

当他为i时,因为h的ascii码为104,i的ascii码为105,升序的话就会按照下面这样排序,回显到页面的就会是admin,我们就可以确定第一位字符为h

注第二位的话,把第一位固定为h,遍历第二位,可以发现回显的均是2

只有第二位为l的时候,回显的是admin

然后依次类推即可注出全部数据

显然这种方式还需要知道id的值,实战中基本用不到,只在ctf中用到的比较多

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

ctf案例

首先题目提示就是:注入,注入,注入!重要的事说三遍!

打开靶机界面如下

于是我盯着登录界面就是一顿测sql注入,然后什么也没测出来,打开F12看到了一个注册功能的文件名

这里正常访问,正常注册即可,登录之后是下面这个界面

看到id参数,简单测试了一下,存在sql注入

下载下来是有5个文件,register.php、index.php、profile.php、config.php、flag.php

首先关注下flag.php,前端访问是这样

源码如下

这里有两个条件,captcha这个参数的md5值要等于他给的那四个字符才行,这里每提交一次就会随机生成,这个比较简单,然后兑换码要等于数据库中的才行

打开config.php文件看一下,secret就是兑换码,是动态生成的

使用再来看下profile.php文件(就是登录之后存在sql注入的地方),随机生成的36位兑换码,当你请求次数为140次,这个兑换码就会重置

这里我自己测试是过滤了括号下划线和点等特殊符号,只能使用order by的方式盲注

回到刚刚有注入的数据包,回显位是2,要注的数据在第4列,id不能变,我们注的就是39对应的兑换码那列的数据

所以这样构造数据包,他回显了2,说明第一位字符的ascii码比a大

这里还是回显了2,说明正确字符比g大

这里回显了test99,说明第一位是g,然后依次类推即可

还好字符串不会重复,再加上二分法,写了脚本跑了几次还是可以跑出来

captcha就写个小脚本从1开始计算md5值的前四位就行,然后提交弹出flag

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述
在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
在这里插入图片描述
在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:
在这里插入图片描述
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值