'취약점'에 해당되는 글 1건

  1. 2009.12.02 웹 투표의 취약점 (1)

Naver Perl Community & Study Cafe


2009.12.02 04:30

웹 투표의 취약점


간만에 블로그에 포스팅을 하나 하려고 하는데

오늘은 무서운 이야기 하나를 써 보려고 한다.


최근 모사에서 맥주를 광고하는데 모델을 뽑는 중인데

친구의 아는 사람이 그 모델에 지원중이라는 이야기를 들었다.


사람들에게 성명, 이메일 핸드폰 을 입력받아

서버로 전송하면 그 데이터에 따라 모델의 순위가 결정이 되는 시스템이었다.




친구놈이 이것에 내 이름을 적고

10번정도 투표해 달라고 부탁을 하길래 해주면서

이거 조작이 되는거냐고 물어보았다.


그러니 친구가 이름이나 이메일 아무거나 적어도

상관이 없다고 하는 것이다.


그리고 현재 1위가 인원을 동원해서 조작을 하고 있는것 같아 항의 했더니,

본사에 따졌더니 "조작도 팬들의 노력이다" 라는 식을 쉬쉬한다는 이야기를 들었다.



그래서 내가 도와주겠다고 한 뒤, 해당 form 을 분석하였다.

서버로 넘어가는 인자값은 hidden을 포함한 총 6개였으며,

어렵지 않게 분석할 수 있었다.



이름 리스트를 만들고,

랜덤으로 소문자를 조합하여 메일주소를 만든 후에

010으로 시작하는 핸드폰번호에 1000 ~ 9999 까지의 랜덤번호를 조합하여

해당 서버에 쏴 주는 프로그램을 만드는건 불과 30분 정도만에 완성되었다.


프로그램 언어는 perl 로 작성하였으며, perl이 아니라면 30분으로는 택도 없었을 것이라는 생각이 들었다.



새벽 4시 반부터 짰던 프로그램을 돌렸더니 5시쯤에 6위에서 5위로 상승했다.



중간은 다 생략하고, 이날 10시쯤에 확인해본 결과는

2위까지 올라간 것을 확인 할 수 있었다.



1위와도 얼마차이 안 날만큼 한달간 진행했던 투표가 무색해 지는 결과이다.



스레드를 쓰지 않고 만든 프로그램을

40개 정도 나의 컴퓨터에서 실행 시켰는데,


결국 이날 새벽에 했었던 나의 작업은

서버쪽에서 죽어버리는 사태까지 일어나 ( 겨우 한사람의 작업으로(?) )

2위까지 올라갔던 이 모델은 결국 다시 6위로 돌아가게 되었다.



그 이후로는 비정상적인 IP로 차단이 되어서

더이상 이 투표에 관여 하지 않았다. ( 뭐.. 나에겐 크게 도움되는일이 없으므로 )




아무튼, 여기까지의 내용을 정리해보자면

이는 충격적인 웹 투표의 취약점이 아닐까 싶다.

투표 자체에는 돈이 걸려있지 않은 부분이니 크게 문제 될것은 없지만,


이런 프로그램 짜는것은 보통 사람들도 손쉽게 짤 수 있을 텐데..

투표시 쿠키를 확인한다던지, 조금만 신경쓰면 될일을... 쉬쉬하는 듯한 생각이 든다.



웹 관계자들도 조금만 더 신경쓰시길.. 이만 잡소리 끝


신고
Trackback 0 Comment 1