WEBHACKING/Beebox

Part 8. 크로스 사이트 요청 변조

#22. 비밀번호 변경/ 비밀번호 힌트 변경/ 계좌이체

* 크로스 사이트 요청 변조 (Cross-site Request Forgery)

- 공격자에 의해 사용자가 의도하지 않은 악의적인 행위를 서버에 요청

- 공격자가 입력한 악의적인 스크립트 코드에 접근

- 웹 서버는 변조된 요청에 응답

- 사용자가 공격의 매개물로 공격자를 대신하여 악의적인 요청을 전송.

 

공격 방식 : 공격자가 백그라운드에서 실행되는 악의적인 스크립트 코드를 게시물에 등록하고, 사용자가 게시물에 접근하면 악성 스크립트 코드가 실행된다.

 

# xss 는 유저 자체를 공격하지만, crsf는 서버에 공격을 전달하는 점이 다르다 => 유저는 공격의 수단이 된다.

 

1) csrf (change password)

-비밀번호를 바꿔보고, burpsuite에 잡힌 내용을 확인해본다.=> 확인할 수 있는 세 개의 변수만 이용하면 비밀번호를 바꿔볼수가 있다.

- Blog에서 burpsuite 에 잡힌 url을 게시물을 통해 바뀐 패스워드를 서버로 전송한다.

- sql injection login form에서 패스워드가 바뀌었는지 확인이 가능하다.

=> 정상적으로 패스워드가 바뀌었음을 확인할 수 있다. (악의적인 요청을 전달하는 것도 가능하다.)

 

2) csrf (change secret)

-secret을 하나 전송하고, burpsuite에 잡힌 내용을 확인한다.=> 역시 변수들을 확인할 수 있다. 역시 1번과 동일하게 blogurl을 전송하면 악의적인 게시물을 올릴 수 있다.

=> login form에서 바뀐 secret을 확인 할 수 있다.

 

=> 보안 레벨에 따라서 방어하는 방법이 달라짐을 확인할 수 있다.

 

3) csrf (transfer account)

계좌 정보를 입력하고, url을 역시 블로그에 게시한다. 전송되는 횟수에 따라서 계좌의 돈이 계속 바뀌게 된다. => 돈을 늘리고 줄이는 것 둘 다 가능하다.