본문 바로가기
반응형

WEB HACKING/웹 해킹[이론]15

인증, 인가 취약점 인증과 인가 취약점은 말 그대로 인증과 인가가 불충분해서 발생하는 취약점이다. 인증과 인가의 개념과 대응방안에 대해 알아보자. ① 인증(Authentication) 인증은 자신이 A라고 주장하는 사람이 실제로 A가 맞는지 확인하는 과정으로 로그인 인증, 본인 인증, 휴대전화 인증, 카드 인증 등을 예시로 들 수 있다. 인증이 불충분하다면, 사용자를 식별하는 과정에서 우회나 변조가 발생할 수 있다. 인증 우회는 대표적으로 XSS을 통한 세션을 탈취나 중간자 공격(MITM : Man In The Middle attack)을 통해 발생할 수 있다. [대응방안] 만약 개인정보를 확인할 수 있는 페이지에서 인증 프로세스가 제대로 구현되지 않는다면, 세션을 탈취하는 것만으로 개인정보에 접근하거나 정보를 수정할 수 .. 2021. 12. 26.
File Download 공격 ① 파일 다운로드 취약점이란? File Download 취약점은 파일 다운로드 시 사용자로부터 특정 파일 정보를 입력받지만 이 입력값을 검증하지 않을 경우에 발생할 수 있는 취약점이다. fileOpen('/upload/' + $_GET['fileName']); 위와 같이 경로와 이름을 통해 특정 파일에 접근해서 다운로드를 하는데, 이 값들을 조작한다면 임의의 파일을 다운로드할 수 있게 된다. 파일 다운로드 취약점은 파일 업로드 취약점과 공격 방식도, 대응 방안도 비슷하다. 우선 공격 대상 서버에 있는 파일을 불러오는 LFI와 비교를 해보자. LFI는 파일 경로를 조작하여 해당 서버에 있는 파일을 확인하는 공격이었는데, /etc/passwd 같은 파일이 아닌 php 코드는 include가 파일을 실행해버리.. 2021. 12. 21.
File Upload 공격(3) 두 차례에 걸쳐 File Upload 공격과 몇 가지 대응 방안의 우회 방안까지 알아보았다. 마지막으로, File Upload 공격에 대한 추가적인 내용과 LFI, RFI 그리고 근본적인 대응 방안에 대해 알아보자. ⓛ 만약 파일 업로드 기능이 없다면? 웹 페이지에 파일 업로드 기능이 없다면 File Upload 공격을 사용할 수 있을까? 결론부터 말하자면, 웹에서 해당 기능을 제공하고 있지 않더라도, 업로드 공격을 할 수 있는 방법이 있다. 웹 디렉토리 및 파일을 스캔하는 도구인 dirbuster를 사용하면 웹 서버에서 사용하고 있는 파일 이름을 찾을 수 있다. 일반적으로 로그인 페이지는 login.php, 게시판 페이지는 board.php로 이름 짓듯이, 사람들이 사용할 법한 이름을 리스트로 만들어둔.. 2021. 12. 18.
File Upload 공격(2) 저번 포스팅에서는 File Upload의 개념과 공격을 위해 필요한 경로 파악하는 법에 대해 알아보았다. 이번에는 File Upload 공격을 막을 수 있다고 알려진 대응 방안의 우회 방안에 대해 알아볼 것이다. ① 파일 유형(Content-Type) 서버는 파일을 주고받을 때 MIME(Multipurpose Internet Mail Extensions) Type으로 파일의 종류를 확인한다. 따라서 이 MIME-Type의 Content-Type을 확인해서 image/jpeg등인 경우에만 업로드할 수 있도록 만들 수 있다. [우회 방안] BurpSuite으로 패킷을 확인해보면 위와 같이 img를 업로드했을 때는 Content-Type : image/jpeg이지만 php 파일을 업로드하면 Content-Ty.. 2021. 12. 12.
File Upload 공격 파일 업로드는 공격자가 원하는 임의의 파일을 업로드할 수 있는 취약점이다. 사용자가 올린 파일을 검증하지 않고 모두 서버에 저장하기 때문에 발생하며, 공격자는 이 점을 이용하여 악성 파일을 업로드할 수 있다. ① 공격 시나리오 1) 서버 측 실행 파일 업로드 만일 서버에서 파일 업로드 기능에 대해 아무런 검증을 하지 않는다면, web shell과 같은 서버 측 백도어 파일을 업로드할 수 있다. 파일 업로드 기능을 활용한 가장 대표적인 공격으로, 시스템 명령을 수행해서 쉘을 획득하는 공격이 있다. 2) 피싱 사이트 악성 코드를 업로드하여 시스템 명령을 수행하는 것 외에도, 서버 측 Html 파일을 업로드하여 피싱 사이트를 만들 수도 있다. 사용자는 자신이 접속한 사이트에서 응답받은 페이지이기 때문에, 큰 .. 2021. 12. 11.
CSRF : Cross-Site Request Forgery 이번 포스팅에서는 CSRF의 개념에 대해 알아볼 것이다. CSRF 공격은 XSS 취약점을 활용하면 효과가 더 극대화되기 때문에 자주 연계되지만, 개념 측면에서는 둘은 서로 무관한 공격이다. ① CSRF란? CSRF는 이용자의 세션 정보를 가지고 이용자가 원치 않는 요청을 하게 만드는 공격이다. 사용자의 요청을 중간에 위조하는 것이 아니라, 사용자인 척을 하고 요청을 보내는 것이다. 흔한 오해(?) 중 하나로 XSS는 클라이언트 측 공격, CSRF는 서버 측 공격이라는 개념이 있는데 페이로드가 실행되는 곳에 차이가 있을 뿐, 둘 다 이용자를 공격하는 취약점이다. ② CSRF 발생원인 CSRF 취약점의 근본적인 원인은, 서버가 요청자를 구분하지 못하기 때문이다. 달리 말하면 요청을 하는 사용자에 인증 과정을.. 2021. 11. 26.