전체 글 (19) 썸네일형 리스트형 XSS / CSRF CSRF 이론 실습 1. 이미지를 불러오는 img 태그 사용 2. 웹 페이지에 입력된 양식을 전송하는 form 태그를 사용 HTML Javascript /* 새 창 띄우기 */ window.open('http://bank.dreamhack.io/sendmoney?to=dreamhack&amount=1337'); /* 현재 창 주소 옮기기 */ location.href = 'http://bank.dreamhack.io/sendmoney?to=dreamhack&amount=1337'; location.replace('http://bank.dreamhack.io/sendmoney?to=dreamhack&amount=1337'); Web) Dreamhack Wargame: SQL Injection Write-UP SQL 쿼리문을 조작하여 데이터베이스 안의 값을 알아내야하는 문제이다. 1. 로그인을 우회하여 푸는 법 // userid와 userpassword를 이용자에게 입력받고, 동적으로 쿼리문을 생성한 뒤 query_db 함수에서 SQLite에 질의합니다. 이렇게 동적으로 생성한 쿼리를 RawQuery라고 합니다. RawQuery를 생성할 때, 이용자의 입력값이 쿼리문에 포함되면 SQL Injection 취약점에 노출될 수 있습니다. 이용자의 입력값을 검사하는 과정이 없기 때문에 임의의 쿼리문을 userid 또는 userpassword에 삽입해 SQL Injection 공격을 수행할 수 있습니다. // 위 부분이 아직 완벽히 이해가 되지는 않지만, 간단히 정리해보자면 1. userid와 userpassword를.. Web) Dreamhack Wargame: Cookie Write-UP 쿠키로 인증 상태를 관리하고 있으므로 개발자 툴에서 쿠키를 수정하여 접근할 수 있을 것 같다. End Point: / Index request.cookies.get()을 통해 이용자가 전송한 쿠키의 username 입력값 가져옴 username이 'admin'일 경우 FLAG 출력 End Point: /login Login guest 계정의 비밀번호: guest, admin은 FLAG가 비밀번호로 설정됨 페이지에서 앞서 봤던 guest 계정으로 로그인을 시도하면 "Hello guest, you are not admin"이 출력된다. 여기서 쿠키를 조작해보자 쿠키의 value 값을 admin으로 조작하면 FLAG를 얻을 수 있다. 이전 1 2 3 4 5 6 7 다음