반응형
이 글은 "웹 애플리케이션 보안 - 정찰, 공격, 방어 세 단계로 배우는 웹 애플리케이션 보안의 모든 것"을 읽고 공부한 내용을 정리한 글입니다.
서드파티 의존성 식별
웹 앱은 자체 개발 코드만으로 이루어지지 않는다. 다른 사람(서드 파티)이 제공하는 외부 코드도 포함한다.
이러한 서드파티 의존성(모듈 간의 협력)을 유심히 살펴보면 공격 경로로 활용할 수 있다.
클라이언트 측 프레임워크 검출
복잡한 UI를 직접 구축하기보다는 jQuery, Bootstrap 등의 프레임워크를 사용할 때가 많다.
SPA 프레임워크
EmberJs, 앵귤러JS, 리액트, 뷰JS 등의 SPA 프레임워크는 저마다 DOM 요소를 관리하는 특별한 구문이 있다.
글로벌 객체를 가지고 있는 경우가 많아 버전을 쉽게 알아낼 수 있다.
JS 라이브러리
자바스크립트 라이브러리는 네임스페이스 관리를 위해 최상위 글로벌 객체를 사용하는 경우가 많다.
Underscore, Lodash는 밑줄, '$' 등을 통해 글로벌 객체를 노출한다.
querySelectorAll 함수를 사용하면 서드파티 스크립트의 목록을 빠르게 찾아낼 수 있다.
document.querySelectorAll('script').forEach(script => {
console.log(script.src);
});
비슷하게 CSS 라이브러리도 검출할 수 있다.
서버 측 프레임워크 검출
서버의 서드파티를 찾아내기는 어렵지만, 널리 사용되는 패키지의 종류가 많지 않다. 이런 방법을 기억해둔다면 상당수의 프레임워크를 찾아낼 수 있다.
개발자가 따로 설정하지 않았다면, 디폴트 오류 메시지와 디폴트 404 페이지가 출력될 것이다. 이러한 디폴트 페이지는 상당히 많은 정보를 찾을 수 있다.
해당 페이지의 변경 이력을 확인했는데, "2020년, A 삭제"와 같은 이력을 발견했다고 하자. 만약 특정 404 페이지에서 A가 발견되었다면 이전 버전을 사용하고 있음을 알 수 있게 된다.
반응형
'보안 > 웹해킹' 카테고리의 다른 글
웹 애플리케이션 정찰 - API 분석 (0) | 2023.05.13 |
---|---|
웹 애플리케이션 정찰 - 서브도메인 찾기 (0) | 2023.05.11 |
VM ware, Kali Linux, DVWA로 웹해킹 환경 구축하기 (0) | 2022.10.26 |