BUUCTF - Web - 1

news2024/9/22 22:20:36

文章目录

    • 1. [极客大挑战 2019]EasySQL 1【SQL注入-万能密码】
    • 2. [极客大挑战 2019]Havefun 1【前端代码审计-注释泄漏】
    • 3. [HCTF 2018]WarmUp 1【PHP代码审计】
    • 4. [ACTF2020 新生赛]Include 1【PHP伪协议】
    • 5. [ACTF2020 新生赛]Exec 1【命令注入-基础】
    • 6. [GXYCTF2019]Ping Ping Ping 1【命令注入-空格替换+变量拼接】
    • 7. [SUCTF 2019]EasySQL 1 【SQL注入-堆叠注入】
    • 8. [强网杯 2019]随便注 1 【堆叠注入-改表名】
    • 9. [极客大挑战 2019]Secret File 1
    • 10 [极客大挑战 2019]LoveSQL 1【SQL注入-常规】

1. [极客大挑战 2019]EasySQL 1【SQL注入-万能密码】

使用万能密码登录即可:admin' or 1#

2. [极客大挑战 2019]Havefun 1【前端代码审计-注释泄漏】

  1. 进入页面,发现只是一个撸猫页面,没有可以下手的地方。
  2. F12看看前端页面代码,发现有一段被注释了的代码:
    在这里插入图片描述
  3. 尝试在地址栏传入 cat=dog,即返回了 flag:
    在这里插入图片描述

3. [HCTF 2018]WarmUp 1【PHP代码审计】

  1. 同样 F12 查看代码,有一个 source.php:
    在这里插入图片描述
  2. 访问 source.php,查看代码,发现有一个 hint.php:
    在这里插入图片描述
  3. 访问 hint.php,出现:
    在这里插入图片描述
  4. 继续走查 source.php 代码,构造下列 payload:?file=hint.php?../../../../../ffffllllaaaagggg,得到 flag.
  5. 这里走查代码其实就是在对 url 做过滤,看是否在 whitelist 中,至于后面应该有几层目录那就试吧。

4. [ACTF2020 新生赛]Include 1【PHP伪协议】

  1. 查看页面只有一个 tips 链接,点击链接出现一句话:Can you find out the flag? 再没有其他内容;
  2. F12查看前端源码,也没有信息;
  3. 查阅资料,发现可以使用 PHP 伪协议:PHP伪协议是PHP自己支持的一种协议与封装协议,简单来说就是PHP定义的一种特殊访问资源的方法。
  4. 常用的 PHP 伪协议有:
5. php://input 是个可以访问请求的原始数据的只读流,获取POST请求数据的协议

6. php://filter 是一种元封装器, 设计用于数据流打开时的筛选过滤应用。这对于一体式(all-in-one)的文件函数非常有用,类似 readfile()、 file() 和 file_get_contents(),在数据流内容读取之前没有机会应用其他过滤器。
在利用上很多都是与包含函数结合使用,读入或者输出获取文件源码然后编码让其不执行从而输出
php://filter 的使用:如
php://filter/read=convert.base64-encode/resource=index.php
php://filter/resource=index.php
  1. 尝试输入 php://input,发现被拦截了:
    在这里插入图片描述
  2. 尝试输入 php://filter,没有被拦截,输入:php://filter/read=convert.base64-encode/resource=flag.php,得到以下字符串,是base64编码的结果:
    在这里插入图片描述
  3. 解码以后得到 flag:
    在这里插入图片描述

5. [ACTF2020 新生赛]Exec 1【命令注入-基础】

  1. 打开页面,是一个 ping ip 地址的功能:
    在这里插入图片描述
  2. 想到可能存在命令执行漏洞,使用管道符执行其他命令:
    在这里插入图片描述
  3. 命令执行成功,尝试用 ls 命令查找其他目录,可以找到 flag:
    在这里插入图片描述
  4. 再用 cat 命令输出 flag:
    在这里插入图片描述

6. [GXYCTF2019]Ping Ping Ping 1【命令注入-空格替换+变量拼接】

  1. 进入页面,提示可以在参数中输入 IP:
    ](https://i-blog.csdnimg.cn/direct/08a3883eff044fff96b089a5d55b38d2.png)

  2. 输入 IP:
    在这里插入图片描述

  3. 尝试注入,发现空格会被拦截,使用 ;注入,可成功执行:
    在这里插入图片描述

  4. 其他命令的注入难免需要输入空格,需要尝试绕过空格。以下字符可以代替空格:

<
${IFS}
$IFS$9
%09

尝试后,发现可以代替空格的字符:
在这里插入图片描述
5. 直接查看 flag.php 会发现被拦截,查看 index.php:
在这里插入图片描述
发现过滤了很多字符,flag 字符串也被过滤了。此时如果还想要输入 flag,就得使用变量拼接的方式。如:a=g;cat$IFS$9fla$a.php(表示将字符 g 赋值给变量a,取值时通过 $a 取)。可成功在源码中得到 flag:
在这里插入图片描述

7. [SUCTF 2019]EasySQL 1 【SQL注入-堆叠注入】

  1. 输入数字,发现返回:
    在这里插入图片描述
  2. 输入其他 ’ " ,没有返回,报错注入不行;输入 union、sleep、if、and 这些都返回错误,说明一般的注入都不行。
  3. 尝试堆叠注入:

堆叠注入是一种SQL注入技术,允许攻击者在单个SQL查询中执行多个语句。 这种攻击依赖于数据库管理系统允许在单个查询中执行多个语句的特性。攻击者通过在输入的SQL语句后添加额外的分号(;)来分隔并执行多个命令,从而实现对数据库的未授权操作。

堆叠注入可成功执行:
在这里插入图片描述
在这里插入图片描述
但是其他语句就没法执行了。

网上的做法是根据几次尝试,猜测一下 sql 语句:

select $_POST['query'] || flag from Flag;#这里的 || 相当于或
select 1 || flag from Flag; #返回1,数值型bool值为真,字符型bool值为假
select 2 || flag from Flag; #返回1
select 0 || flag from Flag; #返回0
select 'a' || flag from Flag; #返回0
  1. 构造 sql:1;select *,1
select 1;select *,1 || flag from Flag;

在这里插入图片描述

8. [强网杯 2019]随便注 1 【堆叠注入-改表名】

  1. 输入 1’ ,发现有报错信息:
    在这里插入图片描述

  2. 输入 1’ or 1=1#,展示所有值:
    在这里插入图片描述

  3. 注入其他内容,发现大部分sql关键字被屏蔽了,但是 if、sleep 没有被禁,因此可以采用基于bool的注入或者基于时间的注入方式,可这两种方式太耗时了:
    在这里插入图片描述

  4. 尝试堆叠注入,果然也可以:
    在这里插入图片描述

  5. 查看表名:
    在这里插入图片描述

  6. 查看表结构,发现了 flag 字段:
    在这里插入图片描述

  7. 查看另一个表的表结构,发现有 id 和 data 字段,猜想我们当前查询就是在这个表下进行的。查询语句有可能为:select id, data from words where id = ‘xxx’;
    在这里插入图片描述

  8. 此时可以采用改表名的方式来查询,把words随便改成words1,然后把1919810931114514改成words,再把列名flag改成id,结合上面的1’ or 1=1#爆出表所有内容就可以查flag啦

0';rename table words to words1;rename table `1919810931114514` to words;alter table words change flag id varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;desc  words;#

在这里插入图片描述

9. [极客大挑战 2019]Secret File 1

  1. F12 打开页面查看源码,发现了一个隐藏链接:
    在这里插入图片描述
  2. 点击链接,源码中又发现了一个隐藏链接,再次点击,发现立即重定向到了 end.php:
    在这里插入图片描述
  3. 拦截请求,查看返回,发现注释中有一个 srcr3t.php:
    在这里插入图片描述
  4. 查看该文件,显示了源码:
    在这里插入图片描述
  5. 查看 flag.php,还是没有显示 flag:
    在这里插入图片描述
  6. 再回过头去看 srcr3t.php,存在文件包含漏洞,但是直接构造 file=flag.php 不展示 flag,尝试使用 php 伪协议,得到一串 base6 编码后的值,解码后得到 flag:
    在这里插入图片描述
    使用伪协议和直接访问的不同之处在于,使用伪协议可以读取到 php 文件的源码,而直接访问则会将文件当作 php 代码执行。

10 [极客大挑战 2019]LoveSQL 1【SQL注入-常规】

  1. 使用万能密码登录,可成功登录,但是没有有用的信息,说明有SQL注入漏洞:
    在这里插入图片描述
    在这里插入图片描述
  2. 对登录框进行SQL注入:
    1)尝试 sql 注入:admin' union select 1,2#,显示字段数有误。尝试后发现字段数是3。
    2)获取数据库名:1' union select 1,database(),3#
    3)获取表名:1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema="geek"#
    得到:geekuser,l0ve1ysq1
    4)获取字段名:1' union select 1,group_concat(column_name) from information_schema.columns where table_name="l0ve1ysq1"
    5)然后获取 l0ve1ysq1 表中的值:1' union select 1,2,group_concat(password) from l0ve1ysq1#。flag 确实就在 password 字段里。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1938571.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

张量网络碎碎念:CGC

在本系列 上一篇文章 中&#xff0c;我介绍了张量网络的一些基础概念。其中很大一部分来自 github 上一个教程。事实上&#xff0c;该教程的大部分内容来自 e3nn 官网。 除了上篇文章介绍的一些可视化技巧&#xff0c;官网还提供了其他一些可视化模块。使用这些功能能使我们更深…

windows USB 设备驱动开发-开发Type C接口的驱动程序(三)

编写 USB Type C 端口控制器驱动程序 如果 USB Type-C 硬件实现 USB Type-C 或电源传送 (PD) 物理层&#xff0c;但未实现供电所需的状态机&#xff0c;则需要编写 USB Type-C 端口控制器驱动程序。 在 Windows 10 版本 1703 中&#xff0c;USB Type-C 体系结构已得到改进&am…

云监控(华为) | 实训学习day5(10)

Gaussdb安装和连接idea GaussDB的安装 首先关闭防火墙 systemctl disable firewalld.service 永久关闭防火墙&#xff08;发生在下次启动&#xff09; systemctl stop firewalld.service 关闭本次防火墙 查看防火墙状态systemctl status firewalld.service 查询的状态是Dead表…

【算法】百钱买百鸡问题算法详解及多语言实现

问题描述 百钱买百鸡问题是一个经典的数学问题&#xff0c;题目要求用100文钱买100只鸡&#xff0c;公鸡5文钱一只&#xff0c;母鸡3文钱一只&#xff0c;小鸡3只一文钱&#xff0c;问公鸡、母鸡、小鸡各买多少只&#xff1f; 目录 问题描述​编辑 解决方案 Python实现 Ja…

选择Maya进行3D动画制作与渲染的理由

如果你对3D动画充满热情并追求成为专业3D动画师的梦想&#xff0c;你一定听说过Maya——近年来3D动画的行业标准。Maya被3D艺术家广泛使用&#xff0c;你是否想知道为什么Maya总是他们的首选&#xff1f;下面一起来了解下。 一、什么是Maya&#xff1f; 由Autodesk开发的Maya是…

wxid转微信号

7.21由于微信的再一次调整&#xff0c;能够转出微信号的接口已经和谐&#xff0c;根据客户要求琢磨了几个小时 发现新的接口也是可以批量转换的

springcolud学习06Hystrix

Hystrix Hystrix是Netflix开发的一个用于处理分布式系统中延迟和容错问题的库。它主要用于防止分布式系统中的雪崩效应,通过在服务之间添加延迟容错和故障处理机制来增强系统的弹性。 服务熔断 类似于电路中的断路器,当失败率超过阈值时,Hystrix 可以自动地开启断路器,停…

c++习题12-开关灯

目录 一&#xff0c;题目 二&#xff0c;思路 三&#xff0c;代码 一&#xff0c;题目 用例输入 1 10 10 用例输出 1 1,4,9 二&#xff0c;思路 创建可以存放路灯亮灭情况的数组&#xff0c;路灯的编号从1开始&#xff0c;因此在使用for循环去初始化数组时&#xff…

初识模板【C++】

P. S.&#xff1a;以下代码均在VS2022环境下测试&#xff0c;不代表所有编译器均可通过。 P. S.&#xff1a;测试代码均未展示头文件stdio.h的声明&#xff0c;使用时请自行添加。 博主主页&#xff1a;LiUEEEEE                        …

编写小程序用什么软件

编写小程序时&#xff0c;可以使用多种软件或工具&#xff0c;这些工具通常提供了丰富的开发功能和组件&#xff0c;方便开发者进行小程序的创建、开发和调试。以下是一些常用的编写小程序的软件和工具&#xff1a; DIY官网可视化工具 可视化拖拽开发神器|无须编程 零代码基础…

HashMap原理详解,HashMap源码解析

HashMap是一个数组链表和红黑树的结合体 HashMap的第一层表现是数组&#xff0c;HashMap默认创建一个长度为十六的数组来储存数据&#xff0c;但不同的是&#xff0c;它并非是先放在第0个索引&#xff0c;然后第一个索引那么放置&#xff0c;而是通过key获取对应的32位hash值&a…

OAuth2.0 or Spring Session or 单点登录流程

1.社交登录 2.微博社交登录 第三方登录 1.登录微博 2.点击网站接入 3.填写完信息&#xff0c;到这里&#xff0c;写入成功回调 和 失败回调 是重定向&#xff0c;所以可以写本地的地址 3.认证 分布式Session spring-session 域名不一样 发的 jSessionId 就不同&#xff0c…

uniapp,vue3上传图片组件封装

首先创建一个 components 文件在里面进行组件的创建 下面是 vip组件的封装 也就是图片上传组件 只是我的命名是随便起的 <template><!--图片 --><view class"up-page"><!--图片--><view class"show-box" v-for"(item,ind…

STM32的串口(RS485)数据收发

一、前言 我们的单片机串口一般常用RS232、RS485、TTL这几种通讯方式&#xff0c;日常调试可能RS232、TTL比较多&#xff0c;真正和其它厂家数据交互的时候&#xff0c;还是RS485用的比较多&#xff0c;因为它是差分信号等电气属性&#xff0c;所以比较稳定&#xff0c;传输距…

Matlab演示三维坐标系旋转

function showTwo3DCoordinateSystemsWithAngleDifference() clear all close all % 第一个三维坐标系 origin1 [0 0 0]; x_axis1 [1 0 0]; y_axis1 [0 1 0]; z_axis1 [0 0 1];% 绕 x 轴旋转 30 度的旋转矩阵 theta_x 30 * pi / 180; rotation_matrix_x [1 0 0; 0 cos(th…

SpringBoot使用本地缓存——Caffeine

SpringBoot使用本地缓存——Caffeine 缓存&#xff0c;想必大家都用过&#xff0c;将常用的数据存储在缓存上能在一定程度上提升数据存取的速度。这正是局部性原理的应用。之前用的缓存大多是分布式的&#xff0c;比如Redis。使用Redis作为缓存虽然是大多数系统的选择&#xf…

基于重要抽样的主动学习不平衡分类方法ALIS

这篇论文讨论了数据分布不平衡对分类器性能造成的影响,并提出了一种新的有效解决方案 - 主动学习框架ALIS。 1、数据分布不平衡会影响分类器的学习性能。现有的方法主要集中在过采样少数类或欠采样多数类,但往往只采用单一的采样技术,无法有效解决严重的类别不平衡问题。 2、论…

【Datawhale AI 夏令营】CV图像竞赛——Deepfake攻防

【Datawhale AI 夏令营】CV图像竞赛——Deepfake攻防 从零入门CV图像竞赛(Deepfake攻防) 是 Datawhale 2024 年 AI 夏令营第二期 的学习活动&#xff08;“CV图像”方向&#xff09;&#xff0c;基于蚂蚁集团举办的“外滩大会-全球Deepfake攻防挑战赛”开展的实践学习 ​ 这几天…

Mysql深入讲解(索引、事务、锁机制)

一、MySQL索引 1、何为索引&#xff1f; MySQL中的索引是一种数据结构&#xff0c;用于加快对数据库表中数据的查询速度【查询速度提升】。它类似于书本目录&#xff0c;使得用户可以根据特定字段快速定位到所需的数据行&#xff0c;而无需扫描整个表。 2、索引分类 Hash索…

C 语言回调函数

回调函数的概念 您的理解是正确的。pFunCallBack 是一种函数指针类型&#xff0c;它定义了函数的签名&#xff08;即函数的参数类型和返回类型&#xff09;。当我们说 pFunCallBack pFun&#xff0c;我们是在声明一个变量 pFun&#xff0c;其类型是 pFunCallBack —— 即一个函…