baijunyao / laravel-bjyblog

Laravel v9 blog
https://baijunyao.com/docs/laravel-bjyblog
MIT License
525 stars 201 forks source link

申请友链存在xss漏洞 #118

Closed thiscodecc closed 5 years ago

thiscodecc commented 5 years ago

在前台申请友链的时候在url地址输入javascript:alert('xss');//http

1001

在后台查看的时候.点击这个url就会触发.

10002 10003
public function setUrlAttribute($value)
    {
        // 如果没有http 则补上http
        if (strpos($value, 'http') === false) {
            $value = 'http://' . $value;
        }

        $this->attributes['url'] = strtolower(rtrim($value, '/'));
    }

代码里判断URL时,只判断了字符串里面是否有http,没有则在开头位置拼接http。 没有判断字符串在http的位置,javascript:alert('xss');//http 那这样就绕过了,应该判断http要在字符串开始位置出现.

baijunyao commented 5 years ago

多谢反馈; 如果管理员在后台点击有问题的 URL 确实会被攻击; 修复了哈;