1. 웹 통신 기초 1-1. 클라이언트 서버 구조 웹 클라이언트는 웹 서버에 페이지를 요청하고, 서버가 응답한 결과를 화면에 출력한다. 쉽게 말해서 요청하는 것이 클라이언트이다. 클라이언트는 브라우저(웹 애플리케이션)라고도 부른다. 웹 서버는 클라이언트로부터 요청을 받은 페이지를 찾아서 CGI를 해석하거나 수행하고, 그 결과를 html,javascript,css 등을 클라이언트에게 전송한다. 여기서도 쉽게 말해서 요청을 받아 응답을 클라이언트에게 보내는 걸 서버라고말한다. ❓ 웹에서 서버와 클라이언트 관계 - 웹에서 클라이언트는 서버에게 요청을 보내고, 서버는 그 요청을 받아 응답을 보낸다.💻 CGI(Common Gateway Interface: 공통 게이트웨이 인터페이스로 웹 서버와 프로그램을 ..
1. 취약한 패스워드 복구(PR) 2. 취약점 개요 패스워드 복구(비밀번호 찾기/재설정) 기능의 설계 또는 구현이 취약할 경우, 공격자는 이를 악용해 다른 사용자의 패스워드를 불법적으로 획득하거나 임의로 변경할 수 있다. 특히 사용자 식별 검증이 불충분하거나, 예측 가능한 인증 정보만으로 패스워드 재설정이 가능한 경우 계정 탈취(Account Takeover)로 이어질 위험이 존재하는 취약점이다. 3. 점검 결과 1) 패스워드 재설정 시 현재 비밀번호가 입력되는지 확인 2) 재설정된 패스워드를 인증된 사용자 메일이나 SMS로 전송하는지 확인 ※ 패스워드 복구 및 재설정 과정이 안전하게 설계되었는지 확인하는 점검✅ 패스워드를 평문으로 전송하는 경우, 중간 탈취 및 오발송 등의 위험이 존재✅ 판단 기준은 ..
1. 불충분한 인증(IA) 2. 취약점 개요 불충분한 인증은 중요정보(개인정보 변경, 계정 설정, 결제 정보 등)를 처리하는 페이지에 대해 인증 절차가 충분히 적용되지 않을 경우, 권한이 없는 사용자가 해당 페이지에 접근할 수 있는 취약점을 말하며, 이로 인해서 공격자는 정상적인 인증 과정 없이 중요정보 페이지에 직접 접근해 개인정보를 열람하거나 임의로 조작이 가능하다. 특히나 URL 직접 접근, 세션 검증 미흡, 추가 인증 절차 누락 등의 경우 해당 취약점이 쉽게 발생한다. ※ 이 취약점은 OWASP Top 10에 Broken Access control에 해당됨 3. 점검 결과1) 중요정보(개인정보 변경 등) 페이지 접근 시 재인증 여부 확인 4. 권고사항 1) 중요정보(예: 개인정보 변경 등)를 표..
1. root 계정 원격접속 제한(U-01) 2. 취약점 개요 root 계정은 시스템의 모든 자원과 기능을 관리할 수 있는 최고 권한 계정으로, root 계정의 원격 접속 제한이 미흡할 경우 무차별 대입 및 사전대입 공격에 의해 계정 탈취 위험이 증가하고, 시스템 장악 및 서비스 중단 등 심각한 보안 사고로 이어질 수 있다. 따라서 root 계정의 원격 접속을 제한하고, 일반 계정을 통한 접속 후 권한 상승(su,sudo) 방식으로 관리하도록 보안 설정을 적용하는 등 주주의가 필요하다. 3. 점검 스크립트 =========================================================#!/bin/bash SSH_CONFIG="/etc/ssh/sshd_config" 👉 SSH ..
1. 크로스사이트 스크립팅(XS) 2. 취약점 개요 크로스사이트 스크립팅은 악성 스크립트를 웹 페이지에 삽입하여, 사용자가 해당 페이지를 열람할 경우 브라우저에서 실행되는 취약점을 말한다. 이를 이용해 공격자는 세션이나 쿠키 탈취나 악성 사이트로 리다이렉트가 발생할 수 있다. 3. 진단 결과 1) 사용자 입력 값을 전달받는 애플리케이션(회원정보 변경, 게시판, 댓글, 자료실 등)에 스크립트 입력 후 실행되는지 확인First name : Last name : hacked is leegyumin※ document.cookie는 브라우저에 저장 쿠키정보를 말함 - 악성 스크립트로 쿠키정보를 탈취하기 위한 시나리오 2) 게시판 페이지를 포함한 웹 인터페이스에서 사용자 의도와 무관하게 악성 프로그램이 강제 ..
1. 약한 문자열 강도(BF) 2. 취약점 개요 약한 문자열(패스워드) 강도 취약점은 웹 사이트에서 복잡도 검증이 미흡한 패스워드를 허용할 경우 발생하는 취약점을 말하며, 공격자는 추측 가능하거나 주변 정보를 기반으로 생성한 사전 파일을 이용해 무차별 대입(Brute Force)나 사전 공격(Dictionary Attack)을 수행하여 사용자 계정을 탈취할 수 있는 취약점이다. 탈취한 계정을 통해서 개인정보 유출, 권한 오남용, 추가적인 내부 시스템 공격 등으로 2차 피해로 확산될 수 있다. ※ 사전 공격(Dictionary Attack) : 사전 공격은 가능성 높은 문자열을 파일로 만들어 아이디나 패스워드를 대입 시도하는 공격 기법 👍무차별 대입 공격은 가능한 모든 문자열 조합을 순차적으로 생성..