본문 바로가기

화이트 해커가 되기 위한 8가지 웹 해킹 기술

(6)
6주차 XXS(크로스사이트스크립팅) 공격 XXS 공격 크로스사이트스크립팅 공격 자바스크립트와 밀접한 관련이 있음 자바스크립트: 웹 어플리케이션을 개발할 때 사용하는 언어 (HTML- 정적, 자바스크립트- 동적) -> document.cookie로 쿠키를 읽고, document.location로 외부 사이트로 전달 가능 -> src를 이용해 외부의 자바스크립트를 페이지에 삽입해 실행할 수 있음 스크립트 코드를 취약한 웹 어플리케이션을 통해 사용자에게 전달하여, 클라이언트 쪽 웹브라우저를 공격 스크립트 코드를 삽입하여 다른 사용자 브라우저에서 실행되도록 함 Reflected XSS 공격- 스크립트를 반사하는 공격 1. 사용자에게 세션쿠키를 빼내는 스크립트 코드를 심은 이메일 등으로 피싱 2. 사용자가 클릭하면 스크립트코드가 삽입된 요청이 웹서버로 ..
5주차 SQL인젝션 SQL 인젝션: 데이터베이스로 전송되는 SQL 쿼리문을 사용자 입력으로 조작할 수 있는 경우, 데이터베이스 내의 데이터를 변조하거나, 다른 사용자의 개인정보 등 허가되지 않은 정보에 접근하는 공격 - 웹사이트의 회원 정보 등 개인정보를 꺼낼 때 최근까지도 자주 사용하는 웹공격 ex) 2011 소니 해킹, 2015년 뽐뿌 해킹, 2015년 어나니머스 WTO 해킹 where - where구문을 공격하는 예 1. ID가 1인 사용자 정보를 요청 2. 웹 어플리케이션은 내부에 있는 데이터베이스로 SQL 쿼리문을 전송 3. 쿼리문 안에 where라는 조건문이 있고 사용자가 입력한 아이디 값이 조건으로 입력 4. 쿼리가 실행이 되면 사용자 정보가 웹어플리케이션을 통해 클라이언트에게 전송 5. 해커는 1번 과정에서 ..
4주차 파일업로드 공격 파일 업로드 공격 파일을 업로드할 수 있는 페이지에서 발생할 수 있는 공격 게시판의 첨부파일, 프로필 등에 사진을 올릴 때, SNS에 파일을 올리는 경우 악성파일(웹쉘) 업로드 웹쉘: 웹을 통해 시스템 명령어를 실행할 수 있는 웹페이지(커맨드 인젝션 공격 유사) 1. 이미지를 업로드하는 페이지에 웹쉘 업로드 2. 웹 어플리케이션이 웹쉘을 저장 3. 해커가 웹셸에 접근하면 웹쉘이 실행됨 4.해커가 웹쉘을 통해 원하는 대로 시스템 명령어를 실행할 수 있음 웹어플리케이션은 업로드된 파일이 정상파일인지 검사해야함. 실습(low)-https://github.com/secuacademy/webhacking webshell.php파일 raw 클릭 터미널에 wget으로 다운로드 dvwa에 Browser클릭. root/..
3주차 CSRF 공격, 파일 인클루젼 공격 CSRF 공격 Cross Site Request Forgery의 약자. 사이트 간 요청 위조 사용자에게 피싱을 해 링크를 누르게 하고 사용자 모르게 사이트의 어떤 기능을 실행 주로 사용자 패스워드 변경을 하는데 사용. 피싱은 사회공학 기법 중 하나로 이메일이나 게시판 등을 이용해서 사람들을 낚음. 1. 사용자가 정상 접속 로그인 2. 사용자가 로그인 되어있는 동안 해커가 이메일을 보내 피싱 시도 3. 사용자가 링크를 클릭한 시점에 패스워드 변경 요청이 자동으로 전송 4. 패스워드가 변경되어 해커가 변경된 패스워드로 접속함. 필수조건: 사용자가 피싱을 당하는 시점에 해당 사이트에 로그인 되어있어야 함. (세션, 쿠키 값이 자동으로 요청에 포함되기 때문) 실습(low): 요청에 change 파라미터가 전송됨..
2주차 브루트 포스 공격, 커맨드 인젝션 공격 HTTP 프록시- 클라이언트와 서버 중간에서 중개인 역할 메시지의 내용을 볼 수 있고, 내용을 수정해 보내기가 가능하다. 웹 해킹이나 보안 취약점을 찾을 때 유용하다. 버프스위트- 대표적인 HTTP 프록시 리스너 프로그램 option의 Proxy Listeners에 running을 누르면 프록시 기능 켜짐 intercept: 키면 메시지를 가로채서 내용 수정 가능. 끄면 메시지가 프록시 통과하지만 메시지가 표기되지 않음. 인터셉트를 하면 메시지가 서버로 가지 않고 묶여있는다. (HTTP는 타이머 개념이 없기 때문에 장시간 인터셉트해도 문제없음) forward를 누르면 메시지 통과, Drop을 누르면 메시지 누락됨 Target: 접속한 호스트나 url을 트리 형태로 표현 직접 방문한 것은 진하게. 간접 방..
1주차 웹 해킹 기술 탐색 보안 취약성- 정보 보안에 영향을 주는 소프트웨어 버그 정보 보안의 3요소 기밀성: 패스워드 개인정보 유출 무결성: 시스템의 변조, 바이러스 가용성: 서비스가 문제없이 운영되어야하는 것(dos공격) 해킹: 보안 취약점을 공격하는 것 해킹의 기초 단계 정보 수집- 1. 정찰 2. 스캐닝, 취약점 분석 공격(익스플로잇)- 3. 침투 포스트 익스플로잇- 4. 권한상승 5. 백도어 관리 (언제든지 접근 가능할 수 있게 만듦) 6. 흔적 지우기 웹 보안의 중요성- 웹이 일상인 시대 모바일앱도 웹과 통신 웹은 방화벽에 대해서 항상 열려있음 모의해킹의 관문 해외 다수의 버그바운티제도에 웹이 포함됨 웹 아키텍쳐 클라이언트 영역, 서버영역(로직티어(웹서버, 웹프레임워크), 데이터티어(데이터베이스)) 클라이언트가 웹 브라..