NSSCTF中的web学习(md5())

目录

MD5的学习

[BJDCTF 2020]easy_md5

[LitCTF 2023]Follow me and hack me

[LitCTF 2023]Ping

[SWPUCTF 2021 新生赛]easyupload3.0

[NSSCTF 2022 Spring Recruit]babyphp


MD5的学习

md5()函数:

md5($a):返回a字符串的散列值

md5($a,TRUE):返回a字符串散列值的16进制转ascii码值

md5函数的语法:

可参考:PHP md5()函数详解,PHP计算MD5,md5()绕过,md5()漏洞原理剖析-CSDN博客

[BJDCTF 2020]easy_md5

1.查看源码什么都没有,尝试之后也不是sql,抓包之后看到响应头hint

2.响应头是有关md5加密的,输入的密码会被md5加密,需要绕过,参考wp,得到ffifdyop可以绕过md5的加密,原因:ffifdyop加密之后的这一串,经过十六进制的转换,可以变为  ’or’6乱码,然后实现绕过

3.传入后得到以下页面

4.查看源代码,很明显是一个php弱比较以及md5函数的绕过

5.这里我使用数组绕过,数组绕过之后,跳转到如下页面

6.代码依旧是md5函数的绕过,只是传参方式是post,利用数组绕过,得到flag

[LitCTF 2023]Follow me and hack me

1.根据提示传参,得到flag

[LitCTF 2023]Ping

1.提示输入IP地址,输入127.0.0.1,发现有回显

2.输入ping的命令执行,发现提示只能输入ip

3.查看源代码,发现存在过滤,是前端过滤,我们直接禁用JS即可

4.禁用js之后,再运用命令,发现有回显

5.查看根目录,发现flag

6.使用cat命令查看flag

[SWPUCTF 2021 新生赛]easyupload3.0

1.根据提示,需要上传一个图片

2.上传成功之后,经过尝试,发现是.htaccess解析文件,新建一个文件夹,在里面输入SetHandler application/x-httpd-php,它会让后面传入的jpg文件中的php语句都可以执行

3.接着就上传jpg木马文件

4.使用蚁剑连接,得到flag

[NSSCTF 2022 Spring Recruit]babyphp

1.进入页面,发现是php代码

翻译代码为:
<?php
highlight_file(__FILE__);
include_once('flag.php'); //这行代码将包含(或导入)flag.php 文件。这意味着 flag.php 文件中定义的任何变量或函数都可以在当前文件中使用。
if(isset($_POST['a'])&&!preg_match('/[0-9]/',$_POST['a'])&&intval($_POST['a'])){ //这是一个 if 语句,它包含三个条件:1.isset($_POST['a']):检查是否有一个名为 a 的 POST 请求参数。2.!preg_match('/[0-9]/',$_POST['a']):使用正则表达式检查 $_POST['a'] 是否不包含任何数字。3.intval($_POST['a']):将 $_POST['a'] 转换为整数,并检查其是否为真(即非零)。if(isset($_POST['b1'])&&$_POST['b2']){ //检查是否有一个名为 b1 的 POST 请求参数,并且 b2 参数也存在.if($_POST['b1']!=$_POST['b2']&&md5($_POST['b1'])===md5($_POST['b2'])){ 、、这是一个嵌套 if 语句,它检查 b1 和 b2 的值是否不同,但它们的 MD5 哈希值是否相同。      if($_POST['c1']!=$_POST['c2']&&is_string($_POST['c1'])&&is_string($_POST['c2'])&&md5($_POST['c1'])==md5($_POST['c2'])){ 、、又一个嵌套 if 语句,这次它检查 c1 和 c2 的值是否不同,但它们都是字符串,并且它们的 MD5 哈希值相同。echo $flag; //如果这些条件都满足,代码将输出 $flag 变量的值,该变量从 flag.php 文件中导入}else{echo "yee"; //如果第四个if中的条件不满足,它将输出 "yee"。}}else{echo "nop"; //如果第四个if中的条件不满足,它将输出 "nop"。}}else{echo "go on"; //如果第二个if的两个条件都满足,代码将执行 if 语句块中的代码。否则,它将输出 "go on"。}
}else{echo "let's get some php";
} 

2.这个题主要让a,b,c都满足条件就能得到flag,其中a涉及正则表达式,就使用数组绕过,b使用数组进行md5函数的绕过,c必须是字符串,就不能用数组绕过,需要用md5的字符串绕过

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/10099.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AWS云优化:实现性能和成本的最佳平衡

随着企业数字化转型的加速&#xff0c;对云计算平台的需求也不断增长。AWS作为云计算行业的领导者之一&#xff0c;提供了广泛的云服务和解决方案&#xff0c;帮助企业实现业务的创新和发展。在AWS云上部署应用程序和服务后&#xff0c;对其进行优化是至关重要的&#xff0c;以…

flutter报错

组件相关 type ‘List’ is not a subtype of type ‘List’ children: CardList.map((item) > Container( 加上 *** < Widget>*** 正常 type ‘(dynamic, dynamic) > Container’ is not a subtype of type ‘(CardType) > Widget’ of ‘f’ children: CardL…

代码随想录:移除元素相关题目推荐(26、283、844)

26.删除有序数组中的重复项 题目 给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的…

YOLO系列笔记(十四)——Compute Canada计算平台及其常见命令介绍

Compute Canada平台及其常见命令介绍 前言优势使用方法1. 检查模块不带版本号带版本号 2. 加载模块3. 检查模块是否加载成功4. 创建虚拟环境5. 编写作业脚本6. 提交作业7. 监控作业状态8. 查看作业开始预计时间9. 查看作业的详细输出10. 取消作业 注意结语 前言 大家好&#x…

【吃透Java手写】4-Tomcat-简易版

【吃透Java手写】Tomcat-简易版-源码解析 1 准备工作1.1 引入依赖1.2 创建一个Tomcat的启动类 2 线程池技术回顾2.1 线程池的使用流程2.2 线程池的参数2.2.1 任务队列&#xff08;workQueue&#xff09;2.2.2 线程工厂&#xff08;threadFactory&#xff09;2.2.3 拒绝策略&…

表面的相似,本质的不同

韩信与韩王信&#xff0c;两个韩信的结局都是被刘邦所杀&#xff0c;似乎结局类似。但是&#xff0c;略加分析&#xff0c;就会发现其中存在本质的区别。 韩信属于必杀。他的王位是要来的&#xff0c;有居功自傲的本意&#xff0c;功高震主而且毫不避讳。而且年轻&#xff0c;…

Acwing2024蓝桥杯FloodFill

AcWing 687. 扫雷 模拟以下样例(10X10): 把扫雷地图转变为数字记录的地图:地雷记作-1,其余表示8个方向有几个地雷,完成后如下图: 接着搜索所有0联通块(为红色矩形),并且把联通块附近不是地雷的点(红色圆形)全标记为-1,如下图: 而答案就是当前该图中大于0的数的数目之和,再加上…

《数据结构与算法之美》学习笔记一

前言&#xff1a;今天开始学习极客时间的课程《数据结构与算法之美》。为撒要学习这个&#xff1f;因为做力扣题太费劲了&#xff0c;自己的基础太差了&#xff01;所以要学习学习。开一个系列记录一下学习笔记。认真学吧&#xff0c;学有所获才不负韶华&#xff01;之前就学过…

【算法】滑动窗口——找到字符串中所有字母异位词

本节博客是对题目——找到字符串中所有字母异位词的从读题到代码实现以及优化的详细解读&#xff0c;有需要借鉴即可。 目录 1.题目2.滑动窗口 哈希数组3.异位词优化4.总结 1.题目 题目链接&#xff1a;LINK 首先来解释一下什么是异位词&#xff0c;所谓“异位词”&#xf…

show profile

功能 当你执行一个复杂的 SQL 查询时&#xff0c;这个命令可以帮助你了解查询的各个部分花费了多少时间&#xff0c;从而找到可能的性能瓶颈。默认情况下&#xff0c;参数处于关闭状态&#xff0c;并保存最近15次的运行结果 开启 查看是否支持 SHOW VARIABLES LIKE profili…

【XR806开发板试用】试用SWD+Jlink调试

XR806开发板&#xff0c;只能使用编写代码&#xff0c;然后通过UART下载&#xff0c;没法在线debug&#xff0c; 效率会差很多&#xff0c;官方没有提供这一方面的资料。 先查CPU&#xff0c; 官方介绍是arm-china的MC1&#xff0c;通过armv8 Architecture refenence manual资料…

Java SpringBoot 动态数据源

1. 原理 动态数据源&#xff0c;本质上是把多个数据源存储在一个 Map 中&#xff0c;当需要使用某一个数据源时&#xff0c;使用 key 获取指定数据源进行处理。而在 Spring 中已提供了抽象类 AbstractRoutingDataSource 来实现此功能&#xff0c;继承 AbstractRoutingDataSour…

跨境电商行业蓬勃发展,武汉星起航引领卖家孵化新潮流

近年来&#xff0c;我国跨境电商行业在政府的大力扶持下呈现出强劲的发展势头。随着国内制造业结构的加速调整与居民消费需求升级态势的持续凸显&#xff0c;跨境出口规模占比稳步提升&#xff0c;跨境进口规模同样不断扩大&#xff0c;行业市场规模持续增长。在这一背景下&…

系列介绍:《创意代码:Processing艺术编程之旅》

系列介绍&#xff1a;《创意代码&#xff1a;Processing艺术编程之旅》 标题创意&#xff1a; “代码绘梦&#xff1a;Processing艺术编程入门”“数字画布&#xff1a;用Processing创造视觉奇迹”“编程美学&#xff1a;Processing艺术创作指南”“创意编程&#xff1a;Proc…

nginx开启目录索引搭建文件服务器

目录索引 ngx_http_autoindex_module 模块可以支持目录列表浏览&#xff0c;开启方式 location / {autoindex on; }开启后就可以通过浏览器访问目录下的文件列表并且可以下载&#xff0c;像很多镜像资源站一样。可以文件浏览下载。这时候如果对某个目录不是所有用户可以访问下…

QT学习(4)——自定义控件

目录 引出自定义一个控件自定义控件定义方法函数widget窗口调用函数 总结 引出 QT学习&#xff08;4&#xff09;——自定义控件 自定义一个控件 自定义控件定义方法函数 #include "smallwid.h" #include "ui_smallwid.h"SmallWid::SmallWid(QWidget *par…

redis抖动问题导致延迟或者断开的处理方案

目录&#xff1a; 1、使用背景2、redis重试机制3、redis重连机制4、其他一些解决redis抖动问题方案 1、使用背景 客户反馈文件偶现打不开&#xff0c;报错现象是session not exist&#xff0c;最终定位是redis抖动导致的延迟/断开的现象&#xff0c;最终研发团方案是加入redis…

C# 集合(三) —— Stack/BitArray类

总目录 C# 语法总目录 集合三 Stack/BitArray 1. Stack2. BitArray 1. Stack 栈&#xff0c;先进后出 Stack<string> strArr new Stack<string>(); strArr.Push("tom"); strArr.Push("jerry"); strArr.Push("lily"); Console.Wri…

Mapreduce | 案例

根据提供的数据文件【test.log】 数据文件格式&#xff1a;姓名,语文成绩,数学成绩,英语成绩 完成如下2个案例&#xff1a; &#xff08;1&#xff09;求每个学科的平均成绩 &#xff08;2&#xff09;将三门课程中任意一门不及格的学生过滤出来 &#xff08;1&#xff09;求每…

Navicat安装配置(注册码)连接MySQL

下载资源 博主给你打包好了安装包&#xff0c;在网盘里&#xff0c;防止你下载到钓鱼软件 快说谢谢博主&#xff08;然后心甘情愿的点个赞~&#x1f60a;&#xff09; navicatformysql.zip_免费高速下载|百度网盘-分享无限制 (baidu.com) 安装流程 ①下载好压缩包后并解压 ② …