无头浏览器
无头浏览器 是什么?
无头浏览器一种没有图形界面、通过程序驱动的真实浏览器,常用于自动化测试、网页抓取和安全自动化。
无头浏览器是一个真实的浏览器引擎(Chromium、Firefox、WebKit),能够执行 JavaScript、渲染页面、管理 Cookie,但不显示可视窗口。它通过 Chrome DevTools Protocol、WebDriver BiDi 等接口控制,常配合 Puppeteer、Playwright 等库使用。无头浏览器广泛用于端到端测试、截图服务、PDF 生成,以及 DAST 等动态应用安全扫描。攻击者也会利用无头浏览器进行撞库、抓取受保护内容并绕过简单的机器人检测,因此反自动化防御会检查浏览器指纹、navigator.webdriver 标志和行为信号。
● 示例
- 01
使用 Chromium --headless=new 在 DAST 扫描中抓取渲染后的 DOM。
- 02
撞库机器人通过无头 Firefox 通过登录页的 JavaScript 挑战。
● 常见问题
无头浏览器 是什么?
一种没有图形界面、通过程序驱动的真实浏览器,常用于自动化测试、网页抓取和安全自动化。 它属于网络安全的 应用安全 分类。
无头浏览器 是什么意思?
一种没有图形界面、通过程序驱动的真实浏览器,常用于自动化测试、网页抓取和安全自动化。
无头浏览器 是如何工作的?
无头浏览器是一个真实的浏览器引擎(Chromium、Firefox、WebKit),能够执行 JavaScript、渲染页面、管理 Cookie,但不显示可视窗口。它通过 Chrome DevTools Protocol、WebDriver BiDi 等接口控制,常配合 Puppeteer、Playwright 等库使用。无头浏览器广泛用于端到端测试、截图服务、PDF 生成,以及 DAST 等动态应用安全扫描。攻击者也会利用无头浏览器进行撞库、抓取受保护内容并绕过简单的机器人检测,因此反自动化防御会检查浏览器指纹、navigator.webdriver 标志和行为信号。
如何防御 无头浏览器?
针对 无头浏览器 的防御通常结合技术控制与运营实践,详见上方完整定义。
无头浏览器 还有哪些其他名称?
常见的别称包括: Headless Chrome。
● 相关术语
- appsec№ 880
Puppeteer 安全
针对 Puppeteer 的安全注意事项,它是 Google 维护的 Node.js 库,通过 DevTools Protocol 驱动 Chrome 与 Chromium 实现自动化与测试。
- appsec№ 836
Playwright 安全
针对 Playwright 的安全注意事项,微软推出的跨浏览器自动化框架,可通过隔离上下文控制 Chromium、Firefox 与 WebKit。
- attacks№ 232
撞库攻击
利用某一服务泄露的大量用户名/密码组合,在其他服务上自动重放登录,利用用户密码复用接管账户的攻击。
- appsec№ 1195
User-Agent 伪造
伪造 User-Agent 头或相关 Client Hints,使请求看似来自与实际不同的浏览器、设备或操作系统。
● 参见
- № 942robots.txt