devflow.kr@:~#

리그 오브 레전드 (League of Legends) 취약점 (Exploit)

REVERSING

조금 시대가 많이 지났긴하지만 여전히 인기가많은 게임인 리그 오브 레전드의 취약점을 알아보겠다.


특이하게 리오레는 adobe air를 이용하여 서버와 통신을 하게 되면 inet 과같은 IE 설정을 그대로 사용하게 된다.


이를 이용하여 IE에서 프록시를 설정해주고,  로그인할 때 Paros로 Trap 하면 아래와 같은 내용이 나온다.


POST https://검열 HTTP/1.1

Referer: app:/LolClient.swf/[[DYNAMIC]]/8

Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, text/css, image/png, image/jpeg, image/gif;q=0.8, application/x-shockwave-flash, video/mp4;q=0.9, flv-application/octet-stream;q=0.8, video/x-flv;q=0.7, audio/mp4, application/futuresplash, */*;q=0.5

Content-Type: application/x-www-form-urlencoded

Content-Length: 47

x-flash-version: 11,1,102,58

User-Agent: Mozilla/5.0 (Windows; U; ko-KR) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/3.1


payload=user%3D아이디%2Cpassword%3D패스워드


위와 같이 https 라지만 곧바로 노출이 된다. 이를 이용하여 로그인시 아이디와 패스워드를 가져올 수 있게된다.


리오레가 설치된 폴더인 Riot Games\League of Legends KR 에서 


RADS\projects\lol_air_client_config_kr\releases\0.0.0.10\deploy라는 폴더에는


lol.properties 라는 파일이 있는데. 이 파일안에는 


계정인증과 비롯한 각종 리오레 인증서버의 주소가 저장되어있다.


여기서 서버주소인 lq_uri를 다른 서버로 바꾸어 우회해서 아이디와 비밀번호를 가져온 후, 


그대로 본서버(원래 인증서버)로 다시 연결 시켜주면 사용자 모르게 아이디와 비밀번호를 가져올 수 있다.




이글은 2012 - 6 - 20 기준으로 작성된 취약점입니다.