Temperance-hmvlabs-hackmyvm
本文最后更新于399 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

https://hackmyvm.eu/hmvlabs

有33个flag 通过随意一种语言 与服务器交互获得题目提供的数据 按要求处理提交给服务器 获得flag。

我使用python 处理数据。

第一关
# EN 代号:levelx00 任务:在此任务中,您将收到一个字符串,您应该发送相同的字符串。知识点(与服务器交互)

import socket

host= "temperance.hackmyvm.eu"
port= 9988
level = b'levelx00'

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:  #python socket库
    s.connect((host,port))                                   

    print('----- one accept ')                                #开场白
    data = s.recv(1024)
    print(data)

    print('----- sed level:',end="")                          #发送关卡
    print(level)
    s.send(level)

    print('----- accept data')                                #接收 要处理的数据
    data =  s.recv(1024)
    print(data)

    print('------ return data')                               #返回 处理好的数据
    print(data)
    s.send(data)

    print('----- accept flag')                                #接收  flag
    flag = s.recv(1024)

    print('[+]:',end="")
    print(flag.decode('utf-8'))

data= data.decode(‘utf-8’) 将字节序列解码为字符串

data= data.encode(‘utf-8’)

第三关 将字符变为大写

#for i in data:
    #    i = ord(i)
    #    if(i>=97 and i<=122 ):
    #       data2 += chr(i-32)
    #    else:
    #       data2 += chr(i)
    
data = data.upper()

第四关 base64 解码

import base64
import socket

host= "temperance.hackmyvm.eu"
port= 9988
level = b'levelx003'

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:  #python socket库
    s.connect((host,port))                                   

    print('----- one accept ')                                #开场白
    data = s.recv(1024)
    print(data)

    print('----- sed level:',end="")                          #发送关卡
    print(level)
    s.send(level)

    print('----- accept data')                                #接收 要处理的数据
    data =  s.recv(1024)
    print(data)

    data = base64.b64decode(data)                             #base64 解码   处理字节流数据

    print('------ return data')                               #返回 处理好的数据
    print(data)
    s.send(data)

    print('----- accept flag')                                #接收  flag
    flag = s.recv(1024)

    print('[+]:',end="")
    print(flag.decode('utf-8'))

第五关 反向返回一个字符串

data = data[:::-1]

第六关 返回字符串 最后五个字符

data2 = data1[-5:]

第七关 返回字符串的长度 (!int 字符型)

  data = data.decode('utf-8')
      data1 = len(data)
      if data1 >= 10:
          a = data1 // 10 
          b = data1 % 10
          data2 = ''
          data2 += chr(a+48)
          data2 += chr(b+48)
      else:
          data2 = ''
          data1 = data1+48
          data2 = chr(data3)

data = data.decode('utf-8')
data1 = len(data)
data = str(data1)

第八关 将十六进制的字符串 转换为 ascii 字符

data = ''.join(chr(int(data[i,i+2],16)) for i in range(0,len(data),2))

第十关 对rot13 编码的字符串 解码




def rot13(text):
    """
    ROT13 encryption/decryption.
    """
    result = ""

    for char in text:
        if char.isalpha(): 
            ascii_offset = ord('a') if char.islower() else ord('A')
            rot13_char = chr((ord(char) - ascii_offset + 13) % 26 + ascii_offset)
            result += rot13_char
        else:
            result += char

    return result

result = ''.join(rot13(i) for i in data1)
文末附加内容
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇