当前位置: 首页 > article >正文

3.17BUUCTF练习day1

BUUCTF练习day1

[极客大挑战 2019]EasySQL1(字符型,账号密码型,get型)

判断闭合方式

在用户名输入1‘,此时密码先输入任何数字时,出现语法错误

请添加图片描述

请添加图片描述

说明闭合方式为单引号闭合,在判断完闭合方式后我们就可以进行注入,一般来说,有账号密码登陆的题,在判断完闭合方式后,可以尝试先用万能账号密码解题,如果不行那么手工注入需要按照步骤来

注入

方法一:万能密码

字符型的万能密a’ or true #

当为两个注入点时,例如:用户名和密码,其中至少有一个输入万能密码即可获得正确的flag

直接在页面输入

你不管输入什么内容,浏览器都会给你进行url编码,所以你不用管什么,只用输入你要输入的内容a’ or true #,如下图

请添加图片描述

请添加图片描述

使用hackbar输入

在这里进行get传参,就需要自己将特殊字符编码,例如#需要编码为%23

GET传参要经过url编码,所以使用url进行输入时,不能使用#,而应该使用其url编码%23,如图

请添加图片描述

方法二:手工注入
判断列数

字符型判断列数1’ order by 1,2,3,4%23(注意这些字符之间的空格和特殊字符进行url编码),页面报错,那么就没有第三列

请添加图片描述

输入1’ order by 1,2,3%23,页面回显正常(没有报错),说明有第三列,即说明这个数据库的表一共三列

请添加图片描述

查询当前数据库,用户,数据库版本

先试一试这个-1’ union select 1,2,3%23

请添加图片描述

由图可知,回显直接回显出来了flag(只是因为这个题很简单),正常的题还需要查询当前数据库,用户,数据库版本等信息收集,然后查询表名,字段名,和内容,下次遇到了再说

[极客大挑战 2019]Havefun

在打开的页面找不到任何信息,那我们可以翻看一下源代码,可以看到一些信息

请添加图片描述

返回页面打开hackbar进行get传参,由代码逻辑得到当cat=dog时输出

一个类似CTF的字符串 Syc{cat_cat_cat_cat}

请添加图片描述

[HCTF 2018]WarmUp

打开的原页面没有思路,那么翻看源代码,可以发现一些思路

请添加图片描述

访问source.php

请添加图片描述

在这个页面除了代码,还看到了另一个页面hint.php

请添加图片描述
又可以得到一个线索flag在ffffllllaaaagggg中

在返回到source中继续代码审计

需要认识两个函数了mb_substr返回字符串的一部分;mb_strpos返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE,找到返回对应的位置(一个数值),这两个函数把page(file)参数操作一下,然后检查page参数是否在白名单上

这个题给我的感觉就是看代码的逻辑构造payload另外就是目录的遍历

当前的source.php一般是在html目录下,往上是www,var,然后到根目录,flag一般就放在根目录下面,这里还有一个hint.php?/或者source.php?/,因此需要返回四层才能到根目录

source.php?file=hint.php?/../../../../ffffllllaaaagggg

请添加图片描述

[ACTF2020 新生赛]Include

打开页面为这个

请添加图片描述

点开之后没有什么发现,查看源码也没有什么发现

再仔细看看,感觉url有一点有趣

请添加图片描述

我们可以通过修改 file 参数值来包含本地文件,那么就存在文件包含漏洞了

文件包含漏洞通常使用伪协议读取flag

php://filter/convert.base64-encode/resource=flag.php

利用伪协议将flag进行base64编码后带出来

请添加图片描述

放进解码工具解码得到flag

请添加图片描述

[ACTF2020 新生赛]Exec

命令注入的题目

  • ;直接分号分隔
    管道符:作用和&一样。前面和后面命令都要执行,无论前面真假
  • | 按位或
    作用是直接执行|后面的语句
  • || 逻辑或
    作用是如果前面命令是错的那么就执行后面的语句,否则只执行前面的语句
  • & 按位与
    &前面和后面命令都要执行,无论前面真假
  • && 逻辑与
    如果前面为假,后面的命令就不执行,如果前面为真则再执行后面命令,这样两条命令都会被执行

输入

127.0.0.1;ls

结果是

请添加图片描述

看来没有过滤;

我们就遍历目录了,通过cd …/达到访问上一个目录的目的,再通过ls 达到查看该目录有哪些文件

那么输入,进行跳转到上一级目录

127.0.0.1;ls .../

类似最后输入可以得到flag

127.0.0.1;cd…/…/…/;cat flag

看来没有过滤;

我们就遍历目录了,通过cd …/达到访问上一个目录的目的,再通过ls 达到查看该目录有哪些文件

那么输入,进行跳转到上一级目录

127.0.0.1;ls .../

类似最后输入可以得到flag

127.0.0.1;cd…/…/…/;cat flag

http://www.kler.cn/a/591140.html

相关文章:

  • Java高频面试之集合-14
  • hcia复习
  • Kafka跨集群数据备份与同步:MirrorMaker运用
  • 错排(数学层面)
  • Django:内置和自定义中间件
  • k8s资源管理介绍
  • 在 Visual Studio Code 中高效使用 Pylance:配置、技巧与插件对比
  • 【机器学习】基于conda虚拟环境的gcc、g++版本升级
  • 桌子(table、desk)以及其他常见物体的urdf模型,用于搭建机器人环境如pybullet、Gazebo
  • Vue下载与安装步骤
  • PCIe(Peripheral Component Interconnect Express)详解
  • Feign 调用接口跟调用本地方法一样,这个是怎么实现的?
  • 集成电路制造中LIMS系统的应用 内检LIMS在集成电路的作用
  • 运动焦虑锻炼贴士
  • 数据结构 -- 二叉树的存储结构
  • keepalived的工作原理和脑裂
  • ubuntu24.04虚拟机系统中挂载rootfs.img到rootfs_dir目录,使用chroot切换根目录到roofs_dir报错
  • 深度解析:通过 AIBrix 多节点部署 DeepSeek-R1 671B 模型
  • 传奇怪物素材 8方向高清怪物 PNG格式 游戏怪物 11组
  • linux 安全 xshell 使用