NSS [NSSCTF 2022 Spring Recruit]babyphp

news/2024/11/16 4:37:47/

NSS [NSSCTF 2022 Spring Recruit]babyphp

考点:PHP特性

开局源码直接裸奔

image-20230714164403803

<?php
highlight_file(__FILE__);
include_once('flag.php');if(isset($_POST['a'])&&!preg_match('/[0-9]/',$_POST['a'])&&intval($_POST['a'])){if(isset($_POST['b1'])&&$_POST['b2']){if($_POST['b1']!=$_POST['b2']&&md5($_POST['b1'])===md5($_POST['b2'])){if($_POST['c1']!=$_POST['c2']&&is_string($_POST['c1'])&&is_string($_POST['c2'])&&md5($_POST['c1'])==md5($_POST['c2'])){echo $flag;}else{echo "yee";}}else{echo "nop";}}else{echo "go on";}
}else{echo "let's get some php";
}
?>

粗略一看,四个if判断条件,全部满足就给我们flag。


首先是第一个if

if(isset($_POST['a'])&&!preg_match('/[0-9]/',$_POST['a'])&&intval($_POST['a']))

要满足POST提交一个a,并且a不包括数字0-9,同时a经过intval()函数之后值不为0。

这里考察preg_match()函数和intval()函数的特性,采用数组绕过。

a[]=666


然后是第二个if

if(isset($_POST['b1'])&&$_POST['b2'])

要满足POST提交的b1存在同时POST提交的b2不等于0。


然后是第三个if

if($_POST['b1']!=$_POST['b2']&&md5($_POST['b1'])===md5($_POST['b2']))

要满足POST提交的b1和b2不相等,并且md5强相等。

结合第二个if,我们还是可以使用数组绕过,b1[]和b2[]不相等就行了,是数组的话md5值都是0。

b1[]=6&b2[]=17


最后是第四个if

if($_POST['c1']!=$_POST['c2']&&is_string($_POST['c1'])&&is_string($_POST['c2'])&&md5($_POST['c1'])==md5($_POST['c2']))

要满足POST提交的c1和c2不相等,并且都是字符串,同时md5弱相等。

那么数组就被ban了。因为是若比较(==),所以我们可以0e绕过。(md5的值都是0e开头)

c1=s214587387a&c2=s155964671a


最后payload:

a[]=666&b1[]=6&b2[]=17&c1=s214587387a&c2=s155964671a           //POST

image-20230714165553334


http://www.ppmy.cn/news/1263400.html

相关文章

程序员入门:打造抖音同城外卖小程序的技术解析

在当今数字化时代&#xff0c;外卖平台已经成为人们生活中不可或缺的一部分&#xff0c;而抖音作为一款社交媒体平台&#xff0c;也开始涉足同城外卖服务。本文将为初学者提供一份关于如何打造抖音同城外卖平台的技术解析&#xff0c;探讨其中的关键技术和步骤。 一、项目规划…

前端部分知识点总结

小程序接口的通用协议是什么 小程序接口的通用协议是HTTPS。 小程序体验版本打开后显示空白&#xff0c;只有点击"打开调试模式"再次打开才能显示正常&#xff0c;原因是体验版本的接口协议是HTTP&#xff0c;但小程序只认HTTPS&#xff0c;所以不会去调接口&#…

Kubernetes创始人发声!K8s 变得太复杂了

关注【云原生百宝箱】公众号&#xff0c;获取更多云原生消息 Kubernetes 变得太复杂了&#xff0c;它需要学会克制&#xff0c;否则就会停止创新&#xff0c;直至丢失大本营。 Kubernetes 联合创始人Tim Hockin 罕见发声。在今年的 KubeCon 上&#xff0c;他建议&#xff0c;K…

修改 Ganglia 监控 Grid Report timezone 时区 为 东八区 +8 PRC

Ganglia 监控 Grid Report timezone 默认时区 为 零时区 0 现在要修改为 东八区 8 具体操作如下 modify ganglia-web report timezone 0 --> 8 vim /apps/svr/httpd-2.4.48/htdocs/ganglia/header.php // add timezone GMT8 ini_set(date.timezone, PRC);详细记录&#x…

LeetCode算法题解(单调栈)|LeetCode84. 柱状图中最大的矩形

一、LeetCode84. 柱状图中最大的矩形 题目链接&#xff1a;84. 柱状图中最大的矩形 题目描述&#xff1a; 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大…

MySQL之数据库及表操作

MySQL之数据库及表操作 文章目录 MySQL之数据库及表操作一、数据库的基本结构二、数据库的创建和删除三、数据表的结构定义和操作四、数据的插入五、主键和自增长属性1、什么是主键2、自增长属性 一、数据库的基本结构 数据库系统由数据库服务器为载体&#xff0c;拥有一个或者…

Linux高级管理-搭建网站服务

在Ihternet 网络环境中&#xff0c;Web 服务无疑是最为流行的应用系统。有了Web站点&#xff0c;企业可以充分 展示自己的产品&#xff0c;宣传企业形象。Web站点还为企业提供了与客户交流、电子商务交易平台等丰富 的网络应用。部署与维护Web 服务是运维工程师必须掌握的一个技…

mybatis的数据库连接池

直接看原文 原文链接:【MyBatis】 连接池技术_mybatis自带连接池-CSDN博客 本文先不说springBoot整合mybatis后的 本文讲的是没有被springBoot整合前的mybatis自己的默认的连接池 --------------------------------------------------------------------------------------…