HTBmisc(1)编程题
Computational Recruiting
给了一个端口,可以先用nc连接上去拿到题目,提交答案可以得到flag
翻译后的题干:
您将获得一个包含 N = 200 个不同潜在候选人的文件。每个候选人都有 6 种不同的技能,每个技能的得分为 1 <= s <= 10。 计算其总体价值的公式为:
overall_value = round(5 * ((health * 0.18) + (agility * 0.20) + (charisma * 0.21) + (knowledge * 0.08) + (energy * 0.17) + (resourcefulness * 0.16)))
注意:这里的 round() 函数是 Python 3 的 round(),它使用了一个称为 Banker’s Rounding 的概念 6 项技能的权重为:
health_weight = 0.2、agility_weight = 0.3、charisma_weight = 0.1、knowledge_weight = 0.05、energy_weight = 0.05、resourcefulness_weight = 0.3
按总体价值最高的顺序输入前 14 名候选人。 像这样输入:Name_1 Surname_1 - score_1,Name_2 Surname_2 - score_2,…,Name_i Surname_i - score_i 例如 Timothy Pempleton - 94,Jimmy Jones - 92,Randolf Ray - 92,…
数据文本像是:
First Name | Last Name | Health | Agility | Charisma | Knowledge | Energy | Resourcefulness |
---|---|---|---|---|---|---|---|
Alis | Reeson | 2 | 5 | 5 | 8 | 7 | 10 |
Gerri | Bielfelt | 8 | 9 | 3 | 8 | 5 | 9 |
code:
import socket |
A Nightmare On Math Street
┌──(mikannse㉿kali)-[~] |
要计算数学题,并且时间不能太长,那就socket了,但是加法和乘法的计算顺序要调换,结果实现之后发现又来了一道题,也就是说不止要完成一道题,那就不停循环直到接收到含有”HTB{“字符的消息,结果要计算500道,出题人是不是人类啊!!!
import socket |
M0rsarchive
得到一个压缩包,解码会得到下一个压缩包,以及一张图片。这个图片上像是摩斯电码的东西,看样子是这个压缩包的密码。那就利用PIL库读取像素转成摩斯电码然后一层层解密
import re |
Emdee five for life
是一个网页,要输入所给的字符串才能进入下一个关,并且加密速度要快
import requests |
本以为又要做几百关没想到两三次就有了
Eternal Loop
又是一个压缩包,包名叫做37366.zip,里面有一个5900.zip,解压需要密码,猜测使用5900发现解压成功,反正就是无穷嵌套了,使用zipfile库自动解压
import zipfile |
发现解压到了6969.zip解压失败了,里面是一个别的文件,使用rockyou爆破得到密码,解压得到一个sqlite3数据库文件,strings一下得到flag
┌──(mikannse㉿kali)-[~/Desktop] |
┌──(mikannse㉿kali)-[~/Desktop] |