原理
主要的就是在无列名的情况下注出具体数据,这里有两种思路
原理这里先拿自己环境演示下,可以看到图中有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,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~