最近,我花了些空闲时间来审计开源软件,主要看的是一些基于web的软件。
这次我想和大家分享一些我在PHP Server Monitor 3.3.1开源软件中发现的跨站请求伪造(CSRF),希望以后能与大家分享更多。
什么是CSRF
跨站点请求伪造是一种恶意技术,通过这种技术,可以从web应用程序信任的用户那里传输未经授权的命令。
因此,如果我们让应用程序的一个用户执行我们之前准备好的payload,我们就能成功利用这个漏洞。
PHP Server Monitor
PHP Server Monitor 是一个用来监控服务器和网站是否正常运行的脚本,它提供了一个基于web的用户界面,用户可以在此管理用户的服务和网站,也可以使用电话和邮件地址管理每个服务器的用户。
如何发现的CSRF漏洞
必须说的是,CSRF漏洞是我审计过程中最后才会去看的漏洞,这个是我偶然发现的。
在第一阶段,当我为了寻找可能利用的跨站脚本攻击(XSS)而审查网页请求返回的参数时,我注意到创建用户和服务器的操作中有一个反CSRF令牌。
当我刚开始观察到它的时候,没怎么考虑这种漏洞,我一直在寻找反射的参数,但后来我看到了以下情况……
哇! ! !删除服务器的按钮操作缺少一个反csrf令牌,而且还可以通过GET请求实现。
这种错误的配置将允许攻击者生成恶意的payload,并且应该用一个URL缩短器来隐藏(谷歌缩短器或者其他类似软件)。
更新到3.3.2版本以解决这个漏洞。
POC
点击收藏 | 0
关注 | 1