{"id":"01M5BVFHYXAZMB4GCZ1HC8BYQN","target_url":"https://scandia.aidia.co.kr/demo-target/safe","status":"done","consent_at":"2026-10-20 14:10:24","created_at":"2026-10-20 14:10:24","started_at":"2026-10-20 14:10:24","finished_at":"2026-10-20 14:10:41","cms":"gnuboard5","cms_version":"5.6.37 ~ 5.6.43","cms_version_confidence":1,"cms_evidence":{"cms":"gnuboard5","signals":[{"tag":"core","url":"https://scandia.aidia.co.kr/demo-target/safe/","error":null,"label":"HTML에 g5_url / g5_bbs_url JS 변수","status":200,"matched":true},{"tag":"shop","url":"https://scandia.aidia.co.kr/demo-target/safe/","error":null,"label":"HTML에 g5_shop 변수 또는 /shop/ 링크","status":200,"matched":false},{"tag":"core","url":"https://scandia.aidia.co.kr/demo-target/safe/","error":null,"label":"HTML에 그누보드 공통 스크립트(/js/common.js, jquery.menu.js) 참조","status":200,"matched":true},{"tag":"core","url":"https://scandia.aidia.co.kr/demo-target/safe/bbs/login.php","error":null,"label":"/bbs/login.php 에 mb_id·mb_password 폼 필드","status":200,"matched":true},{"tag":"core","url":"https://scandia.aidia.co.kr/demo-target/safe/js/common.js","error":null,"label":"/js/common.js 존재(그누보드 전용 함수 포함)","status":200,"matched":true},{"tag":"core","url":"https://scandia.aidia.co.kr/demo-target/safe/adm/","error":null,"label":"/adm/ 요청 시 로그인 페이지(bbs/login.php)로 리다이렉트","status":302,"matched":true},{"tag":"shop","url":"https://scandia.aidia.co.kr/demo-target/safe/shop/","error":null,"label":"/shop/ 경로 응답(영카트)","status":404,"matched":false}],"version":"5.6.37","confidence":1,"hash_matches":{"files":["js/common.js","js/jquery.menu.js","js/wrest.js","js/jquery.register_form.js","css/default.css","css/mobile.css","css/default_shop.css"],"total":7,"matched":7,"candidates":["5.6.37","5.6.38","5.6.39","5.6.39.1","5.6.40","5.6.41","5.6.42","5.6.43"]},"files_checked":7,"version_range":"5.6.37 ~ 5.6.43"},"score":98,"grade":"A","request_count":45,"progress_done":9,"progress_total":9,"progress_label":"완료","error":null,"is_demo":1,"findings":[{"id":"01M5BVFPJ37Q6WC36RYFJSVTPZ","scan_id":"01M5BVFHYXAZMB4GCZ1HC8BYQN","check_id":"gnuboard.version_patch","severity":"info","title":"추정 버전 5.6.37 ~ 5.6.43: 알려진 미적용 보안패치 없음","description":"취약점 DB 기준(최신 패치 5.6.43) 추정 버전 이후 공개된 보안패치가 없습니다. 추정은 정적 파일 해시에 기반하므로 코어 PHP 파일만 수정된 경우는 반영되지 않습니다.","evidence":[{"url":"https://scandia.aidia.co.kr/demo-target/safe/","status":200,"snippet":"정적파일 7/7개 해시 일치 → 버전 5.6.37 ~ 5.6.43 (신뢰도 100%). 비교 파일: js/common.js, js/jquery.menu.js, js/wrest.js, js/jquery.register_form.js, css/default.css, css/mobile.css, css/default_shop.css"}],"remediation":"","reference":[],"seq":0},{"id":"01M5BVFPMP3JVRDQ5X1HH4N7B6","scan_id":"01M5BVFHYXAZMB4GCZ1HC8BYQN","check_id":"gnuboard.version_patch","severity":"unknown","title":"버전 범위(5.6.37 ~ 5.6.43) 안의 보안패치 5건은 적용 여부를 구분할 수 없음","description":"이 버전들은 정적 파일(js/css)이 동일해 외부에서 구분되지 않습니다. 관리자 화면(환경설정 → 버전)에서 실제 버전을 확인하십시오. 해당 패치: 5.6.43 (medium) / 5.6.41 (high) / 5.6.40 (high) / 5.6.39 (high) / 5.6.38 (high)","evidence":[{"url":"https://scandia.aidia.co.kr/demo-target/safe/","status":200,"snippet":"정적파일 7/7개 해시 일치 → 버전 5.6.37 ~ 5.6.43 (신뢰도 100%). 비교 파일: js/common.js, js/jquery.menu.js, js/wrest.js, js/jquery.register_form.js, css/default.css, css/mobile.css, css/default_shop.css"}],"remediation":"","reference":[],"seq":1},{"id":"01M5BVFPVGEC78WDZ543TTHDZ0","scan_id":"01M5BVFHYXAZMB4GCZ1HC8BYQN","check_id":"gnuboard.admin_exposure","severity":"info","title":"기본 관리자 경로(/adm/) 사용 중","description":"/adm/ 요청이 로그인 페이지로 리다이렉트됩니다(정상 동작). 다만 기본 경로를 그대로 사용하면 무차별 대입 시도의 대상이 되기 쉽습니다.","evidence":[{"url":"https://scandia.aidia.co.kr/demo-target/safe/adm/","error":null,"status":302,"snippet":"→ /demo-target/safe/bbs/login.php?url=%2Fdemo-target%2Fsafe%2Fadm%2F"}],"remediation":"- 관리자 페이지 접근 IP 제한(.htaccess `Require ip`) 또는 호스팅 방화벽 설정\n- 관리자 계정 2차 인증(그누보드 OTP 플러그인) 적용\n- 가능하면 `G5_ADMIN_DIR` 변경으로 경로 변경","reference":[],"seq":2},{"id":"01M5BVFSMPFVEZRQSXC2F7RKPQ","scan_id":"01M5BVFHYXAZMB4GCZ1HC8BYQN","check_id":"common.dir_listing","severity":"info","title":"디렉토리 목록 노출 없음 (9개 경로 확인)","description":"확인한 경로 모두 디렉토리 인덱스를 반환하지 않았습니다.","evidence":[],"remediation":"","reference":[],"seq":3},{"id":"01M5BVFZYX7WG0TTEBTEPD8B9D","scan_id":"01M5BVFHYXAZMB4GCZ1HC8BYQN","check_id":"common.sensitive_files","severity":"info","title":"민감 파일 노출 없음 (15개 경로 확인)","description":"확인한 백업·설정·VCS 경로 모두 접근되지 않았습니다.","evidence":[],"remediation":"","reference":[],"seq":4},{"id":"01M5BVG0DKY0QGJ4VBV9PRHCS7","scan_id":"01M5BVFHYXAZMB4GCZ1HC8BYQN","check_id":"common.injected_content","severity":"info","title":"악성 삽입 흔적 없음 (2개 페이지 확인)","description":"외부 스크립트 허용목록 외 도메인, 숨김 링크 모음, 불법 키워드, 난독화 스크립트 패턴이 발견되지 않았습니다.","evidence":[],"remediation":"","reference":[],"seq":5},{"id":"01M5BVG1QZZTEAMRBQBX0NJVA8","scan_id":"01M5BVFHYXAZMB4GCZ1HC8BYQN","check_id":"gnuboard.extend_plugins","severity":"info","title":"CHEditor 5 에디터 확인 (v5.1.3)","description":"/plugin/editor/cheditor5/cheditor.js 가 응답합니다. 에디터는 코어 업데이트와 함께 갱신됩니다.","evidence":[{"url":"https://scandia.aidia.co.kr/demo-target/safe/plugin/editor/cheditor5/cheditor.js","error":null,"status":200,"snippet":"editor js 200"}],"remediation":"","reference":[],"seq":6},{"id":"01M5BVG2C81SGXTD5TTYQ0T25X","scan_id":"01M5BVFHYXAZMB4GCZ1HC8BYQN","check_id":"common.tls_headers","severity":"info","title":"HTTP → HTTPS 리다이렉트 적용","description":"http://scandia.aidia.co.kr/ 가 301로 https://scandia.aidia.co.kr/ 에 리다이렉트됩니다.","evidence":[{"url":"http://scandia.aidia.co.kr/","error":null,"status":301,"snippet":"→ https://scandia.aidia.co.kr/"}],"remediation":"","reference":[],"seq":7},{"id":"01M5BVG2DTRFD5DE8CGW6SV5GS","scan_id":"01M5BVFHYXAZMB4GCZ1HC8BYQN","check_id":"common.tls_headers","severity":"info","title":"인증서 유효 (89일 남음)","description":"만료일: Jan 18 04:09:23 2027 GMT. 발급자: C = US, O = Let's Encrypt, CN = YE1","evidence":[{"url":"https://scandia.aidia.co.kr/","status":200,"snippet":"Subject: CN = scandia.aidia.co.kr"}],"remediation":"","reference":[],"seq":8},{"id":"01M5BVG2FNRZ1DZNH0NBF04W0E","scan_id":"01M5BVFHYXAZMB4GCZ1HC8BYQN","check_id":"common.tls_headers","severity":"low","title":"보안 헤더 미설정: Strict-Transport-Security","description":"응답에 Strict-Transport-Security 헤더가 없습니다. 클릭재킹·MIME 스니핑·다운그레이드 공격 완화 효과를 얻지 못합니다.","evidence":[{"url":"https://scandia.aidia.co.kr/","error":null,"status":200,"snippet":"응답 헤더: date, server, x-frame-options, x-content-type-options, referrer-policy, vary, content-encoding, content-length, content-type"}],"remediation":"Apache .htaccess 예시(mod_headers):\n- `Header always set Strict-Transport-Security \"max-age=31536000\"`\n- `Header always set X-Frame-Options \"SAMEORIGIN\"`\n- `Header always set X-Content-Type-Options \"nosniff\"`","reference":[],"seq":9},{"id":"01M5BVG2MW0BD69M886S5V9Y40","scan_id":"01M5BVFHYXAZMB4GCZ1HC8BYQN","check_id":"common.server_info","severity":"info","title":"서버 버전 정보 비노출","description":"Server/X-Powered-By 헤더에 버전 정보가 없습니다.","evidence":[],"remediation":"","reference":[],"seq":10}]}