-
[취약점분석] dbfile.co.kr Cookie 취약점0x04 Security/vulnerabilities 2010. 10. 28. 10:45
=============================================
dbfile.co.kr Cookie Vulnerability
by j0ker
=============================================
DBfile 사이트는 웹하드방식의 사이트이다.
그러나 이사이트에는 쿠키인증취약점이 숨어있다.
쿠키값을 보게되면 다음과같다.
=============== [ View Cookie ] =================
ID : test 인경우
① 36478754c7023054f291ec39b489451c=WW0xYWNHSkhWVDA9
② 046dd99d5c62a46485c88ba0022a8fa7=WW0xYWNHSkhWVDA9
③ 07099283cfc31f2d473bf5b4628ab3a6=WW0xYWNHSkhWakJhV0U0dw%3D%3D
_dwiF=d-Dg2|d|-|-|-|-|-|-|-|-|-|-|
_dwiV=d-Dg212|1267102364|319|4|
_dwiC=d-Dg212|45752ef8|1267102045|1267102045|1267102045|1|
_dwiN=d-Dg2
PHPSESSID=885473327ec1181b33d4f57027313545
===============================================
이 쿠키값을 보자면 다음과 같다.
① base64 방식으로 "nfile"이라는 문자열을 3번 Encode② base64 방식으로 "nfile"이라는 문자열을 3번 Encode③ 사용자의 세션 = "nfile"+"사용자의아이디" 를 3번 Encode
이런패턴으로 정의가 되는것을 알수가있다.
이 패턴을 이용한 PHP Source는 다음과 같다.
=========[Code 분석]============
1. PHP세션을 세팅한다.2. dbfile 게시판주소로 소켓을 열어 접속을 시도한다.3. 게시판 에있는 회원아이디 목록을 파싱한다.4. 파싱한 아이디의 갯수만큼 for문을 돌면서 정액제인지 아닌지 체크한다.5. 만약 정액제 방식의 아이디라면 idEncode함수를 거쳐 아이디를 반환해준다.
=======================================
해결방안.이러한 인증방식을 이용한다는것이 참 위험한거같다.이러한 인증방식을 사용하려면 복호화가 가능한 base64가 아닌md5방식이나 다른 암호화 방식을 사용하는게 더 안전하지 않을까 생각해본다.
현재 위의 방법은 패치 되었으므로 현재는 먹히지 않는 방법입니다.