首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Chrome headless不能作为root使用--no-sandbox?

Chrome headless是一个无界面的Chrome浏览器,可以在命令行中运行,用于自动化测试、网页截图、网络爬虫等场景。在使用Chrome headless时,如果尝试以root用户身份运行,并且使用了--no-sandbox参数,会出现无法启动的问题。

这是因为Chrome浏览器为了安全考虑,在Linux系统中默认启用了沙箱(sandbox)机制,用于隔离浏览器进程与操作系统环境,防止恶意网页对系统进行攻击。而--no-sandbox参数则是关闭了这个沙箱机制。

然而,以root用户身份运行Chrome headless并关闭沙箱机制会带来严重的安全风险,因为这样做会使Chrome浏览器进程具有完全的系统权限,可能导致恶意网页或攻击者利用浏览器漏洞获取系统权限,从而对系统进行恶意操作。

为了保证系统的安全性,建议不要以root用户身份运行Chrome headless,并且不要关闭沙箱机制。如果需要在Linux系统中以非root用户身份运行Chrome headless,可以尝试使用其他解决方案,如使用普通用户运行或者配置适当的用户权限。

腾讯云提供了云服务器(CVM)产品,可以满足用户在云计算领域的需求。您可以通过腾讯云官网了解更多关于云服务器的信息:https://cloud.tencent.com/product/cvm

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

centos安装使用puppeteer和headless chrome

Google推出了无图形界面的headless Chrome之后,可以直接在远程服务器上直接跑一些测试脚本或者爬虫脚本了,猴开心!Google还附送了Puppeteer用于驱动没头的Chome。...在阿里云的Centos 7.3上,安装puppeteer之后,会发现并不能启动官方的example: const puppeteer = require('puppeteer'); (async ()...网上很多讨论是说,直接调试那个Chrome。按照并不能解决问题的说法:直接去puppeteer的目录找到.local-chrome里面的Chromium执行文件,直接执行 ..../chrome -v --no-sandbox --disable-setuid-sandbox (chrome:5333): Gtk-WARNING **: cannot open display:...回想一下,Puppet本身估计自带了--headless,所以如果直接去命令行执行chrome,还是要带上--headless

3.2K20

在 Docker 中配置 Headless Chrome Node.js 服务器

Headless Chrome 与 Node.js Node.js 是 Google Chrome 开发团队使用的主要环境,它拥有用于与 Chrome 通信的原生集成库:Puppeteer.js。...默认情况下,容器中的所有内容都以 root 用户身份运行,浏览器会在本地执行 JavaScript 文件。...以下是负责 Google Chrome 设置的 Dockerfile 例子。我们将选择 Alpine Linux 作为基本容器,因为用它生成的 Docker 镜像占用的空间最小。...Headless Chrome 的常见问题 Google Chrome 在执行时会占用大量内存,因此 Headless Chrome 在服务器端产生相同的情况也就不足为奇了。...这将使用相同的浏览器管理协议连接到 headless Chrome DevTools 套接字。 结论 在容器内运行浏览器可提供很多灵活性和可伸缩性。它也比传统的基于 VM 的实例便宜很多。

2.8K10

聊聊 Python 自动化脚本部署服务器全流程(详细)

# 检查Chrome浏览器的版本 google-chrome -version 安装完成之后,发现使用 Root 用户启动 Chrome 浏览器失败PS:服务器 Chrome 浏览器不支持直接使用...,需要以 --no-sandbox 参数启动 # 以--no-sandbox方式启动Chrome浏览器 # 方式一:命令行启动 /usr/bin/google-chrome-stable --no-sandbox...# 方式二:修改Chrome浏览器快捷图标的启动方式 # 启动方式:--no-sandbox 2-4 配置 Chrome Driver 及授权 在官网下载 Chrome 浏览器对应版本的 Chrome...将自动化脚本上传到服务器,设置以有头模式运行 注意:由于服务器的 Chrome 需要配置以 no-sandbox 模式启动,因此自动化脚本需要添加设置属性 option = webdriver.ChromeOptions...() # 以无头模式运行 #option.add_argument('headless') option.add_argument('no-sandbox') option.add_argument(

1.3K30

论如何利用可控参数拼接完成RCE

很容易理解这个使用方式,这里补充一点就是createprocess并不是cmd,不能用cmd里的命令方式来分割执行别的程序比如calc && notepad其中的notepad并没有正常运行。...比如: chrome.exe urlstr 其中urlstr可控,原意是使用chrome.exe打开用户传递的链接。...="cmd.exe" 在新版本Chrome里必须要加no-sandbox,因为不加的话由于有sandbox的作用所以会导致cmd不执行。...所以要加sandbox chrome.exe https://www.baidu.com --no-sandbox --gpu-launcher="cmd.exe" 其他 类似的,很多都是Chrome...可控制的urlstr中过滤了空格 当我们可控制的过滤了空格,参数拼接就会变得异常困难,正常情况可以认为是不能再插入自定义参数了。因为我们前面插入额外参数全部依赖于空格作为分割符。

30310

聊聊 Python 自动化脚本部署服务器全流程(详细)

# 检查Chrome浏览器的版本 google-chrome -version 安装完成之后,发现使用 Root 用户启动 Chrome 浏览器失败PS:服务器 Chrome 浏览器不支持直接使用,...需要以 --no-sandbox 参数启动 # 以--no-sandbox方式启动Chrome浏览器 # 方式一:命令行启动 /usr/bin/google-chrome-stable --no-sandbox...# 方式二:修改Chrome浏览器快捷图标的启动方式 # 启动方式:--no-sandbox 2-4  配置 Chrome Driver 及授权 在官网下载 Chrome 浏览器对应版本的 Chrome...将自动化脚本上传到服务器,设置以有头模式运行 注意:由于服务器的 Chrome 需要配置以 no-sandbox 模式启动,因此自动化脚本需要添加设置属性 option = webdriver.ChromeOptions...() # 以无头模式运行 #option.add_argument('headless') option.add_argument('no-sandbox') option.add_argument(

1K30

重要|RAID不能作为备份系统使用

使用场景 RAID能够保护您免受单个磁盘驱动器故障的影响——当您替换故障磁盘并重建副本时,冗余镜像将接管一段时间。 使用误区 RAID和备份有很大的区别,或者说根本不是一个概念。...举个简单的例子,某个人执行了数据库的drop tables操作之后,无论使用什么模式下的RAID都不能有效保护您的数据。然而,备份是数据的副本,它存储在其他地方,并在空间和时间上与原始数据分离。...简而言之,即使您使用RAID,您仍然必须使用有效的备份软件才能保护您的数据免受损坏。...使用了块级别的条带化。 在上图中B1 B2 B3是块。p1 p2 p3是奇偶校验。 使用多个数据磁盘和一个专用磁盘存储奇偶校验。...常用的RAID 10 从RAID 0到6来看,使用起来收效较低,大多场景下,不能做到有效的平衡,RAID 0和RAID 1分别用于增强存储性能(RAID 0 条带)和数据安全性(RAID 1 镜像),

1.1K30

基于Chorme headless的xss检测实践

01 — 起因 扫描器不能满足需求,phantomjs不支持html5标签。所以自己查阅资料和api,写了一个基于chrome headless xss扫描插件。...学习了一下:https://github.com/wilson9x1/ChromeHeadlessInterface 的项目后,决定自己使用webscoket和chrome进行通信。...--remote-debugging-port=9222 --headless -remote-debugging-address=0.0.0.0 --disable-xss-auditor --no-sandbox...2>&1 & chrome_headless_xss 1# tmp_url为添加payload的url,如果是post请求则为原始url 2chrome_headless_drive = ChromeHeadLess.../ 05 — 总结及思考 1、 其实使用websocket和chrome进行通信整个过程是异步的,使用异步的方法可以解决粗暴的通过超时来控制循环监听的问题,同时也能提高扫描效率。

1.4K40

攻防启示:Chromium组件风险剖析与收敛

为何 --no-sandbox 会如此泛滥呢?我们不妨来看一下,当我们在ROOT下启动Chrome,会有什么样的提示呢?...,且无法启动 Chrome;这对于以研发效率和产品功能优先的研发同学来说无异于提示“请使用 --no-sandbox 来启动 Chrome”, 应用容器化的进程也加剧了使用ROOT用户启动应用程序的情况...[1fab740efe4b9250d572831581ca6eca.png] 所以,网络上有大量的文档和博客推荐启用 --no-sandbox 来解决 Chrome headless使用问题,这也间接助长了...--no-sandbox 2、使用普通用户而非 root 用户启动 chrome headless 进程 方案2....也因此,在HIDS进程大盘中, 启用 --no-sandboxChrome headless 进程也一直在持续增多。

1.2K10

WSL运行Chrome Headless模式

前言 Google Chrome早就支持了headless模式,但一般都是在Linux上运行,而我则习惯于在WSL上开发,折腾了好久终于找到了可以在WSL上跑headless模式的方法。....deb $ which google-chrome /usr/bin/google-chrome 使用Chrome Headless访问网页 使用 官方文档的方法打开Chrome: $ google-chrome...: $ google-chrome --no-sandbox --headless --no-gpu --disable-setuid-sandbox --screenshot http://www.baidu.com...使用puppeteer提供的Chrome 无意中发现,puppeteer中提供的Chrome竟然可以在WSL中开启调试端口并正常访问。...总结 安装依赖库,包括中文字体库 使用puppeteer提供的Chrome版本 完整的启动命令行:chrome --no-sandbox --headless --no-gpu --disable-setuid-sandbox

4.4K31
领券