1.14寒假作业

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加密即可

相关推荐
I · T · LUCKYBOOM6 小时前
iptables防火墙
linux·运维·服务器·网络·安全
_Orch1d7 小时前
详解SSL/TLS协议握手协议、记录层协议与警报协议
网络·计算机网络·安全·密码学·ssl·身份认证·对称加密
chenyuhao20247 小时前
Linux网络编程:HTTP协议
linux·服务器·网络·c++·后端·http·https
duration~8 小时前
IPv6 详解
网络·网络协议·ip
广东大榕树信息科技有限公司8 小时前
动环监控如何有效提升机房环境管理的可靠性与响应速度?
运维·网络·物联网·国产动环监控系统·动环监控系统
zhengfei6119 小时前
【POC漏洞】XXX网上阅卷系统 monitor 未授权访问
网络·安全·web安全
福尔摩斯张10 小时前
Linux的pthread_self函数详解:多线程编程中的身份标识器(超详细)
linux·运维·服务器·网络·网络协议·tcp/ip·php
ArrebolJiuZhou11 小时前
02arm指令集(一)——LDR,MOV,STR的使用
linux·网络·单片机
一只旭宝11 小时前
Linux专题八:生产者消费者,读写者模型以及网络编程
linux·网络
代码游侠11 小时前
复习——网络基础知识
网络·笔记·网络协议·算法·http