본문 바로가기

보안19

Chapter 10. XSS 요청 변조(CSRF) 공격 Chapter 10. XSS 요청 변조(CSRF) 공격 CSRF 공격 개요 - CSRF의 취약점의 공격 방법은 공격자가 피싱을 이용하여 공격 대상이 링크에 정상적인 접속하도록 하여 웹사이트의 어떤 기능을 실행하게 하는 것 CSRF 공격 실습 - DVWA -> Vulnerability: CSRF에 패스워드 값으로 test 입력했을 때 버프수트에 잡히는 내역 - 사용자가 로그인되어 있을 때에는 웹 페이지를 요청할 때마다 쿠키가 웹 브라우저에 의해 자동으로 전달됨 -> 로그인된 웹 사이트의 링크를 누르게 만들면 쿠키를 전달시킬 수 있음 - 어떤 정보를 변경하는 요청 메시지에 쿠키 이외에는 랜덤한 값이 없으면 CSRF에 취약할 수 있음 - 1번 부분에서는 요청 url과 파라미터가 똑같이 구성되어 있고, 2번 부.. 2019. 3. 1.
Chapter 09. XSS 공격 Chapter 09. XSS 공격 - 서버의 취약점을 이용하여 자바스크립트로 클라이언트 공격(ex: 쿠키 탈취) - 삽입한 코드가 언제 실행되는지에 따라 reflected 공격과 stored 공격으로 구분 가능 리플렉티드 XSS 공격 개요 - 요청 메시지에 입력된 스크립트 코드가 즉시 응답 메시지를 통해 출력되는 취약점, 주로 게시판에 글을 남기거나 이메일 피싱을 이용하여 악의적인 스크립트 코드가 담긴 요청을 사용자가 실행하도록 만듦 리플렉티드 XSS 공격 실습 - 빈 칸에 입력된 이름이 바로 출력됨 - 웹 애플리케이션이 사용자가 입력한 값을 그대로 출력하는 경우 리플렉티드 XSS가 존재할 가능성이 높음, 이를 테스트하기 위하여 스크립트 태그를 사용 - 쿠키를 출력하는 자바스크립트 - 공격자의 웹 서버에.. 2019. 3. 1.
Chapter 08. Command 인젝션 공격 Chapter 08. Command 인젝션 공격 커맨드 인젝션 공격 개요 - 웹 요청 메시지에 임의의 시스템 명령어를 삽입하고 전송하여 웹 서버에서 해당 명령어를 실행하는 것 ping x.x.x.x; cat /etc/passwd - 세미콜론을 이용한 추가 명령 실행, etc/passwd 파일은 리눅스 사용자 목록이 들어있는 파일 커맨드 인젝션 공격 실습 - 웹 요청 메시지에 임의의 시스템 명령어를 삽입하고 전송하여 웹 서버에서 해당 - 2의 경우 시스템 명령어를 내리는 함수임, target 변수는 1의 ip임(‘-c’ 옵션은 핑 몇 번 떄릴지 설정하는 것임) - ping -c 4 127.0.0.1; ls를 실행하면 디렉토리 내용이 출력됨 - ping 명령어 결과가 표시되는 게 아니라 디렉토리가 출력됨 ;.. 2019. 2. 28.
Chapter 07. SQL 인젝션 공격 Chapter 07. SQL 인젝션 공격 SQL 인젝션 공격 개요 - 웹 서버 영역의 DB로 전송되는 SQL 쿼리문을 사용자가 임의로 조작할 수 있는 경우 발생 1 WHERE 구문을 우회하여 공격 $id = $_REQUEST[ ‘id’ ]; $query = “SELECT name, email FROM users WHERE id = ‘ $id ’;”; - 위 예제의 경우 사용자가 입력한 id 파라미터 값($id)이 쿼리문의 일부로 사용되고 있음, 이때 사용자가 id값으로 1’ or ‘1’=’1을 입력하게 되면 id = ‘1’ 항상 참이 되어 모든 사용자의 이름과 이메일이 공격자에게 전달됨 2 UNION 구문을 이용한 공격 SELECT name, email FROM users WHERE ID=’1’ UNIO.. 2019. 2. 28.