[SWPUCTF 2022 新生赛]numgame

这篇具有很好参考价值的文章主要介绍了[SWPUCTF 2022 新生赛]numgame。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这道题有点东西网页一段计算框,只有加和减数字,但是永远到大不了20,页面也没啥特别的,准备看源码,但是打不开,我以为是环境坏掉了,看wp别人也这样,只不过大佬的开发者工具可以打开,我的就不行

[SWPUCTF 2022 新生赛]numgame,PHP,安全

最后试了一下,你要么就在网页右上角更多工具里面手动打开,要么就另外打开一个网页,然后先打开开发者工具再加载题目url

[SWPUCTF 2022 新生赛]numgame,PHP,安全

 在代码此处有一段src标签,好像是一个JavaScript的代码,但是利于工具看的时候,页面并没有对应回显,看起来是个路径,可以访问一下 

[SWPUCTF 2022 新生赛]numgame,PHP,安全

 js看不懂,但是在最后又一段base64加密的字符串,我还以为flag就拿到了

[SWPUCTF 2022 新生赛]numgame,PHP,安全

 解密后才发现依旧是一个文件,应该也可以访问 ,保险起见我还是去提交了一下,果然是错误的哈哈

[SWPUCTF 2022 新生赛]numgame,PHP,安全

代码审计

访问后是一段php代码

[SWPUCTF 2022 新生赛]numgame,PHP,安全

1. 第一行代码`error_reporting(0);`用于禁止错误报告。

2. 然后,通过`include("flag.php")`包含了一个名为`flag.php`的文件。

3. 接下来,定义了一个名为`nss`的类,其中有一个名为`ctf()`的静态方法。包含了hint2.php

4. 在接下来的代码中,通过`isset($_GET['p'])`检查`$_GET['p']`是否存在。如果存在,就进入下一层判断。

5. 在第6行代码中,使用`preg_match()`函数对`$_GET['p']`进行正则匹配,判断其是否含有字母`n`或`c`。如果匹配成功,就输出`"no"`并结束脚本的执行。

6. 在第7行代码中,使用了`call_user_func()`函数,根据`$_GET['p']`的值调用对应的函数。`call_user_func()`函数用于调用一个回调函数。这里回调函数的名称由`$_GET['p']`指定。

hint2.php是可以直接访问的,但是完全看不懂有啥关联

[SWPUCTF 2022 新生赛]numgame,PHP,安全

 一开始想的是直接用命令执行,但是不行,后来查看了wp,才得知我们要利用的东西就是nss类,一开始我看直接就可以访问hint2.php我还以为就没他啥事儿了呢,

这里还要学习一个新的运算符  ::双冒号运算符

我们可以直接利用双冒号运算符去访问类中的方法,因为正则表达式中匹配到了n和c,但是用到的修饰符是/m多文本匹配,所以我们可以采用大小写看能否绕过,所以构造payload

[SWPUCTF 2022 新生赛]numgame,PHP,安全

得到hint2.php文件的数据,根据提示修改payload,访问后看源码得到flag 

[SWPUCTF 2022 新生赛]numgame,PHP,安全

 

::双冒号运算符

在PHP中,::是一个双冒号运算符,也被称为范围解析操作符或静态访问操作符。它用于访问类中的静态属性、静态方法和常量,或调用父类的静态方法。

在类名后面使用`::`,可以直接访问类的静态成员或调用静态方法,而无需创建类的实例。这使得我们无需实例化一个类就可以访问和操作类级别的成员。


1. 访问静态属性:文章来源地址https://www.toymoban.com/news/detail-636504.html


   class MyClass {
       public static $myStaticProperty = 10;
   }

   echo MyClass::$myStaticProperty; // 输出 10

到了这里,关于[SWPUCTF 2022 新生赛]numgame的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [SWPUCTF 2021 新生赛]PseudoProtocols

    base64解码可得 php://input 此方法需要前提条件,即开启 allow_url_include=On。 相当于一个远程包含的利用,php://打开文件流后,直接写入恶意代码。 data://text/plain, data://本身是数据流封装器,他们原理类似,input是POST,而data是GET

    2024年02月05日
    浏览(50)
  • [SWPUCTF 2021 新生赛]babyrce(详解)

    提示:没有提示 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 最近遇到的事太霉了,又是做到一半,靶机拒绝连接我,搞得我做题都不自信了 回到正文 题目 如下(示例):  看了一下,就是cookie值admin等于1时,就能包含文件,行吧,那就等于吧

    2024年02月06日
    浏览(43)
  • [SWPUCTF 2021 新生赛]ez_unserialize

    题目在哪呢?查看源代码试试 User-agent: * Disallow: 什么东西呢 发现disallow Robots 协议(也称为爬虫协议、机器人协议等)的全称是 “网络爬虫排除标准”(Robots Exclusion Protocol),网站通过 Robots 协议告诉搜索引擎哪些页面可抓,哪些页面不能抓。 disallow就是爬虫不能搜索的所以

    2024年02月05日
    浏览(40)
  • [SWPUCTF] 2021新生赛之(NSSCTF)刷题记录 ①

    NSSCTF平台:https://www.nssctf.cn/ 直接查看源代码 F12 搜 flag 即可。 NSSCTF{We1c0me_t0_WLLMCTF_Th1s_1s_th3_G1ft} NSSCTF{welcometo5space} 所以为满足 if 条件,输出flag,构造 Payload: NSSCTF{037de6d6-3b9e-4bb9-903f-4236c239b42a} 这里就是 md5 碰撞了 这里要求 a 和 b 输入值不相同, md5 加密后的值弱类型相等,

    2024年02月04日
    浏览(47)
  • [SWPUCTF 2021 新生赛]easy_md5

    由于php中存在==的弱类型比较,所以我们可以通过hash比较的缺陷去绕过 比如: 也就是只要两个数的md5加密后的值以0e开头就可以绕过,因为php在进行弱类型比较(即==)时,会现转换字符串的类型,在进行比较,而在比较是因为两个数都是以0e开头会被认为是科学计数法,0e后面

    2024年02月05日
    浏览(39)
  • 2023年8月30日-[SWPUCTF 2021 新生赛]jicao

    包含了flag.php文件,设定了一个POST请求的id和GET请求的json 语句会对GET请求的数据进行json解码 如果id和json变量的值都等于设定字符串,打印flag get传参数 的时候,直接 ?参数名=参数值 。 post传参数 可以利用hackbar插件。

    2024年02月10日
    浏览(43)
  • 字符型注入([SWPUCTF 2021 新生赛]easy_sql)

    拿到题目,查看源码,可知是要输入参数wllm。 输入参数/?wllm=1,得到会显 继续输入参数/?wllm=1\\\',报错,确定为字符型漏洞 1.查看字段列表,发现在字段4报错,确定为3列 2.查看回显 3.查询数据库名(test_db) 4.查看test_db库的表(users) 5.查询字段 6.出现flag字段,查看flag字段的内容

    2024年02月09日
    浏览(39)
  • CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http

    项目 描述 搜索引擎 Bing 、 Google AI 大模型 文心一言 、 通义千问 、 讯飞星火认知大模型 、 ChatGPT MDN Web Docs https://developer.mozilla.org/zh-CN/ 项目 描述 HackBar 1.2.2 浏览器 Chrome 项目 描述 得分项 HTTP 请求头 题目来源 NSSCTF 雾现 访问题目首页 hello.php 得到如下界面: 意在希望我们使

    2024年02月08日
    浏览(41)
  • 2022 SWPUCTF Web+Crypto方向wp

    web 欢迎来到web安全 签到题,F12直接找出flag easy_sql 首先根据提示传入?wllm=1看看有无回显 然后我们发现了正常回显,接着用单引号试试闭合方式 通过对回显错误信息的分析,为了方便观察,我把包裹的引号隔开’ ‘1’’ LIMIT 0,1 ’ 这样我们很容易发现后面多出来了一个引号

    2024年02月09日
    浏览(47)
  • NSS [UUCTF 2022 新生赛]ez_upload

    考点:Apache解析漏洞 开题就是标准的上传框 起手式就是传入一个php文件,非常正常的有过滤。 .txt 、 .user.ini 、 .txxx 都被过滤了,应该是白名单或者黑名单加MIME过滤,只允许 .jpg 、 .png 。 猜测二次渲染,传了图片马上去,但是没什么用,还抓不到包了。 network看了一下报文

    2024年02月13日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包