利用URL特性绕过域名白名单检测

以URL跳转举例:URL跳转漏洞主要是利用浏览器对URL特性的支持,绕过一些正则匹配不严谨的防护。

1.“@”
http://www.target.com/redirecturl=http://whitelist.com@evil.com

2.“\”
http://www.target.com/redirecturl=http://evil.com\a.whitelist.com

3.“?”
http://www.target.com/redirecturl=http://evil.com?a.whitelist.com

4.“#”
http://www.target.com/redirecturl=http://evil.com#a.whitelist.com

以上问题不单单会影响URL跳转漏洞的防护,只要涉及到对URL白名单检测的地方都可能存在此问题,比如:微信、QQ等对聊天内容中对URL的检测;检测文章/论坛帖子等中是否插入了外部图片;[远程]文件包含/读取;等等

### kkfileview 白名单配置和管理 为了有效管理和配置 `kkfileview` 的白名单,确保系统的安全性并防止潜在的安全风险,可以采取如下措施: #### 配置文件设置 在服务器端的配置文件中设定允许访问的文件目录。对于 PHP 应用程序而言,在 php.ini 文件里可以通过设置 `open_basedir` 来限制脚本能够操作哪些目录下的文件[^2]。 ```ini ; 只允许访问指定目录及其子目录内的资源 open_basedir = "/var/www/html/:/tmp/" ``` #### 输入验证与过滤 当处理来自用户的请求参数时,务必实施严格的输入校验机制。这包括但不限于对 URL 参数中的特殊字符进行检测,并阻止任何可能用于绕过安全控制的行为,如尝试通过相对路径 (`../`) 或绝对路径来定位其他位置上的文件。 - **黑名单模式**:识别并拒绝已知危险字符串; - **白名单模式**:仅接受预定义范围内合法的内容形式; 例如,在接收文件名作为查询条件的情况下,应该先确认其扩展名为预期类型之一(`.jpg`, `.png`, etc.),再进一步解析实际存储位置前完成必要的清理工作。 ```php <?php // 假设 $input 是未经处理过的原始数据 $allowedExtensions = ['jpg', 'jpeg', 'gif', 'png']; $fileExtension = pathinfo($input, PATHINFO_EXTENSION); if (!in_array(strtolower($fileExtension), $allowedExtensions)) { die('Invalid file type.'); } $safePath = basename($input); // 移除所有非字母数字字符以及斜杠 ?> ``` #### 小程序环境特定考量 如果是在微信小程序环境中部署,则需要注意 `<web-view>` 组件所使用的源地址也需要遵循平台规定的要求——即必须事先于微信公众平台上登记备案过的域名列表之内才能正常加载页面[^3]。 综上所述,针对 `kkfileview` 进行有效的白名单策略制定不仅有助于增强应用本身抵御恶意攻击的能力,同时也保障了用户体验的一致性和稳定性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值