Advanced REST Client v.17.0.9의 XSS(Cross-Site Scripting) 취약점으로 인해 원격 공격자가 임의 코드를 실행하고 민감한 정보를 얻을 수 있습니다. 이는 New Project 함수의 'edit details' 매개변수 내에서 조작된 스크립트를 악용하여 달성할 수 있습니다.
2. 공격 벡터
이 취약점은 공격자가 프로젝트 설명(Markdown 형식)에 'XSS' 스크립트를 악의적으로 저장하고, 피해자와 프로젝트를 공유한 후 ARC App을 사용하여 피해자의 PC에서 공유된 프로젝트를 실행할 때 발생합니다.
3. 개념 증명 (PoC)
Step 1) Advanced REST Client를 실행한 후 세 번째 탭의 '+ADD A PROJECT' 버튼을 클릭합니다.
Step 2) 생성된 프로젝트를 보려면 'Open details' 탭을 클릭합니다.
Step 3) 생성된 New Project에서 'Edit details' 탭을 클릭합니다.
Step 4) 공격자가 'XSS 스크립트'를 작성하고 'SAVE' 버튼을 클릭합니다.
root@kitploit:~
<!--Used 'XSS script' for information leakage-->
<!--Another 'XSS script' for phishing-->
Step 5) 프로젝트를 열 때 'XSS 스크립트'가 경고(정보 유출)를 생성할 수 있습니다.
또는 공격자의 페이지(피싱)를 로드할 수 있습니다.
Step 6) 공격자가 생성한 프로젝트는 'Export project' 기능을 통해 내보낼 수 있습니다.
Step 7) 공격자가 프로젝트 이름을 지정하고 'EXPORT' 버튼을 클릭하여 'XSS 스크립트'가 저장된 프로젝트를 내보냅니다.
Step 8) 이 앱은 프로젝트를 가져오는 기능도 있습니다.
Step 9) 피해자가 상단 탭에서 'import all versions of ARC data'를 선택하여 공격자로부터 받은 프로젝트를 엽니다.
Step 10) 피해자가 'XSS 스크립트'가 포함된 악성 프로젝트 파일을 열기 위해 'SELECT FILE' 버튼을 클릭할 때.
Step 11) 파일 선택이 완료되면 'IMPORT DATA' 버튼을 클릭하여 성공적으로 가져옵니다.