首页 > 编程语言 >Begin of PHP

Begin of PHP

时间:2023-09-30 16:33:08浏览次数:34  
标签:Begin Level 参数 哈希 绕过 PHP True MD5

打开直接就是一份php代码,分析代码发现需要闯关,一共有五关

 直接用ai给我翻译一下

Level 1:
用户需要提供名为 'key1' 和 'key2' 的GET参数。
这两个参数的内容不应相同,但它们的MD5哈希值应该相同。
如果条件满足,将设置变量 $flag1 为True,否则会显示 "nope, this is level 1"。


Level 2:
如果 $flag1 为True,用户需要提交一个POST参数 'key3'。
'key3' 的MD5哈希值必须等于其SHA-1哈希值。
如果条件满足,将设置变量 $flag2 为True,否则会显示 "nope, this is level 2"。


Level 3:
如果 $flag2 为True,用户需要提供名为 'key4' 的GET参数。
'key4' 的内容必须与读取文件 "/flag" 的内容相等。
如果条件满足,将设置变量 $flag3 为True,否则会显示 "nope, this is level 3"。


Level 4:
如果 $flag3 为True,用户需要提供名为 'key5' 的GET参数。
'key5' 的内容必须是非数字且大于 2023。
如果条件满足,将设置变量 $flag4 为True,否则会显示 "nope, this is level 4"。


Level 5:
如果 $flag4 为True,将执行 extract($_POST),这意味着将POST参数作为变量导入当前符号表。
然后,它循环遍历所有POST参数,确保它们的内容只包含字母和数字。
最后,它检查 $flag5 是否为True,如果是,则会显示 "/flag" 文件的内容,否则会显示 "nope, this is level 5"。

  

第一关(弱类型绕过)

需要传入生成md5一样的参数

这个东西开始我是硬做的,不过后面听同学说才知道这类题叫MD5绕过(弱类型绕过),这里贴一篇好文

MD5绕过(强弱类型比较)_md5弱比较_陈wonton的博客-CSDN博客

 所以这里直接传参

 成功绕过

 

第二关(数组绕过)

'key3' 的MD5哈希值必须等于其SHA-1哈希值。

 这里拓展一个知识,再贴一个好文

PHP中MD5和sha1绕过方式总结 - dre0m1 - 博客园 (cnblogs.com)

 所以直接让key3为数组即可

 

第三关(数组绕过)

 

 要strcmp函数返回0才能通过次关,然后又无法获得"/flag"处的文件,所以说需要构造

这时候就想了,strcmp比较的是两个字符串,如果我直接将key4定义为数组,那它就会使strcmp这个函数无法正常识别,进而返回值为NULL,也就是0,所以

 

第四关()

这个意思是

'key5' 的内容必须是非数字且大于 2023。

前置知识,好文推荐

php陷阱:字符串和数字比较 - youxin - 博客园 (cnblogs.com)

 这个时候我们就可以利用php语言中会将字母和数字的组合解析成数字的特点构造key5,即非纯数字的参数

 

 

第五关()

意思是出现了上面提到的字母和数字都不行并且还要flag5不为0,所以说传上去的flag5必须得是特殊字符

 可以这样绕过

 至此就通关了

标签:Begin,Level,参数,哈希,绕过,PHP,True,MD5
From: https://www.cnblogs.com/lhqrusht0p/p/17736727.html

相关文章

  • prism软件-graphpad prism软件下载 安装包下载方式
    GraphPadPrism提供了丰富的工具,用于创建科学的图表,并生成相关统计数据等等。此外,最新版本的GraphPadPrism软件为GraphPadPrism9.3.0,功能强大,同时也很容易上手,能够满足绝大部分医学科研绘图的需求。软件地址:看置顶贴软件介绍GraphPadPrismMAC版是一款高效易用的科研绘图工具,它......
  • Begin of HTTP
    打开 GETget方式上传,直接在网址栏上传即可 POST先找到secret,一般藏在网页前端代码里  解码得 得F12,用hackbar上传   Cookie 直接点击cookie,把他改成ctfer即  User-Agent 直接点击user-agent然后改变浏览器直接上传,注意此处不能有中文 ......
  • python代码转成php代码的工具 或者go转成php的代码,想把odoo改成成php swoole当成web服
    目前市场上有一些可以将Python代码转换为PHP代码的工具,例如:Transcrypt:Transcrypt是一个将Python代码转换为JavaScript和PHP的工具。它可以将Python代码转换为相应的PHP代码,并保持语法和结构的一致性。Pythran:Pythran是一个专门用于加速Python代码执行的工具,但它也提供了将Python代......
  • Begin of Upload
    wp上传的文件后缀有要求  这个看出来是简单的客户端检测,直接用bp抓包改后缀即可先将原来的.php改成.png上传再到bp改后缀名   放包直接蚁剑连接 根目录找到flag   正文题目很简单,主要想分享一下过程中遇到的坑 要加http就是连接蚁剑的时候网址......
  • k8s部署nginx+php+mysql
    mysql部署参考我之前文档一.hostPath创建项目1.编辑dockerfilevidockerfileiFROMdocker.io/openshift/base-centos7:latest#MAINTAINERfeiyu"[email protected]"RUNyummakecacheRUNyum-yinstallphp-fpmphpphp-gdphp-mysqlphp-mbstringphp-xmlphp-mcryptphp-im......
  • 安装nginx,php8,nfs,oralce19c客户端
    目录一.安装nginx二.安装php1.安装php8插件2.安装下载php8三.安装nfs四.安装19C客户端a.安装oracle19c客户端b.php连接oracle19c数据库五.nginx跳转php乱码六.php问题1.session获取不到2.设置php报错级别提示error_reporting一.安装nginx下载nginx地址tar-xfnginx-1.23.1.tar.......
  • string_array_object_date_php
    title:PHPString、Array、Object、Date常用方法小结tags:[PHP,常用方法小结]categories:常用方法keywords:常用方法小结,string,array,object,date,phpdescription:php常用方法小结Others:truedate:2020-07-2209:08:00{%noteprimaryno-icon%}  大自然的......
  • thinkPHP框架在nginx环境中提示404错误的几种情况与解决方法
    一、未设置伪静态解决方法:在项目public目录下新建文件,命名为nginx.htaccess,文件内容如下:location/{indexindex.htmlindex.htmindex.php;autoindexoff;if(!-e$request_filename){rewrite^(.*)$/index.php?s=/$1last;break;......
  • PHPStudy hosts文件可能不存在或被阻止打开及同步hosts失败问题
    在使用PHPStudy建站包时,有时会遇到同步hosts失败的问题,可能是因为hosts文件不存在或被阻止打开。这个问题通常可以通过以下几个步骤解决:步骤一:检查hosts文件是否存在首先,我们需要检查一下hosts文件是否存在。在Windows系统中,hosts文件位于C:\Windows\System32\drivers\etc\目录......
  • FastDFS--扩展篇(Php&&Apache2&&Nginx)
         FastDFS不是通用的文件系统,只能通过专用的API来访问,目前提供了CJAVAPHP的API,下面我们来安装php扩展。   让Fastdfs支持php,在FastDFS的源码包解压后里面有个php_client目录,进入此目录,参照README进行安装: phpize./configuremakemakeinstall    ......