[인터넷보안] 11주차 XSS, Cross-Site 공격 및 소스 코드 취약점

행복한 콩🌳·2022년 5월 15일
0

인터넷 보안

목록 보기
12/12

1차시 XSS의 개요

웹 애플리케이션(web application)
웹 애플리케이션 또는 웹 앱은 인터넷이나 인트라넷을 통해 웹 브라우저에서 이용할 수 있는 응용 소프트웨어를 말함 [위키백과]
서버(Server)
정보나 서비스를 제공하는 컴퓨터 시스템을 말함
클라이언트(Client)
서버에게 정보나 서비스의 사용을 요구하는 사용자가 사용하는 시스템을 말함
CSS(Cascading Style Sheets)
문서의 전반적인 스타일을 미리 저장해 둔 스타일 시트

XSS의 기본원리
악성코드를 메일이나 웹 애플리케이션에 포함시켜 이를 실행하는 사용자의 정보를 유출시키는 방법이다.
쿠키

  • 94년 넷스케이프가 처음 사용
  • 사용자와 웹 사이트를 연결하는 정보 저장
  • 개인에 대한 웹 또는 웹 애플리케이션 승인 정보를 포함하는 텍스트 형태의 파일이다.
    XSS 공격 개요
    단계1. 사용자의 웹사이트 방문으로 쿠키 생성
    단계2. 웹 서버 접근시 사용자 컴퓨터의 쿠키가 웹서버로 전송
    이를 악의 사용자에게 전송되도록 하는 코드를 삽입

2차시 Cross-Site 공격

XSS(Cross Site Scripting)
게시판, 웹 메일 등에 삽입된 악의적인 스크립트에 의해 페이지가 깨지거나 다른 사용자의 사용을 방해하거나 쿠키 및 기타 개인 정보를 특정 사이트로 전송시키는 공격
픽셀(pixel)
컴퓨터 디스플레이 또는 컴퓨터 이미지를 구성하고 있는 최소 단위의 점

XSS 실습1-stored XSS 실습
XSS 실습2-reflected XSS 실습
CSRF 실습3
피해자가 인지하지 못하는 상태에서 피해자의 브라우저가 특정 사이트에 강제적인 Request를 보내도록 하는 기법

3차시 소스 코드 취약점 유형

확장자

  • 파일 종류를 구별하기 위하여 파일명의 마침표 뒤에 붙이는 문자
  • 예를 들어, 파일명 'aaa.hwp'에서 'hwp'
    jsp(java server page)
  • 자바로 구성된 서버 페이지
  • 서버에서 수행된 jsp 결과는 사용자의 컴퓨터로 html으로 수행됨
    소스코드(Source Code)
  • 프로그램을 구성하고 있는 논리적인 흐름을 프로그래밍 언어로 작성한 문자열의 집합
  • 이 소스코드를 해당 언어의 번역기로 번역하여 만든 것이 프로그램

소스 코드 취약점 분석 방법

  • Black Box Testing : 웹 애플리케이션 외부 인터페이스나 구조 분석으로 취약점 발견하는 방식

  • White Box Testing : 개발된 소스 코드를 분석하여 코딩 상의 취약점을 찾는 방식

  • Gray Box Testing : Black Box Testing과 White Box Testing의 장점을 혼합
    소스 코드 취약점 실습

  • 행정안전부의 소프트웨어 개발 보안 가이드와 OWASP Top 10의 비교 :
    소프트웨어 개발 보안 가이드의 ‘입력 데이터 검증 및 표현’, ‘보안 기능’에 매핑

  • 입력 값 검증 취약점으로 가능한 공격들 :
    SQL 삽입, 크로스 사이트 스크립트, 위험한 형식의 파일 업로드, 디렉토리 경로 조작 등

  • 실습 : SQL 인젝션, XSS, 위험한 형식의 파일 업로드

profile
매일매일 조금씩 모여 숲이 되자🐣

0개의 댓글