인증 우회 공격 인증 우회 공격은 다양한 형태가 있습니다. 예를 들어보겠습니다. (ex) admin.test.com 도메인 내 서비스를 이용할 때 서비스 내 권한은 4가지가 있습니다. Admin(관리자): 사용 가능권한은 "가 나 다 라" A(사용자): 사용 가능권한은 "가 나 다" B(사용자): 사용 가능권한은 "나 다" C(사용자): 사용 가능권한은 "가" 비인증(사용자): X => 이러한 형태의 서비스를 운영한다고 가정했을 때 다양한 인증 취약점이 발생할 수 있습니다. => A가 "라" 권한을 사용하는 경우: 서버쪽에서 사용자 권한을 올바르게 체크하지 않아서 발생하는 취약점 => C가 B의 "나,다" 권한을 사용하는 경우 => 비인증 사용자가 C의 "가" 권한을 사용하는 경우 취약점 항목 보안대책 ..
Directory traversal 공격 Directory traversal 공격은 저장된 파일을 다운로드 할 때 가장 많이 발생해서 파일 다운로드 공격이라고도 합니다. => ../는 상위 디렉토리로 이동, ./는 현재 디렉토리를 의미합니다. => ../../../../../../../../은 상위 디렉토리의 상위 디렉토리의 ...상위 디렉토리로 이동할 수 있게 되는데 결국 이런 방법으로 올라가면 최종적으로 root에 도달할 수 있습니다. => 이 경로 순회문자에 대해 검증을 하지 않으면 공격자가 root에서 다양한 공격을 실행할 수 있습니다. 취약점 설명 다운로드를 담당하는 변수 입력값에 대한 검증 부재 또는 미흡으로 웹을 통해 웹 애플리케이션의 소스파일 및 시스템 파일을 다운로드 할 수 있는 취약점 ..
악성코드 파일 업로드 취약점 설명 게시판 등에서 악성 파일 업로드에 대한 검증이 없을 경우 이를 악용하여 악성스크립트(웹쉘) 파일이 업로드 되어 원격 명령 실행, 권한 획득 등의 공격이 실행될 수 있는 보안 취약점 => 업로드 파일이 서버에 저장되고 해당 경로를 공격자가 파악할 수 있을 때 공격 가능 => 업로드 후 공격자는 해당 파일에 접근해서 원하는 행위(원격 명령 실행 등)를 수행 공격 포인트 게시판의 첨부파일 게시판 내부의 이미지 삽입박스 게시판 내부의 동영상 첨부부분 업로드 검증 로직이 존재할 경우 블랙리스트인지 화이트리스트인지 확인 환경분석을 통한 환경에 맞는 웹쉘 사용 해킹시나리오 공격자는 악성코드 파일을 업로드하고 업로드 파일의 절대 경로를 파악합니다. 악성코드 파일의 절대 경로로 접근하여..
메타문자(meta character) 메타문자는 어떤 기능에서 특별한 용도 또는 의미를 가지고 있는 문자를 뜻하며, 의미문자, 특수문자(기호)라고도 부릅니다. ex) URL에서 https://www.test.com/lab/file?name=repo&date=231215 => ? : 요청 파라미터의 시작 => = : 파라미터의 이름과 값을 구분 => & : 파라미터와 파라미터를 구분 ex) SQL문에서 select * from users where id = 'susujin' and pw = '1234' => ' '(작은따옴표) : 문자열 데이터의 시작과 끝 이스케이프 이스케이프는 의미문자에서 의미를 제거하고 문자 그 자체로 사용하고자 할 때 씁니다. 이스케이프 방법 1) 인코딩 방법을 이용해서 다른 형태로..
실습환경 구성 [Kali Linux] 애플리케이션 취약점을 점검하거나, 그 취약점을 이용한 공격을 하기 위한 도구들을 모아놓은 것입니다. 다운로드: https://www.kali.org/get-kali/#kali-virtual-machines Get Kali | Kali Linux Home of Kali Linux, an Advanced Penetration Testing Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments. www.kali.org [Bee-Box] bWAPP이 설치된 가상머신으로, 웹 애플리케이션의 취약점들을 테스트해볼 수 있도록 만들어 놓은 것입니다. 다운로드: ..
SQL Injection SQL Injection은 OWASP Injection 공격 중 한 형태로, RDBMS(관계형 데이터베이스)에서 나올 수 있는 공격입니다. => OWASP는 The Open Web Application Security Project의 약자로, 오픈소스 웹 애플리케이션 보안 프로젝트입니다. => 주로 웹에 관한 정보노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하며 10대 웹 애플리케이션의 취약점을 발표합니다. => Oracle/Mysql/MSSQL/ProstgreSQL... [SQL Injection 종류] ▷ Boolean Based SQL Injection: 쿼리 요청 시 응답 값의 참/거짓 반응을 통해 DB 결과 조회 ▷ Error Based SQL Injection..
XSS와 CSRF XSS 공격은 Cross Site Scripting의 약자로, 웹 애플리케이션에서 많이 나타나는 취약점 중 하나입니다. 공격자가 웹페이지에 악성스크립트를 삽입하는 공격입니다. [XSS 종류] ▷ Reflected XSS: 사용자(웹브라우저) -> 서버 -> 사용자(웹브라우저) => EX) 피싱메일, 스미싱링크 ▷ Stored XSS(=persistent XSS): 사용자(웹브라우저) -> 서버 -> DB -> 서버 -> 사용자(웹브라우저) => 가장 위험한 공격 => DB/서버에 악성 스크립트가 저장되기 때문에 이 데이터를 지우지 않는다면 해당 페이지를 볼 때 마다 스크립트가 실행됩니다. ▷ DOM-Based XSS: 사용자(웹브라우저) CSRF 공격은 Cross Site Request..
취약점 진단이란? 체크리스트를 기반으로 취약점을 점검하는 것을 의미합니다. 1 URL 기준 보통 2~3일 정도 소요가 되며, 사이즈가 큰 URL의 경우 1주일 또는 그 이상이 걸릴 수도 있습니다. 취약점 진단 VS 모의해킹 취약점진단과 모의해킹의 차이 : "정보를 처음부터 알고 공격하는가?" 취약점 진단 모의해킹 취약점 항목 기반으로 화이트박스 형태의 공격 수행 시나리오 기반으로 블랙박스 형태의 공격 수행 담당자 정보요청 -> 정보수령 -> 공격수행 Zero Base 시간소요가 상대적으로 작다. 시간소요가 크다 1 URL 기준 보통 2~3일 1개 서비스 기준 최소 1개월~3개월 협의 취약점 진단 과정 실습환경구성 Burp Suite 설치 Burp Suite 다운로드 : https://portswigger..