본문 바로가기

분류 전체보기99

Chapter 11. 파일 인클루전 공격 Chapter 11. 파일 인클루전 공격 파일 인클루전 공격 개요 - 주로 PHP 애플리케이션을 대상으로 발생, PHP의 인클루드 기능(include() 함수를 사용하여 다른 파일을 소스 코드에 직접 인클루드시킬 수 있는 기능) - 호스트 내부의 파일이냐 외부 파일이냐에 따라 리모트 파일 인클루전 or 리모트 파일 인클루전으로 구분 - ../../../../../etc/passwd와 같이 여러 번 입력하여 루트 디렉토리까지 이동 가능 -> 디렉터리 트래버셜 공격 파일 인클루전 공격 실습 - bad.php 파일을 /var/www/html로 이동 - low 단계에서 file1.php를 클릭하면 url에서 page=include.php 부분을 확인할 수 있음 - 파일의 경로가 파라미터를 통해 전달되면 파일 인.. 2019. 3. 3.
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.