bub*_*aba 6 php xss base64 filtering src
接受应该是base64 编码的图像数据并将其用作POST
的属性是否安全?src
img
<img src="data:image/png;base64,[data here]" />
显然,如果没有过滤,人们可以很容易地突破src
属性和img
标签并插入恶意<script />
或其他标签,所以我的想法是
base64_decode($rawPostData)
Run Code Online (Sandbox Code Playgroud)
检查解码是否OK,然后
base64_encode($decodedData)
Run Code Online (Sandbox Code Playgroud)
将其放入src
属性中。
这种方法是否存在任何漏洞(例如 XSS,也许是缓冲区溢出?)?
我需要这个用于使用 JavaScript 将第三方转换svg
为canvas
tobase64
编码数据的页面(准确地说,使用“canvg”)。我需要将图像传递到服务器端脚本以使用该图像执行一些其他任务,还需要向用户/客户端显示图像。
我会接受图像作为图像,然后就base64_encode
这样了。它节省了您检查是否按预期提交的非常不必要的中间步骤,并且也使得不可能导致 XSS。
如果您必须像图像中那样验证 Base64,只需检查它仅包含 Base64 字符就足够了,因为您仅将其嵌入到 img 标签中(并且 Base64 中不允许使用标签破坏字符。
使用内置函数:
if (base64_decode($mystring, true)) {
// is valid
} else {
// not valid
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12593 次 |
最近记录: |