日期:
来源:弥天安全实验室收集编辑:奥村燐
网安引领时代,弥天点亮未来
程序版本:
漏洞分析:
1.当查看代码文件,插入留言的时候,从getcvar('mluserid')获取uid,然后当$uid存在时候再从getcvar('mlusername')获取用户名,最后再进行插入留言,如果uid不存在的话,就设置uid=0,就是匿名留言了。
2.最后再查看getcvar函数的定义,参数的来源是从$_COOKIE里面取出来了,前缀+$_COOKIE的值。
3.看到这里有的人就可以想到利用方法了,这个时候只要构造mluserid和mlusername参数就可以伪造任意用户登录留言了。
漏洞复现:
1.ejpbwmlusername的数值修改admin,ejpbwmluserid的数组修改成1就行了。
2.这个时候在别人空间留言,都会以登录状态的admin,进行留言了,测试效果,刚才的留言是以admin的身份进行的留言,并且可以点击查看对方的空间。
修复方案:
1.帐其实就是判断是不是匿名留言的时候,没有判断用户是否是真的登录状态而进行留言。
2.从_COOKIE取出用户uid的时候,这个位置少了判断用户是否在登录状态下留言,想修复的同志,可以在这个位置加上登录判断。
结束语:
1.欢迎大家关注弥天安全实验室公众号。
2.文章参考:
https://www.freebuf.com/vuls/196666.html
3.参考文章我写的,转载设置原创没有问题的。
4.楼上天天不睡觉,你在TMD捉啥妖。
知识分享完了
喜欢别忘了关注我们哦~
弥 天
安全实验室