NSSCTF中的web学习(md5())

news2024/9/28 21:26:23

目录

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.coloradmin.cn/o/1663042.html

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

相关文章

一套全新的PACS医学存档影像系统源码 RIS和PACS系统分别在哪些方面发挥作用

RIS和PACS系统分别在哪些方面发挥作用 RIS系统的作用 放射信息系统&#xff08;RIS&#xff09;主要用于管理和调度患者的放射检查流程。它的主要功能包括患者管理、检查预约、报告生成等。RIS系统通常作为独立系统运行&#xff0c;侧重于临床流程管理&#xff0c;并优化放射…

关于docker network网络

首先,我们来看看Docker默认的网络模式,即docker0网桥。 每当你安装Docker时,它会创建一个名为docker0的虚拟网桥,并设置一个IP地址范围供它进行端口映射等工作。所有Docker容器在创建时,都会自动连接到这个docker0网桥,并分配一个虚拟IP地址。这样,容器与主机之间,以及容器与容…

3d里如何做螺旋状模型?---模大狮模型网

螺旋状模型在3D设计中常常被运用&#xff0c;不仅可以用于创造独特的装饰品和艺术品&#xff0c;还可以用于建筑设计、工程模拟等领域。然而&#xff0c;对于初学者而言&#xff0c;如何在3D软件中创建螺旋状模型可能是一个挑战。在本文中&#xff0c;我们将分享几种简单而有效…

Qt——信号 和 槽

目录 概述 信号和槽的使用 自定义信号和槽 带参数的信号和槽 概述 在Linux系统中&#xff0c;我们也介绍了信号的产生、信号的检测以及信号的处理机制&#xff0c;它就是系统内部的通知机制&#xff0c;也可以是一种进程间通信的方式。在系统中有很多信号&#xff0c;我们可…

镜舟科技亮相2024中国移动算力网络大会、Qcon、DTC等多项活动

在刚刚过去的 4 月份&#xff0c;镜舟科技受邀参与一系列技术交流活动&#xff0c;与移动云、金科创新社、infoQ、墨天轮、开科唯识等媒体及合作伙伴展开积极交流&#xff0c;并分享其在数据技术、金融等垂直行业领域的创新实践&#xff0c;从产业侧、业务侧、技术侧洞察需求、…

React:Router-3.路由懒加载

在 React&#xff1a;Router-1.BrowserRouter组件式 和 React&#xff1a;Router-2. createBrowserRouter函数式 两篇文章中我们已经完成了路由的创建。但是这种方式&#xff0c;会全量加载路由资源&#xff0c;如果项目较复杂&#xff0c;会产生性能问题。 为了优化项目性能&…

螺栓扭矩设计多大?原来如此简单!——SunTorque智能扭矩系统

智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 螺栓扭矩设计&#xff0c;看似复杂&#xff0c;实则遵循一定的科学原理和实践经验。本文将深入浅出地探讨螺栓扭矩设计的原理和方法&#xff0c;帮助读者轻松掌握这一技能。 首先&#xff0c;我们需要了解螺栓扭矩的基…

Simulink从0搭建模型04-练习_一阶低通滤波器的实现

Simulink从0搭建模型04-练习_一阶低通滤波器的实现 1. 前言1.1. 参考1.2. 好习惯&#xff08;初始设置&#xff09; 2. 一阶低通滤波的实现2.1. 根据公式在Simulink中搭模型2.1.1. 一阶低通滤波公式2.1.2. 搭建一阶低通滤波 2.2. 把模型装进子系统的2种方式2.2.1. 方式12.2.2. …

【联通支付注册/登录安全分析报告】

联通支付注册/登录安全分析报告 前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨…

26、Qt使用QFontDatabase类加载ttf文件更改图标颜色

一、图标下载 iconfont-阿里巴巴矢量图标库 点击上面的链接&#xff0c;在打开的网页中搜索自己要使用的图标&#xff0c;如&#xff1a;最大化 找到一个自己想用图标&#xff0c;选择“添加入库” 点击“购物车”图标 能看到刚才添加的图标&#xff0c;点击“下载代码”(需要…

安全工程师基础模拟试题

安全工程师基础模拟试题作为一名安全工程师&#xff0c;掌握基本的安全知识和技能是必不可少的。下面是一些基础模拟试题&#xff0c;帮助您检验自己的安全工程师能力。1.在网络安全中&#xff0c;什么是… 1安全工程师基础模拟试题 作为一名安全工程师&#xff0c;掌握基本的…

【机器学习300问】85、Adam梯度下降优化算法的原理是什么?

Adam优化算法取了两个算法名称的首字母——Adaptive Moment Estimation的缩写&#xff0c;结合了Momentum算法和RMSprop算法的优点。在Momentum中&#xff0c;会计算前一时刻的梯度&#xff0c;并将其用于当前时刻的梯度更新&#xff1b;而RMSprop会对梯度的大小进行自适应调整…

PyCharm2024安装教程

PyCharm是一款功能强大的Python集成开发环境&#xff08;IDE&#xff09;&#xff0c;它提供了许多工具和功能来帮助开发者编写、调试和测试Python代码。以下是使用PyCharm的基本步骤&#xff1a; 安装PyCharm&#xff1a;首先&#xff0c;你需要从JetBrains官方网站下载并安装…

服务器直连电脑(盒子直连电脑)电脑需要设置为固定ip才能访问盒子

文章目录 现象盒子设置为固定ip&#xff0c;pc设置成固定ip&#xff08;以太网网卡&#xff0c;realtak那个&#xff0c;不是tap-windows那个&#xff0c;tap-windows不用管&#xff09;&#xff0c;在pc上用ip搜索工具搜索&#xff0c;可以搜到盒子ip。盒子设置为固定ip&#…

基于D1开发板和腾讯云nginx服务器构建家庭视频监控方案

腾讯云服务器使用nginx搭建rtmp服务器 什么是nginx&#xff1f; nginx是一款优秀的反向代理工具&#xff0c;通过nginx可以实现搭建高可用的轻量级web服务器&#xff0c;除此之外&#xff0c;通过Nginx自带的rtmp模块&#xff0c;也可以实现rtmp服务器的搭建。 安装nginx 安装编…

常见排序算法——希尔排序

基本原理 希尔排序在插入排序的基础之上&#xff0c;将待排序序列分成组&#xff0c;分成 gap 个组&#xff0c;组的数量通过 length / 2 获得&#xff0c;比如6个元素的序列&#xff0c;那么就是 3 个组&#xff0c;每个组两个元素&#xff0c;然后将每个组的元素进行插入排…

Ardupilot Rpanion iperf网络性能测试

Ardupilot Rpanion iperf网络性能测试 1. 源由2. 分析3. 安装4. 测试4.1 第一次测试4.1.1 iperf测试参数A4.1.1.1 测试链路14.1.1.2 测试链路24.1.1.3 测试链路3 4.1.2 iperf测试参数B - 测试链路34.1.2.1 测试数据4.1.2.2 数据简单分析4.1.2.3 数据深入分析4.1.2.4 模拟测试网…

霍金《时间简史 A Brief History of Time》书后索引(E--H)

A–D部分见&#xff1a;霍金《时间简史 A Brief History of Time》书后索引&#xff08;A–D&#xff09; 图源&#xff1a;Wikipedia INDEX E Earth: circumference, motion, shape Eclipses Eddington, Arthur Einstein, Albert: biography, see also Relativity; Special…

解决数据丢失烦恼,Tenorshare 4DDiG 数据恢复工具助您一键找回珍贵文件

在数字化时代&#xff0c;我们的生活和工作几乎完全依赖于电脑和移动设备。然而&#xff0c;意外情况时常发生&#xff0c;误删除、格式化、系统崩溃等问题可能会导致重要数据丢失&#xff0c;给我们带来不便和困扰。如何有效地解决数据丢失问题&#xff1f;不用担心&#xff0…

QT---day5,通信

1、思维导图 2、TCp 服务器 #ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> #include <QTcpServer> #include <QList> #include <QTcpSocket> #include <QMessageBox> #include <QDebug> #include <QTcpServer> QT_B…