From 21d108d072414bb81fd10a76dd96f27c4be4022d Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 7 Jan 2025 18:28:31 +0000 Subject: [PATCH] Translated ['src/network-services-pentesting/pentesting-web/electron-des --- .../electron-desktop-apps/README.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md b/src/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md index 5c78fa8ee..63736dff8 100644 --- a/src/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md +++ b/src/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md @@ -32,7 +32,7 @@ let win = new BrowserWindow() //Open Renderer Process win.loadURL(`file://path/to/index.html`) ``` -**렌더러 프로세스**의 설정은 **main.js** 파일의 **메인 프로세스**에서 **구성**할 수 있습니다. 일부 구성은 **설정이 올바르게 구성된 경우** Electron 애플리케이션이 RCE 또는 기타 취약점에 노출되는 것을 **방지**합니다. +**렌더러 프로세스**의 설정은 **main.js** 파일 내의 **메인 프로세스**에서 **구성**할 수 있습니다. 일부 구성은 **설정이 올바르게 구성된 경우** Electron 애플리케이션이 RCE 또는 기타 취약점에 노출되는 것을 **방지**합니다. Electron 애플리케이션은 Node API를 통해 **장치에 접근할 수 있지만**, 이를 방지하도록 구성할 수 있습니다: @@ -42,7 +42,7 @@ Electron 애플리케이션은 Node API를 통해 **장치에 접근할 수 있 - [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - 기본값은 꺼져 있습니다. NodeJS가 수행할 수 있는 작업을 제한합니다. - 워커에서의 Node 통합 - **`nodeIntegrationInSubframes`** - 기본값은 꺼져 있습니다. -- **`nodeIntegration`**이 **활성화**되면, 이는 Electron 애플리케이션 내의 iframe에 **로드된 웹 페이지에서 Node.js API**를 사용할 수 있게 합니다. +- **`nodeIntegration`**이 **활성화**되면, 이는 Electron 애플리케이션 내의 **iframe에 로드된 웹 페이지에서 Node.js API**를 사용할 수 있게 합니다. - **`nodeIntegration`**이 **비활성화**되면, 프리로드는 iframe에서 로드됩니다. 구성 예시: @@ -97,7 +97,7 @@ onerror="alert(require('child_process').execSync('uname -a').toString());" /> ``` ### 트래픽 캡처 -start-main 구성을 수정하고 다음과 같은 프록시 사용을 추가하세요: +start-main 구성을 수정하고 다음과 같은 프록시 사용을 추가합니다: ```javascript "start-main": "electron ./dist/main/main.js --proxy-server=127.0.0.1:8080 --ignore-certificateerrors", ``` @@ -123,7 +123,7 @@ top.require("child_process").exec("open /System/Applications/Calculator.app") ## RCE: preload -이 설정에서 표시된 스크립트는 **렌더러의 다른 스크립트보다 먼저 로드되므로**, **Node API에 무제한으로 접근할 수 있습니다**: +이 설정에서 언급된 스크립트는 **렌더러의 다른 스크립트보다 먼저 로드**되므로 **Node API에 무제한으로 접근**할 수 있습니다: ```javascript new BrowserWindow{ webPreferences: { @@ -192,7 +192,7 @@ Electron 데스크탑 애플리케이션을 배포할 때 `nodeIntegration` 및 webContents.on("new-window", function (event, url, disposition, options) {} webContents.on("will-navigate", function (event, url) {} ``` -이 리스너는 **데스크탑 애플리케이션에 의해 재정의되어** 자체 **비즈니스 로직**을 구현합니다. 애플리케이션은 탐색된 링크가 내부에서 열려야 하는지 또는 외부 웹 브라우저에서 열려야 하는지를 평가합니다. 이 결정은 일반적으로 `openInternally`라는 함수를 통해 이루어집니다. 이 함수가 `false`를 반환하면 링크가 외부에서 열려야 함을 나타내며, `shell.openExternal` 함수를 사용합니다. +이 리스너는 **데스크탑 애플리케이션에 의해 재정의되어** 자체 **비즈니스 로직**을 구현합니다. 애플리케이션은 탐색된 링크가 내부에서 열려야 하는지 또는 외부 웹 브라우저에서 열려야 하는지를 평가합니다. 이 결정은 일반적으로 `openInternally`라는 함수를 통해 이루어집니다. 이 함수가 `false`를 반환하면, 링크가 외부에서 열려야 함을 나타내며, `shell.openExternal` 함수를 사용합니다. **여기 간단한 의사코드가 있습니다:** @@ -226,7 +226,7 @@ window.open( ``` ## 내부 파일 읽기: XSS + contextIsolation -**`contextIsolation` 비활성화는 `` 태그의 사용을 가능하게 하여**, `