当前位置: 首页 > article >正文

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


http://www.kler.cn/a/503589.html

相关文章:

  • Vue2+OpenLayers使用Overlay实现点击获取当前经纬度信息(提供Gitee源码)
  • 服务器数据恢复—EMC存储POOL中数据卷被删除的数据恢复案例
  • OPT: Open Pre-trained Transformer语言模型
  • Http 响应状态码 前后端联调
  • C++内存泄露排查
  • 服务器数据恢复—raid5故障导致上层ORACLE无法启动的数据恢复案例
  • Logback日志技术
  • 信凯科技业绩波动明显:毛利率远弱行业,资产负债率偏高
  • 2501,VC++接口函数总结
  • Python Wi-Fi密码测试工具
  • 从根源上解决cursor免费版50次限制问题
  • 【pycharm】远程部署失败,查看日志
  • zookeeper 基本原理-单机模式、集群模式
  • Three.js 性能优化:打造流畅高效的3D应用
  • 基于YOLOv8的高空无人机小目标检测系统(python+pyside6界面+系统源码+可训练的数据集+也完成的训练模型
  • wordpress 房产网站筛选功能
  • CRMEB多商户商城系统JAVA版 B2B2C商家入驻平台系统独立版全开源
  • aws(学习笔记第二十四课) 使用sam开发step functions
  • 3D目标检测数据集——Waymo数据集
  • 【Rust自学】12.6. 使用TDD(测试驱动开发)开发库功能
  • 无人机飞手考证难度提升,地面站培训技术详解
  • 《深入理解Mybatis原理》Mybatis中的缓存实现原理
  • Android JetPack组件之LiveData的使用详解
  • Life Long Learning(李宏毅)机器学习 2023 Spring HW14 (Boss Baseline)
  • HTTP/HTTPS ⑤-CA证书 || 中间人攻击 || SSL/TLS
  • JVM之垃圾回收器G1概述的详细解析