1.14寒假作业

server/2025/1/15 15:17:45/

web:nssctf mydoor

打开环境,只有一片空白,源代码也什么都没有,题目的分类是涉及到php伪协议,之前写过一题也是为协议,当时是用base64的方式将源码给加密显现出来了,看一下当时得到命令试试看,是可以的

php://filter/read=处理方式(base64编码,rot13等等)/resource=要读取的文件;这是命令的解释。具体可以看https://www.jb51.net/article/267293.htm,解码看看

isset($_GET['N_S.S']):检查 GET 请求中是否存在名为 N_S.S 的参数。

eval($_GET['N_S.S']):如果存在,使用 eval 函数对该参数的值进行求值。

if(!isset($_GET['file'])):检查 GET 请求中是否不存在名为 file 的参数。

header('Location:/index.php?file=');:如果不存在,则使用 header 函数将用户重定向到 /index.php?file= 页面。

$file = $_GET['file'];:如果 file 参数存在,则将其值存储在 $file 变量中。

preg_match('/\.\.|la|data|input|glob|global|var|dict|gopher|file|http|phar|localhost|\?|\*|\~|zip|7z|compress/is', $file):使用正则表达式检查 $file 的值是否包含某些敏感字符或模式。

include $file;:如果 $file 的值不匹配上述正则表达式,则使用 include 函数将该文件包含进来。

对于一系列函数的禁用则主要是对为协议的命令的禁用,照我搜索到的资料,只有这个没被禁用

根据解码出来的函数,接下来输入的指令要包含N_S.S,且是要能抓取或者显现flag的。

去看了别人的wp才知道,要用这个N[S.S=phpinfo();“/index.php” 是服务器上的文件路径,“?N [S.S=phpinfo ();” 是查询参数。为什么要把_换成[呢?php中提交的GET参数名称不能具有_ 必须使用[ 进行替换。phpinfo ()是php里的一个函数,表示输出。显示出来用CTRL+h搜索就可以了

misc:polar靶场爆破鬼才

打开是文件,水印和分析都看过了,010分析看文件尾部有类似zip格式的字符得知需要分离一下

用foremost分离一下,得到zip文件,可是还要密码,爆破一下

得到密码解压即可

pwn:polar靶场play

pe查壳,ida打开

看伪代码,读取我们输入的内容100个字节给buf

shift+F12没找到bin/sh等后门函数,估计是buf变量存在溢出,因为v1字节大小只有48,追踪buf,看内存地址

用一下别人的脚本并理解一下

比以往的脚本多了 shellcode = asm(shellcraft.sh()):使用 shellcraft.sh() 生成一个用于获取 shell 的汇编代码,然后通过 asm 函数将其汇编成机器码。p.recvuntil("I think you must enjoy playing.\n"):接收服务器发送的数据,直到遇到指定的字符串 "I think you must enjoy playing.\n"p.sendline(shellcode):将生成的 shellcode 发送到服务器。p.recvuntil('Name your favorite game?\n'):再次接收数据,直到遇到指定字符串。

asm 函数的作用是将汇编语言代码转换为机器码(字节序列);recvuntil:持续接收数据,直到接收到指定的字符串(或字节序列)为止。

crypto:polar靶场夏多的梦

这题涉及到一个叫夏多密码的图形密码

每行的首个图像对应表中的1、2、3、4,他们分别代表将后面的图像旋转几度,1则表示0度,以此类推,旋转之后再对应的表中寻找即可,解密可得明文为ILOVECTF,md5加密。

reserve:polar靶场sign up

查壳,ida打开

找关键函数就是里面的check函数

这个代码比较好理解,第一个循环对0-6位,其实就是前七位的我们输入的数字加一并检查与key_num是否相等,不相等的话就令v4=0,第二个循环则是我们输入的前四位加2再与key_password对比,不相等则v3=0,若v4和v3都等于0就输出上面,估计就是验证不通过之类的

直接追踪就可以了

可以看到两个对应的是什么,再进行上面的逆运算可得账号:081057009,密码:pmmr

按照题目给的方式md5加密即可


http://www.ppmy.cn/server/158588.html

相关文章

vue3项目大屏适配方案(scale)及vue-tv-focusable库使用

一. 适配方案代码(scale) 公共代码 export const useAdjustScale () > {// * 指向最外层容器const pageRef ref();// * 默认缩放值const scale {width: 1,height: 1,};// * 需保持的比例(默认1.77778) const designWidth 1920 const designHeig…

python检测gitlab中某个标签在一个月内添加和移除了多少次

可以通过 Python 脚本和 GitLab API 检测一个标签在一个月内被添加和移除的次数。以下是实现的步骤和示例代码: 步骤 获取 GitLab API 访问令牌:在 GitLab 中生成一个 Personal Access Token。设置时间范围:确定一个月的时间范围。调用 Git…

Pyinstaller打包部署在Win2008上的Bug排查之路

1.前言 python项目的部署工作基本是属于算法的最后阶段,同样也是最容易出现问题的阶段,毕竟IDE中的运行甚至debug都是可以直接给出问题,再加上开发机器的版本较新,也很少会出现各种各样的dll系统问题。win和linux部署相比&#x…

【maptalks】加载SVG和GIF

加载SVG和GIF 一、加载SVG方法一:直接载入SVG文件,类似载入图片方法二:载入SVG路径 二、加载GIFVUEmaptalks实现GIF可拖拽点VUEmaptalks实现GIF跟随线条动画 一、加载SVG 方法一:直接载入SVG文件,类似载入图片 缺点&…

Redisson和可重入锁初认

文章目录 Redisson 简介Redisson 的主要特点Redisson 的核心模块Redisson的优势使用示例Maven 引入依赖配置 Redisson 客户端分布式锁使用示例 Redisson 使用场景总结 可重入锁关键特性为什么需要可重入锁可重入锁的实现方式可重入锁的实现原理可重入锁的优缺点优点缺点 可重入…

【Python】使用python 对excel文件进行加密

最近在跟同事对接工作的时候,我需要把Excel文件发给对方。 但是由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,保障数据的安全。 在Python中,有多种方法可以对Excel文件进行加密。以下是几…

好用的php商城源码有哪些?

选择一个优秀的商城工具,能更好地帮助大家建立一个好用的商城系统。目前比较流行的都是开源PHP商城系统,那么现实中都有哪些好用的PHP商城源码值得推荐呢?下面就带大家一起来了解一下。 1.TigShop 【推荐指数】:★★★★★☆ 【推…

day08_Kafka

文章目录 day08_Kafka课程笔记一、今日课程内容一、消息队列(了解)**为什么消息队列就像是“数据的快递员”?****实际意义**1、产生背景2、消息队列介绍2.1 常见的消息队列产品2.2 应用场景2.3 消息队列中两种消息模型 二、Kafka的基本介绍1、…