Vortex Wargame通关记录——Level 0

本文详细介绍了解决VortexWargame中Level0到Level1的挑战方法,通过Python脚本从vortex.labs.overthewire.org的5842端口读取四个无符号整数,进行加总并发送回服务器,以获取下一关的用户名和密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vortex Wargame

Vortex wargame:http://overthewire.org/wargames/vortex/
Overthewire社区提供了一系列帮助学习计算机安全领域的wargame,Vortex Wargame主要是关于Software Security的,有一定的难度,共有27个level。

Level 0 -> Level 1

本级的目标是从vortex.labs.overthewire.org的5842端口读取四个无符号整数,将它们加起来,发送回去,就可以得到下一关的用户名和密码。
需要注意的是,服务器机器是32位的小端序机器。

import socket
s = socket.socket()
s.connect(("vortex.labs.overthewire.org", 5842))
# 读取16个字节,4个32位无符号整数
result = s.recv(16)
pwd = 0

for i in range(0, 15, 4):
	# 读取每一个整数
    b_array = result[i:i+4]
    num = 0
    for j in range(0, 4):
        b = b_array[j]
        # 小端序的字节转换成整数
        b = b << (j * 8)
        num = num | b
    pwd += num

# 最终结果可能溢出32位,做与操作将结果限制在32位以内
pwd = pwd & 0x0FFFFFFFF
# 发送结果
s.send(pwd.to_bytes(4, byteorder="little", signed=False))
# 最后可以收到下一关的用户名和密码
print(s.recv(1024))
s.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值