v2board被爆出越权漏洞,这是一个主要的机场后台面板,所以有很多的机场的后台用户数据被扒出来,并且攻击者称已经xxx,看来这一行看来要自求多福了,能干一天算一天吧。
漏洞版本:
v2board 1.6.1
漏洞描述:
垂直越权
靶场环境:
本想自己来搭建的,但是看官方文档依赖环境实在太麻烦了,但是我在github上找到了现成的docker环境:
靶场链接:
docker-compose up -d
运行完成之后打开8080端口,就可以看到搭建成功了:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F1168dcb8-61ea-4881-9fbb-e238887ef2bd%2FUntitled.png?table=block&id=4f3cc23e-c4eb-408d-a541-45b18478663c&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs2.loli.net%2F2022%2F12%2F18%2FciL6DgHlueEvhr7.png?table=block&id=dc6375bc-c3bb-4d0e-af7f-30ca9e760a9c&cache=v2)
复现:
第一步注册账号,可以手动也可以自动:
#替换注册的邮箱和密码: curl -i -s -k -XPOST --data-binary "email=example%40example.com&password=a123123123" http://localhost:8080/api/v1/passport/auth/login
复现非常简单,只要注册账号之后,登入进去,然后找到,本地存储中的authorization的键值对:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F1e825b35-8f4f-4cf5-a5b8-4e11801bf950%2FUntitled.png?table=block&id=afdfc608-c230-4847-aa6b-062a22903e12&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs2.loli.net%2F2022%2F12%2F18%2F4mcQP2E5ZuwFYxK.png?table=block&id=415beaa6-fbc8-4838-8a2a-13a3a97391ef&cache=v2)
然后复制键值对的key和值,如果是浏览器访问不用复制也可以,因为这个值就存储在浏览器中,访问管理员权限的页面:http://ipaddress/admin#/config/system,直接就可以跳过管理员登录,直接进入后台。
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F9e45b770-8705-46bd-950d-d78c041350b8%2FUntitled.png?table=block&id=2dbab4b3-291a-4381-85d0-3a19676baf55&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs2.loli.net%2F2022%2F12%2F18%2FOLZiey6AJgIS9KP.png?table=block&id=60af0242-7e66-4e8c-95cc-d5f45435c744&cache=v2)
如果用抓包工具的话直接添加Authorization字段就可以直接批量使用管理员api,字段首字母要大写。
攻击者公开的用户资料:
漏洞分析:
作者@AyagawaSeirin(Twitter)
漏洞处在鉴权的地方,只要用户登录过了,存储中有Authorization字段就可以直接管理员登录成功。
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F9e68680c-242e-42ec-98f2-1a98448097b9%2FUntitled.png?table=block&id=45f6538b-4acc-4f09-8de3-0dd3c8785b80&cache=v2)
PS:一些坑的地方:
我在gihub上复制靶场文件的时候,遇到了
syntax error:unexpected end of file
,靶场一直起不来,之所以遇到这个问题,因为windows没办法wget下载,docker虚拟机又因为你懂的原因没办法下载,我就手动复制文件内容然后在上传到linux上,所以出现了这个错误。解决办法要在vim的命令模式下:set ff
,查看当前的文件格式,然后改为unix格式:set fileformat=unix,真是太他妈坑了!