NSSCTF-Web题目3
目录
[BJDCTF 2020]easy_md5
1、知识点
2、题目
3、思路
[ZJCTF 2019]NiZhuanSiWei
1、知识点
2、题目
3、思路
第一层
第二层
第三层
[BJDCTF 2020]easy_md5
1、知识点
弱比较,强比较、数组绕过、MD5加密
2、题目


3、思路
1、首先我们跟着题目输入,看看有没有内容

页面没有任何显示,源代码也没有隐藏信息
2、使用BP抓包

发现这里有隐藏信息
hint: select * from 'admin' where password=md5($pass,true)
md5($pass,true)是什么意思呢?

TRUE就是将字符串编码城16字符的二进制模式
FALSE就是我们常见的md5编码方式
这里的password的值就是我们可以输入的值,那我们要怎么绕过呢?
可以拼接一个or语句,也就是我们要输入的内容为''or'...'
查找网上的wp知道
字符串:ffifdyop 经过MD5的16进制格式编码后为 ''or'6�]��!r,��b'
2、所以我们输入这个字符串,结果跳到下个界面

我们查看网站源码,发现有一串代码

这个代码的意思是:用get方式输入a和b,a的值不等于b的值,==是弱比较,a和b两个值的md5值相等,这里我们可以找两个值的md5值一样的,可以绕过,也可以采用数组方式
= 是赋值 == 是弱比较 === 是强比较
?a=s878926199a&b=s155964671a

?a[]=1&b[]=2

3、进入下个界面
这里的源码意思是Post方式传入两个参数,值相同类型也需要相同,所以只能使用数组绕过
param1[]=1¶m2[]=2

这里就得到flag啦 NSSCTF{326018f0-b4cb-4302-a24e-d7cf9173e035}
[ZJCTF 2019]NiZhuanSiWei
1、知识点
php序列化,php伪协议
2、题目

3、思路

打开题目,我们可以得到源代码
题目提示我们要用GET方式输入三个参数的值,这里套了三层,我们逐层破解
第一层

这里的代码意思是要我们上传一个名字为text,文件内容为welcome to the zjctf的文件
file_get_contents()函数就是读取文件的函数,用法如下

那问题来了,这里又没有文件上传的方式,要怎么上传呢?
这里就需要使用php的伪协议了

这里可以使用php://input,将参数传进去,也可以使用data://
注意:php://input 需要使用POST方式上传数据

使用data://
http://node4.anna.nssctf.cn:28444/?text=data://text/plain,welcome to the zjctf

注意,使用data://有时需要将数据进行base64编码,不过这一题并不用
这样子就绕过了第一层,接着来第二层
第二层

这里提示有一个useless.php界面,我们访问一下看看

这里直接访问是访问不出什么内容的,需要使用php://filter这个伪协议来读取
http://node4.anna.nssctf.cn:28462/?text=data://text/plain,welcome to the zjctf&file=php://filter/read=convert.base64-encode/resource=useless.php

得到一串base64编码的字符串,我们进行解码

这里又得到代码,根据代码,我们可以知道跟flag有关,源代码是定义了一个类,但没有实例化,我们将代码进行修改,接下来就是第三层
第三层

这里的数据需要反序列后才会输出,所以我们输入的数据必须是序列化的,根据第二层得到的代码,我们进行修改
<?php class Flag{ //flag.php public $file; public function __tostring(){ if(isset($this->file)){ echo file_get_contents($this->file); echo "<br>";return ("U R SO CLOSE !///COME ON PLZ");} }
}
#实例化这一个类
$flag=new Flag();
#将数据进行序列化
echo serialize($flag);
?>
将代码在本地的靶场运行,我这边是在pikachu的靶机上运行,结果为

根据第二层的源码我们得知有一个flag.php文件
所以我们将序列化的内容改一下,然后传给参数password
O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}
http://node4.anna.nssctf.cn:28462/?text=data://text/plain,welcome to the zjctf&file=useless.php&password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}

查看网站源代码,就得到了flag

NSSCTF{0f40c6f4-45e1-4bee-ac5a-db46758135d6}
这篇文章就先写到这里了,哪里不足的欢迎批评指正
相关文章:
NSSCTF-Web题目3
目录 [BJDCTF 2020]easy_md5 1、知识点 2、题目 3、思路 [ZJCTF 2019]NiZhuanSiWei 1、知识点 2、题目 3、思路 第一层 第二层 第三层 [BJDCTF 2020]easy_md5 1、知识点 弱比较,强比较、数组绕过、MD5加密 2、题目 3、思路 1、首先我们跟着题目输入&a…...
基于Java实现震中附近风景区预警可视化分析实践
目录 前言 一、空间数据说明 1、表结构信息展示 2、空间范围查询 二、Java后台开发实现 1、模型层设计与实现 2、控制层设计与实现 三、Leaflet地图开发 1、地震震中位置展示 2、百公里风景区列表展示 3、风景区列表展示 4、附近风景区展示 四、总结 前言 地震这类…...
【CTF Web】CTFShow web7 Writeup(SQL注入+PHP+进制转换)
web7 1 阿呆得到最高指示,如果还出问题,就卷铺盖滚蛋,阿呆心在流血。 解法 注意到: <!-- flag in id 1000 -->拦截很多种字符,连 select 也不给用了。 if(preg_match("/\|\"|or|\||\-|\\\|\/|\\*|\…...
ABAP WRITE换行输出
不换行: write hello world!. write 春天马上就到了!. 换行: write hello world!. write /春天马上就到了!. 换行的第二种: write: hello world! ,/,春天马上就到了!....
VUE3学习第一篇:启动ruoyi
1、找到ruoyi的vue3版本 然后下载代码到本地, 我刚开始用的nodejs14报错, 后面换成nodejs16,启动前端成功了。 页面如下图所示...
python-数据可视化(总)
python-数据可视化 ** 数据可视化 指的是通过可视化表示来探索数据,它与数据挖掘**紧密相关,而数据挖掘指的是使用代码来探索数据集的规律和关联。数据集可以是用一行代码就能表示的小型数字列表,也可以是数以吉字节的数据 最流行的工具之一…...
使用git生成SSH公钥,并设置SSH公钥
1、在git命令行里输入以下命令 ssh-keygen -t rsa 2、按回车,然后会看到以下字眼 Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/xxx/.ssh/id_rsa) 例: 3、继续回车,然后会看到以下字眼 Enter…...
iPhone win10更改备份路径
1 删掉或改名 旧的Backup, 否则不能连接 ren "C:\Users\Administrator\Apple\MobileSync\Backup" Backup_old 2 在目标盘中 创建新的文件夹 手动创建 MobileSync\Backup 3 链接两个文件夹 mklink /J "C:\Users\Administrator\Apple\MobileSync\Backup" &qu…...
Jmeter元件及基本作用域
🚀从今天开始学习性能测试工具——Jmeter,小梦也是先学习了下Jmeter的元件概念以及其基本的作用域,整理了下笔记,希望不管是从事开发领域还是测试领域的朋友们,我们一起学习下Jmeter工具,提升工作中的技能&…...
GB-T 43696-2024 网络安全技术 零信任参考体系架构
GB-T 43696-2024 网络安全技术 零信任参考体系架构 编写背景 随着网络环境的日益复杂,传统的网络安全策略已经难以满足现代企业的需求。为了应对不断变化的安全威胁,零信任安全模型应运而生。GB-T 43696-2024《网络安全技术 零信任参考体系架构》是中国…...
Java使用apache.poi生成excel插入word中
加油,新时代打工人! 工作需求,上个文章我们生成好的word,这次将生成好的excel表格数据,插入word中。需要准备好excle数据,然后插入到word中。 最后个需要,就是把这些生成好的word文档转成pdf进行…...
斯坦福报告解读3:图解有趣的评估基准(上)
《人工智能指数报告》由斯坦福大学、AI指数指导委员会及业内众多大佬Raymond Perrault、Erik Brynjolfsson 、James Manyika等人员和组织合著,旨在追踪、整理、提炼并可视化与人工智能(AI)相关各类数据,该报告已被大多数媒体及机构…...
C语言---扫雷游戏的实现
1.扫雷游戏的分析和设计 需要创建3个文件夹 test.c----扫雷游戏的测试 game.c----扫雷游戏的实现 game.h----扫雷游戏的实现 雷的信息使用二维数组存放 • 使⽤控制台实现经典的扫雷游戏 • 游戏可以通过菜单实现继续玩或者退出游戏 • 扫雷的棋盘是9*9的格⼦ • 默认…...
《征服数据结构》块状链表
摘要: 1,块状链表的介绍 2,块状链表的代码实现(Java和C) 1,块状链表的介绍 前面我们讲过数组和链表,数组具有 O(1)的查询时间,O(N)的删除,O(N)的插入,而链表具…...
leetCode.86. 分隔链表
leetCode.86. 分隔链表 题目思路: 代码 class Solution { public:ListNode* partition(ListNode* head, int x) {auto lh new ListNode(-1), rh new ListNode(-1);auto lt lh, rt rh;for(auto p head; p; p p->next ) {if(p->val < x) {lt lt->…...
Java进阶学习笔记5——Static应用知识:单例设计模式
设计模式: 架构师会使用到设计模式,开发框架,就需要掌握很多设计模式。 在Java基础阶段学习设计模式,将来面试笔试的时候,笔试题目会经常靠到设计模式。 将来会用到设计模式。框架代码中会用到设计模式。 什么是设计…...
Vue 前端加框 给div加红色框框 js实现
实现方式:用getElementsByClassName、createElement、appendChild实现在原有div上添加一个新的div,从而达到框选效果 <template><div><el-button click"addIten">添加</el-button><el-button click"deleteIt…...
Percona Toolkit 神器全攻略(实用类)
Percona Toolkit 神器全攻略(实用类) Percona Toolkit 神器全攻略系列共八篇,前文回顾: 前文回顾Percona Toolkit 神器全攻略 全文约定:$为命令提示符、greatsql>为GreatSQL数据库提示符。在后续阅读中,…...
ARM GIC 和NVIC的区别
ARM GIC(Generic Interrupt Controller)和NVIC(Nested Vectored Interrupt Controller)是两种不同的中断控制器,它们在ARM架构中扮演着重要的角色,但各自有不同的设计和应用场景。 ARM GIC: G…...
CSS文本粒子动画特效之爱心粒子文字特效-Canvas
1. 效果图 2.完整代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><style>body,html {margin: 0;paddin…...
移动端测试实战:App兼容性测试的全套解决方案
一、移动端App兼容性测试的核心价值与挑战在移动互联网生态中,设备碎片化、系统版本迭代加速、网络环境多样性等因素,使得App兼容性问题成为影响用户体验与产品口碑的关键变量。据行业数据统计,兼容性问题引发的用户投诉占比超过30%ÿ…...
OpenPLC Editor工业自动化编程深度解析:开源PLC开发环境实战指南
OpenPLC Editor工业自动化编程深度解析:开源PLC开发环境实战指南 【免费下载链接】OpenPLC_Editor 项目地址: https://gitcode.com/gh_mirrors/ope/OpenPLC_Editor OpenPLC Editor是一款基于Beremiz项目的开源工业自动化编程工具,为工程师和开发…...
无王无帝定乾坤,来自田间第一人 凰标为律正人心
无王无帝定乾坤,来自田间第一人。 世间最大的乱象,从来不止山河动荡、世道纷争,更是人心失序、良知蒙尘。一、旧世千年:王权为纲,律法为束旧制之弊具体表现规则来源由权贵制定,标准随权势偏移治理逻辑重压制…...
深入STM32中断系统:从EXTI触发到NVIC裁决的完整流程剖析(附流程图详解)
深入STM32中断系统:从EXTI触发到NVIC裁决的完整流程剖析 在嵌入式开发中,中断系统是实时响应的核心机制。对于STM32开发者而言,深入理解从外部信号触发到CPU执行中断服务程序(ISR)的完整链路,是优化系统实时性、排查异常问题的关…...
SteamAutoCrack终极指南:5步掌握游戏DRM自动移除技术
SteamAutoCrack终极指南:5步掌握游戏DRM自动移除技术 【免费下载链接】Steam-auto-crack Steam Game Automatic Cracker 项目地址: https://gitcode.com/gh_mirrors/st/Steam-auto-crack 你是否曾为Steam游戏的DRM保护而烦恼?每次运行游戏都需要启…...
3步掌握城通网盘解析工具:彻底告别30秒等待与限速困扰
3步掌握城通网盘解析工具:彻底告别30秒等待与限速困扰 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘下载的漫长等待和蜗牛般的速度而烦恼吗?城通网盘作为国内广…...
Labelme版本不兼容报错?手把手教你修改源码和JSON文件(附3.18.0与4.5.6对比)
Labelme版本兼容性实战:从源码修改到JSON批量处理的完整指南 当你正专注于一个重要的数据标注项目,突然遭遇"Error opening file lineColor"的红色报错框,整个团队的标注进度被迫停滞——这种场景对于使用Labelme进行图像标注的开发…...
从SPI到QSPI:你的Flash读写速度慢?可能是模式没选对(以W25Q128JV为例)
从SPI到QSPI:解锁W25Q128JV Flash的隐藏性能 在嵌入式系统开发中,存储器的读写速度往往是制约整体性能的关键瓶颈。许多工程师在使用常见的SPI Flash芯片如W25Q128JV时,可能已经习惯了标准的SPI接口操作,却不知道通过简单的模式切…...
智慧树自动刷课插件终极指南:如何3分钟实现免手动学习
智慧树自动刷课插件终极指南:如何3分钟实现免手动学习 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台的重复性操作而烦恼吗?智…...
基于Google App Engine构建物联网能耗监测系统:从传感器到可视化全栈实践
1. 项目概述与核心价值如果你和我一样,对家里或办公室里那些“电老虎”设备到底消耗了多少能源感到好奇,甚至想为节能减排做点贡献,那么自己动手搭建一个能耗监测系统会是一个极具成就感的项目。这不仅仅是技术上的挑战,更是一种将…...
