📗 self-study

    [웹 해킹 & 시큐어 코딩] 11. 교육 에필로그

    🔥 웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩 위아래 1줄씩 띄우고 중요한 부분은 볼드 효과 📍 진단자 vs 웹 개발자, 취약점에 대한 올바른 자세 👉🏻 공격자가 방어자보다 유리할 수밖에 없음 👉🏻 거부하지 말고 힘내서 같이 취약점을 보완하자 ^^... 📍 공부 방향 👉🏻 웹 해킹 기초 > 웹 해킹 응용(실무) / 웹 해킹 심화 > 웹 해킹 고급 📍 교육을 마치며 👉🏻 감사합니다 더보기 웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩 https://www.inflearn.com/course/%EC%9B%B9%ED%95%B4%ED%82%B9-%EB%B3%B4%EC%95%88-%EC%8B%9C%ED%81%90%EC%96%B4%EC%BD%94%EB%94%A9 웹..

    [웹 해킹 & 시큐어 코딩] 10. URL 접근 제한 미흡 취약점

    🔥 웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩 위아래 1줄씩 띄우고 중요한 부분은 볼드 효과 📍 URL 접근 제한 미흡 취약점이란? 👉🏻 Failure to Restrict URL Access Vulnerability 👉🏻 인증/인가된 사용자만 접근이 가능한 접근 제한이 존재하거나 존재하지만 우회가 가능함 📍 인증과 인가에 대한 이해 👉🏻 Authentication(인증): 인증된 사용자인지 확인하는 기능 (ex: 로그인 등) 👉🏻 Authorization(인가): 인증된 사용자 중 해당 페이지에 접근 가능한 사용자인지 확인 (ex: 관리자 페이지 등) 📍 공격 원리 분석 👉🏻 파라미터 변조처럼 특정한 공격 페이로드가 있는 게 아니라 해당 페이지에 '접근'만 하면 되는 것이기 ..

    [웹 해킹 & 시큐어 코딩] 09. 파라미터 변조 취약점

    🔥 웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩 위아래 1줄씩 띄우고 중요한 부분은 볼드 효과 📍 파라미터 변조 취약점이란? // 정상 요청 http://www.victim.co.kr/mypage.jsp?id=hacker // 공격 요청 http://www.victim.co.kr/mypage.jsp?id=admin 👉🏻 Parameter Tampering Vulnerability 👉🏻 공격하기가 쉽고, 공격인지 정확히 알기 어렵다는 특징이 있음 📍 공격 원리 분석 👉🏻 (취약한) 정상 동작: 사용자 요청 > Application에서 DB 조회 후 해당 컬럼 반환 > 사용자에게 출력 👉🏻 비정상 동작: 공격자의 변조 요청 > Application에서 DB 조회 후 해당 컬럼 반환 ..

    [웹 해킹 & 시큐어 코딩] 08. 파일 업로드 취약점

    🔥 웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩 위아래 1줄씩 띄우고 중요한 부분은 볼드 효과 📍 파일 업로드 취약점이란? 👉🏻 File Upload Vulnerability: 서버 사이드 스크립트에 적힌 코드가 비정상적인 파일을 업로드하여 사용자를 공격함 👉🏻 해당 공격을 당하게 되면 OS Command 공격처럼 서버에 명령어를 실행할 수 있게 됨 👉🏻 파일 업로드나 다운로드의 경우 웹 사이트에서 반드시 필요한 필수 기능에 속하기 때문에 많은 사용자가 해당 위험에 노출될 수 있음 👉🏻 방화벽이나 웹 쉘 솔루션을 통해 방어 가능 📍 공격 원리 분석 👉🏻 1) 파일 경로 + 파일 이름으로 이루어진 경로 파악 👉🏻 2) 파일 출력(File Output) 👉🏻 3) 웹 쉘 접근 및 실..

    [웹 해킹 & 시큐어 코딩] 07. 파일 다운로드 취약점

    🔥 웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩 위아래 1줄씩 띄우고 중요한 부분은 볼드 효과 📍 파일 다운로드 취약점이란? 👉🏻 File Download Vulnerability: 공격자의 공격으로 사용자가 비정상적인 파일을 다운로드 받음으로써 얻게 되는 취약점 사용자 > 인터넷 구간 > 웹 서버 > 파일 다운로드 기능 > 정상 경로/비정상 경로 정상 경로: /web/root/A/upload 비정상 경로: /etc/ 👉🏻 파일 다운로드가 가능한 경로를 특정 경로로 지정해 놓지 않았을 때 공격자가 다운로드 경로를 바꿈으로써 공격 실행함 📍 공격 원리 분석 1) /webroot/A/ --> ../../../etc/passwd 2) download.jsp의 실행 3) 서버의 다운로드..

    [웹 해킹 & 시큐어 코딩] 06. CSRF

    🔥 웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩 위아래 1줄씩 띄우고 중요한 부분은 볼드 효과 📍 CSRF란 무엇인가? 👉🏻 Cross-Site Request Forgery: 사이트간의 요청 위조 👉🏻 공격자는 스크립트를 사용하여 사용자가 의도하지 않은 요청을 전달함 (ex: 사용자 정보 수정, 탈퇴, 작성, ...) 📍 공격 원리 분석 공격자의 (패스워드 변경 스크립트가 등록된) 게시글 등록 > DB에 스크립트 저장 > 사용자의 게시글 조회 > DB 스크립트 조회 > 스크립트가 실행되며 패스워드 변경 👉🏻 사용자 공격 공격자가 (A사이트에 광고를 게시하는) 스크립트가 담긴 게시글 작성 > DB에 스크립트 저장 > 사용자의 게시글 조회 > DB 스크립트 조회 > 스크립트 실행되며..

    [웹 해킹 & 시큐어 코딩] 05. XSS

    🔥 웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩 위아래 1줄씩 띄우고 중요한 부분은 볼드 효과 📍 XSS란? 👉🏻 Cross-Site Scripting: 클라이언트 언어(HTML, CSS, Javascript)가 사용된 악의적인 스크립트 👉🏻 CSS가 이미 사용 중이므로 헷갈리지 않기 위해 XSS로 표기 👉🏻 A사이트에서 B사이트로 이동시키는(cross-site) 공격 📍 공격 대상 공격자 > /vuln.jsp?input=hello+world > 웹페이지 URL: http://www.victim.co.kr/vuln.jsp?input=hello+world hello world 👉🏻 기능적인 공격 대상 - 어플리케이션에서 어떤 공격을 진행할지 // 공격 대상이 사용자인 만큼 어플리케..

    [웹 해킹 & 시큐어 코딩] 04. XXE Injection

    🔥 웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩 위아래 1줄씩 띄우고 중요한 부분은 볼드 효과 📍 XXE Injection이란? 👉🏻 XML External Entity: XML 외부 개체 주입 👉🏻 json의 등장으로 XML 사용은 줄어든 추세이나 아직 사용하는 곳이 많아서 해당 부분도 고려해야 함 📍 공격 대상 👉🏻 XML 파서 기능이 있는 Application에서 공격을 시도함 👉🏻 해당 기능이 많지는 않으나 레거시 시스템에서는 아직 사용 중이라 해커들의 먹잇감이 되고 있음 📍 공격 원리 분석 // 정상적인 XML Parser 예시 사용자 Application XML 파서 XML // 비정상적인 XML Parser 예시 DTD를 이용한 외부개체 참조 -------------..

    [웹 해킹 & 시큐어 코딩] 03. OS Command Injection

    🔥 웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩 위아래 1줄씩 띄우고 중요한 부분은 볼드 효과 📍 OS Command Injection이란? 👉🏻 운영체제(시스템) 명령어 주입 👉🏻 원격 실행 명령어를 주입함으로써 공격자가 원하는 명령을 실행하게 함 👉🏻 서버의 중요 설정 파일 등을 조회/수정/삭제하고 서버 자체를 재실행 한다든지 치명적인 공격이 될 수 있음 📍 공격 대상 👉🏻 SQL Injection은 Application과 DB가 연결된 상태(DB Connection)에서만 공격 가능 👉🏻 OS Command Injection은 Application과 시스템 명령어가 연결된 상태에서 공격 가능 👉🏻 즉, OS Command Injection은 일반 웹사이트 중에서도 특정 관리..

    [웹 해킹 & 시큐어 코딩] 02. SQL Injection

    🔥 웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩 위아래 1줄씩 띄우고 중요한 부분은 볼드 효과 📍 SQL Injection이란 무엇인가? 👉🏻 SQL(구조화된 질의 언어) Injection(주입): 구조화된 질의 언어를 주입하는 공격 👉🏻 웹 해킹의 일등공신 📍 취약점 발생 원인 👉🏻 공격자가 SQL 구문을 주입 > 입력값 검증 없이 구문 조합 > 사용자의 입력값 + 미완성된 SQL 구문 > 완성된 SQL 구문 > DB 질의 요청 > 결과에 따른 동작 구문 String id = request.getParameter("id"); String sql = "select * from employee where id = '" + id + ""; 라는 구문에서 공격자가 id값으로 ' 1=1..