草庐IT

BUUCTF [极客大挑战 2019]BuyFlag1

XXX_WEB 2023-04-18 原文

进入靶场,发现有另一个buyflag页面

告诉我们如果要买flag,必须是cuit的学生,必须有正确的密码,查看源码,发现密码已经告诉我们 

这里涉及post传递两个参数money和password,is_numeric的绕过 和password==404的弱比较,通过burpsuite抓包

 这里有个cookie:user=0猜测cuit学生的cookie是1改cookie后提示我们输入密码

这里涉及is_numeric绕过,php中当一个其他数据类型和数值类型的数据比较大小时,会先将其他数据类型转换成数值类型。所以我们这里可以通过password=404a绕过

这里让我们付钱,再传个money=100000000

提示我们数字长度太长了,这里多尝试几次发现只有两种结果,一种是数字长度过长,另一种是钱不够

猜测使用了strcmp(str1,str2)函数,当str1>str2返回值大于0,否则返回值小于0,等于则返回值为0。由于strcmp()函数传入参数为字符串,如果传入其他类型的变量会报错但是此时返回值为0,所以我们一般传入一个数组进行绕过。

 知识点:post请求方法,cookie伪造

                is_numeric的绕过

                弱类型比较

                strcmp()

 

 

 

 

 

有关BUUCTF [极客大挑战 2019]BuyFlag1的更多相关文章

  1. ruby-on-rails - Ruby 挑战 - 方法链和惰性求值 - 2

    看完文章http://jeffkreeftmeijer.com/2011/method-chaining-and-lazy-evaluation-in-ruby/,我开始寻找更好的方法链和惰性求值解决方案。我想我已经用以下五个规范概括了核心问题;谁能让他们全部通过?任何事情都可以:子类化、委托(delegate)、元编程,但不鼓励后者。最好将依赖性保持在最低限度:require'rspec'classFoo#EpiccodehereenddescribeFoodoit'shouldreturnanarraycorrespondingtothereverseofthemethodchai

  2. iOS适配Unity-2019 - 2

    iOS适配Unity-2019背景由于2019起,Unity的Xcode工程,更改了项目结构。Unity2018的结构:可以看Targets只有一个Unity-iPhone,Unity-iPhone直接依赖管理三方库。Unity2019以后:Targets多了一个UnityFramework,UnityFramework管理三方库,Unity-iPhone依赖于UnityFramwork。所以升级后,会有若干的问题,以下是对问题的解决方式。问题一错误描述error:exportArchive:Missingsigningidentifierat"/var/folders/fr//T/Xcode

  3. Windows Server 2019服务器远程桌面服务部署+深度学习环境配置教程 - 2

    文章目录1.安装WindowsServer20192.开启WLAN服务3.固定IP地址4.开启远程桌面服务4.1添加远程桌面服务4.2激活服务器4.3安装许可证5.配置远程桌面服务5.1配置许可证服务器和授权模式5.2配置连接模式5.3启用计算机的远程功能5.4设置用户能使用简单密码6.配置CUDA环境6.1更新驱动6.2安装CUDA6.3安装cuDNN6.4配置环境变量7.配置Anaconda+Pycharm环境7.1安装Anaconda7.2安装Pycharm8.配置Tensorflow+Pytorch环境8.1创建环境8.2配置pip和conda国内下载源8.3安装Tensorflow-

  4. C# Vs2019 发布跨平台程序包,使用net5.0框架 - 2

    net5.0不是LTS版本,建议以后可以使用微软出的net6.0。根据官网上的及其民间说法net5.0实际就是netcore的后续,传统的netframework将不再更新(已死)然后本节就讲述一下怎么用vs2019使用net5.0发布一个跨平台应用,本示例会用到大量图片说明,1:使用net5.0新建一个控制台程序,这里不会自行百度呗2:右键控制台,选择发布3:选择发布选项,然后开始配置发布文件4:然后就是跟着向导点点就行了5:重点,在完成上述操作以后会出现以下配置6:点击显示所有设置7:以生成Linux运行程序为例,8:等待自动完成生成9:使用wsl进行测试1>进入win磁盘cd/mnt2>

  5. javascript - Peak and Flag Codility 最新挑战 - 2

    我正在尝试解决最新的codility.com问题(只是为了提高我的技能)。我试过分配但没有得到超过30分,所以现在很好奇我的解决方案中到底缺少什么。问题是给定一个由N个整数组成的非空零索引数组A。峰是一个数组元素,它比它的邻居大。更准确地说,它是一个索引P,使得0A[P+1]例如下面的数组A:A[0]=1A[1]=5A[2]=3A[3]=4A[4]=3A[5]=4A[6]=1A[7]=2A[8]=3A[9]=4A[10]=6A[11]=2恰好有四个峰:元素1、3、5和10。你要去一系列山脉旅行,其相对高度由数组A表示。你必须选择你应该带多少旗帜。目标是根据特定规则在山峰上设置最大数量的

  6. javascript - 我应该在 2019 年将我的 JWT 存储在哪里,localStorage 真的不安全吗? - 2

    有趣的话题。因为我正在使用Node.jsApi和ReactReduxClient创建我的第一个真正更大的项目,所以我需要身份验证。现在我不知道如何“正确地”处理身份验证。因为我看了很多关于它的话题,但是意见不一。所以一开始有些人立即说:不要将localStorage与JWT一起使用。例如这里有一篇文章:https://dev.to/rdegges/please-stop-using-local-storage-1i04这是来自auth0的另一篇文章:https://auth0.com/docs/security/store-tokens但后来我更深入地研究了身份验证的广阔世界,我发现很

  7. javascript - 树屋 jQuery 挑战 - 2

    如何使用jQuery从具有特定类的无序列表中选择列表项?确切的问题是“在下一行,使用jQuery选择带有‘nav’类的无序列表(ul)中的所有列表项(li)?”我在treehouse上试过几次,但它不会让我通过!$(".navulli"); 最佳答案 您的选择器$(".navulli")表示某些具有类nav的元素具有ul,如果ul具有类nav则尝试此操作.$("ul.navli"); 关于javascript-树屋jQuery挑战,我们在StackOverflow上找到一个类似的问题:

  8. ChatGPT对于程序员到底是机遇还是挑战?深度体验告诉你 - 2

    目录一、人工智能的快速发展二、机遇1.自动化生产2.新技术的探索3.更高的薪酬三、挑战1.竞争压力2.人类工作替代程序员应该如何应对ChatGPT的机遇和挑战1.学习新技术2.注重团队合作3.加强人际交往4.保持开放心态5.保护个人隐私结论🐖🐖🐖🐖如果喜欢!!🐂🐂🐂🐂🐖🐖🐖🐖欢迎关注!!🐂🐂🐂🐂🐖🐖🐖🐖持续回访! !🐂🐂🐂🐂CSDN主页:所有博客内容,Java大树逐渐成长Gitee地址:想看博客代码??点击这里QQ:1939639916(有问题可以加好友,备注csdn)随着人工智能技术的不断发展,越来越多的人工智能产品和服务正在改变我们的生活方式和工作方式,尤其是对于程序员这一职业群体来说,人

  9. javascript - 扩展挑战 : preprocessor function macros and class-like oop - 2

    背景我一直在使用C预处理器来管理和“编译”具有多个文件和构建目标的半大型javascript项目。这允许从javascript中完全访问C预处理器指令,如#include、#define、#ifdef等。这是一个示例构建脚本,因此您可以测试示例代码:#!/bin/bashexportOPTS="-DDEBUG_MODE=1-Isrc"forFILEin`findsrc/|egrep'\.js?$'`doecho"Processing$FILE"cat$FILE\|sed's/^\s*\/\/#/#/'\|cpp$OPTS\|sed's/^[#:build/`basename$FILE`

  10. javascript - 代码挑战 : Create a class Foo that tracks the number of total object instances - 2

    我正在尝试解决工作应用程序的代码挑战,但我遇到了困难,非常感谢任何帮助。问题:创建一个Foo类,它有一个名为refCount的方法。在类或其任何实例上调用refCount应该返回存在的实例总数。示例:varf1=newFoo();f1.refCount();//shouldbe1Foo.refCount();//shouldbe1varf2=newFoo();f1.refCount();//shouldbe2f2.refCount();//shouldbe2Foo.refCount();//shouldbe2到目前为止我有这样的事情:functionFoo(){this.refCoun

随机推荐