Today I Learned …

[수업] 7주차 정리 본문

Study/수업

[수업] 7주차 정리

염베리 2021. 11. 25. 21:58

* 해당 주차의 수업 내용을 정리합니다.


++ 오늘 주제 : CSRF

 

+ SQL Injection

> LoS

 

→ SQL Injection 취약점 찾는데 도움을 주지는 않습니다.

→ 필터링 우회 : 기이한 방법으로

+ SQL Injection

 

[리뷰]

- XSS (Cross-site Script) -

WHAT > 클라이언트 측 스크립트를 삽입하는 공격

 

발생 원인 > 사용자 입력값(파라미터)을 검증 X

 

* 3가지

Stored

Reflected

DOM Based

 

POST ~~~

~~

~~~

id=normaltic&passwd=1234

 

XML형식인 경우 → GET으로 변환 불가

XML 예시)

<user>
    <id>
    	normaltic
    </id>
    <passwd>
    	1234
    </passwd>
</user>

 

* 대응방안

> HTML 특수문자 → HTML Entity

 

1. HTML 특수문자 → HTML Entity

2. White List 기반

3. Black List → 악성 이벤트


* 모의해킹 팀 조직 문화 : 개인 플레이

1. 젊다. 팀장님 30대...

2. 나 혼자다. 케어해줄 사람 전혀 없음.

3. 회식 X (1년 1번)

 

- 사람 : 자존심, 컴퓨터, 혼자

- 나는 업무를 배우고자 왔는데, 아무도 안알려준다.

- 좋은 멘토

- 나쁜 유혹 : 있을 수 있다! → 커리어 끝난다고 생각해야함

- 도덕 마지노선 : 100억ㅎ


* CSRF

> 스크립팅 공격이 가능하다는 전제에 가능

> 피싱을 활용한 공격

> 패스워드 변경

> 이용자의 요청을 위변조한다.

 

- XSS와는 별개의 취약점(클라이언트 측 공격)

- CSRF 취약점(서버 측 공격)

- 두 공격 모두 사용자를 공격한다.

- 페이로드가 클라에서 실행되느냐 서버에서 실행되느냐의 차이.

- 이용자가 특정 요청을 하게 만드는! (이용자의 세션을 도용하여)

 

EX)

"나 비밀번호 1234로 바꿔주세요!"

 

* 취약점 발생 이유

> 해당 요청을 하는 사용자의 인증이 없기 때문

 

* 발생 가능 위치

> WEB 서비스 요청 모든 곳

> 인증 정보가 없다면!

 

관리자님!

아래 사이트 좀 확인해주세요...

 

http://[서버주소]/csrf/?passwd=aaaa&confirm=aaaa&submit=submit

shorturl.at/ptBP7 (URL SHORT)

 

* 컨설턴트의 관점(주관)

- 비밀번호 변경 (인증 정보) → 누가 보나 취약

- 댓글 작성, 게시글 작성 → 악의적으로 사용될 수 있는가? 주관에 따라 취약점인지 아닌지 판단함

 

* CSRF 공격/방어

1. GET Method

CSRF 취약점 요청이 GET

GET 방식으로 URL

 

-- 링크 클릭 : 사회공학기법

http://[서버주소]/crtf/?passwd=aaaa

 

-- <img src="http://[서버주소]/crtf/?passwd=aaaa">

XSS, CSRF

 

→ POST

 

2. POST Method

→ FORM 태그

→ Burp Suite 홈페이지에서 시뮬레이션 가능 (Web Security Academy)

 

<form action="http://[서버주소]/csrf/" method="POST">

    <input type="hidden" name="passwd" value="aaaa">

    <input type="hidden" name="confirm" value="aaaa">

    <input type="hidden" name="submit" value="submit">

    <input type="submit" value="Click Me">

</form>

 

버튼 클릭 유도 = 사회공학기법의 영역

버튼 클릭 없이 들어가기만 해도 공격이 이루어지도록 XSS를 연계한다.

 

→ 공격 자동화 (XSS)

→ Stealth 공격 자동화 (XSS)

예시는 아래와 같다.

 

<iframe width="0" height="0" border="0" name="stealthframe" id="stealthframe" style="display: none;"></iframe>

<form action="http://[서버주소]/csrf/" method="POST" target="stealthframe">

    <input type="hidden" name="email" value="normaltic@naver.com">

</form>

<script>

    document.forms[0].submit();

</script>

 

3. 토큰 : 인증 수단 추가

일회용 정보

CSRF 토큰 → 막을 수 있다??

 

우회 가능할 수 있다.

→ XSS 취약점이 있다면

 

이때,

SOP, CORS policy (Cross-origin Resource Sharing) 에 걸리거나

xframe, iframe 접근에 문제 발생 가능

→ 이런 경우는 우회 어려움


** 과제

> 게시판

CSRF 취약점 찾아보기 → 보고서에 넣기

- 비밀번호 변경

- 게시글 작성

'Study > 수업' 카테고리의 다른 글

[수업] 9주차 정리  (0) 2021.12.09
[수업] 8주차 정리  (0) 2021.12.02
[수업] 6주차 정리  (0) 2021.11.18
[수업] 5주차 정리  (0) 2021.11.18
[수업] 4주차 정리  (0) 2021.11.04
프로필사진
berry
FE Developer, loves React & better DX
Comments