본문 바로가기

REVERSING

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

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


특이하게 리오레는 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 기준으로 작성된 취약점입니다.

  • mkUltra 2012.07.19 17:43

    lol에서 대전상대의 실제 계정명을 볼수 있는 방법은 없나요?

    • devflow 2012.07.19 19:00 신고

      있을겁니다.. 아니 확실히 모든플레이어의 아이디가 제가 확인한거 같구요.. 방법은 찾아보시면될겁니다.

  • deep 2012.12.04 15:42

    제가 현제 lol 랭겜 접속시 대전상대와 같은팀원들의 랭겜점수와 레이팅점수를 얻는 프로그램을 만들고싶은데요

    케릭선택창 화면에서 각 소환사들 아이디를 얻어올수있는 방법을 몰라서 그런데
    혹시 아시는게 있으면 조언좀 부탁드려도 될까요?
    제 이메일주소는 shymoon14@naver.com 입니다.

    • akare 2012.12.05 19:04

      메모리로 읽어야할텐데, 그럴려면 리그오브레전드 이용약관 위배되어 제재를 당할 수 있습니다...

  • 아유카와 2013.01.07 09:35 신고

    좋은 내용 잘 봤습니다. 제가 안드로이드로 전적 검색 어플을 만들어 보려고 합니다. 현재 LOL에서 외부로 API를 제공 안하고 있는걸로 아는데요. 기존에 만들어진 전적 어플이나 사이트는 모두 이러한 방법으로 가져오는 것인가요?? 전적 검색을 해서 데이터를 가져오는 방법에 약간의 어드바이스 부탁 드려도 될까요. 길만 알려주시면 알아서 찾아가보겠습니다. 감사합니다.

    • devflow 2013.03.24 01:54 신고

      답변이 늦어서 죄송합니다. 지금봤네요. op.gg나 iplol.kr등 유명한 전적검색사이트를 보니, 아무래도 특정 패킷을 보내거나 받아서 정보를 받아오는듯합니다. 로그인 대기열에 따라서 내용을 불러오지 못하는점과, 최근 10게임 (이후에 남아있는것은 전검검색 서버에 저장된 DB)만 받아올 수 있다는 점에, 게임 내 정보보기를 통해 불러오는 듯합니다. 저도 자세한 내용은 모르기 때문에, 위 말한게 틀릴 수 있습니다.