[급] 그누보드 관련된 ..황당하네요;; > 그누3질답

그누3질답

[급] 그누보드 관련된 ..황당하네요;; 정보

그누보드 [급] 그누보드 관련된 ..황당하네요;;

본문

아시는분은 꼭 답변좀 부탁드립니다.

main에 들어간 부분입니다.
<?
if (!defined("_GNUBOARD_")) exit;
define("_DOCTYPE_", "NONE");
include "./bbs/gblayer.php";
?>
오늘 아침에 와보니 사이트가 깨져있는데..(메인 페이지가 찌그러져 있더군요;;)
다음과 같은 코드가 삽입되어 있는데 문제는 소스코드를 지울수가 없습니다.
삽입된 코드는 다음과 같습니다. 두개의 소스가 삽입되어 있습니다. 첫번째는
<script language='JavaScript'>
<!--
var dom = (document.getElementById) ? true : false;
var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;
var offX = 12;
var offY = 12;

    function gblayeraction(event, name, status)
    {
var divobj, divsts;

if (nodyn) return;
divobj = (ns4) ? document.name.document : (ie4) ? document.all[name] : (ie5||ns5) ? document.getElementById(name) : null;
divsts = (ns4) ? document.name : divobj.style;
var mouseX, mouseY, tpWd, tpHt, winWd, winHt;
mouseX = (ns4||ns5) ? event.pageX: window.event.clientX + document.body.scrollLeft;
mouseY = (ns4||ns5) ? event.pageY: window.event.clientY + document.body.scrollTop;
tpWd = (ns4) ? divobj.width: (ie4||ie5) ? divobj.clientWidth: divobj.offsetWidth;
tpHt = (ns4) ? divobj.height: (ie4||ie5) ? divobj.clientHeight: divobj.offsetHeight;
winWd = (ns4||ns5) ? window.innerWidth - 20 + window.pageXOffset: document.body.clientWidth + document.body.scrollLeft;
winHt = (ns4||ns5) ? window.innerHeight + window.pageYOffset: document.body.clientHeight + document.body.scrollTop;
if((mouseX+offX+tpWd) > winWd)
divsts.left = (ns4) ? mouseX-(tpWd+offX) : mouseX-(tpWd+offX)+"px";
else
divsts.left = (ns4) ? mouseX+offX : mouseX+offX+"px";
if((mouseY+offY+tpHt) > winHt)
divsts.top = (ns4) ? mouseY-(tpHt+offY) : mouseY-(tpHt+offY)+"px";
else
divsts.top = (ns4) ? mouseY+offY : mouseY+offY+"px";

if(ns4||ns5) {
divsts.left = mouseX - 17;
divsts.top = mouseY - 16;
} else {
divsts.posLeft = mouseX - 17;
divsts.posTop = mouseY - 16;
}

if(status=='visible') {
if(divsts) {
divsts.visibility='hidden';
}
}
divsts.visibility=status;
    }

    function gblayer(layername, id, name, email, homepage, profile, dir)
    {
        var body = "";
        var height = 0;

        if (id) {
            body += "<tr onmouseover=this.style.backgroundColor='#ffffff' onmouseout=this.style.backgroundColor='#F5F3EE'><td height=20>&nbsp;<a href=\"javascript:winopen('./?doc=bbs/mbmemoform.php&me_recv_mb_id="+id+"', 'mbmemo', 'left=50,top=50,width=516,height=400,scrollbars=1');\"><img src='image/icon_memo.gif' align=absmiddle border=0>&nbsp;쪽지보내기</a>&nbsp;&nbsp;</td></tr>";
            height += 20;
        }

       
        if (email) {
            body += "<tr onmouseover=this.style.backgroundColor='#ffffff' onmouseout=this.style.backgroundColor='#F5F3EE'><td height=20>&nbsp;<a href=\"javascript:winopen('./?doc=bbs/formmail.php&mb_id="+id+"&name="+name+"&email="+email+"', 'formmail', 'left=50,top=50,width=530,height=360,scrollbars=1');\"><img src='image/icon_mail.gif' align=absmiddle border=0>&nbsp;메일보내기</a>&nbsp;&nbsp;</td></tr>";
            height += 20;
        }

        if (homepage) {
            body += "<tr onmouseover=this.style.backgroundColor='#ffffff' onmouseout=this.style.backgroundColor='#F5F3EE'><td height=20>&nbsp;<a href=\"javascript:;\" onclick=\"window.open('"+homepage+"');\"><img src='image/icon_home.gif' align=absmiddle border=0>&nbsp;홈페이지</a>&nbsp;&nbsp;</td></tr>";
            height += 20;
        }

        if (parseInt(profile) && id) {
            body += "<tr onmouseover=this.style.backgroundColor='#ffffff' onmouseout=this.style.backgroundColor='#F5F3EE'><td height=20>&nbsp;<a href=\"javascript:winopen('./?doc=bbs/mbprofile.php&mb_id="+id+"', 'mbprofile', 'left=50,top=50,width=516,height=350,scrollbars=1');\"><img src='image/icon_profile.gif' align=absmiddle border=0>&nbsp;자기소개&nbsp;&nbsp;</td></tr>";
            height += 20;
        }

        var head = "<div id="+layername+" style='position:absolute; left:1px; top:1px; width:135px; height:"+height+"px; z-index:1; visibility: hidden'>";
        var tail = "";
        if (body) {
            head += "<table border=0 width=100%><tr><td colspan=3 height=10 onmouseover=gblayeraction(event,'"+layername+"','hidden')></td></tr><tr><td width=5 onmouseover=gblayeraction(event,'"+layername+"','hidden')></td><td bgcolor=#222222><table border=0 cellspacing=0 cellpadding=3 width=100% height=100% bgcolor=#F5F3EE>";
            tail = "</table></td><td width=10 onmouseover=gblayeraction(event,'"+layername+"','hidden')></td></tr><tr><td colspan=3 height=10 onmouseover=gblayeraction(event,'"+layername+"','hidden')></td></tr></table>";
        }
        tail += "</div>";

        document.writeln(head+body+tail);
//-->
    }
</script>

이부분과 두번째 코드는
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//--> 이렇게 두개입니다. 대충보니 레이어 관련된 부분이라서 메인에 삽입된 php코드에서
include "./bbs/gblayer.php"; 이부분을 지우니까 첫번째 코드는 사라 졌는데 두번째 코드는 남아 있습니다.

다운받아서 열어바도 숨겨진 코드를 볼수 없더군요.

해킹이라 의심가는데 서버 점검을 해바도 해킹된 흔적은 없는듯 하구요.. 답답하네요;;

일단 회사 서버에 대한 사항이므로 사이버 수사대에 의뢰할 예정이구요...장난친 사람이 한국사람이라면
왠간한건 잡히니까 장난친 대가를 치르겠죠..;;

문제는 페이지 정상화를 이루어야 하는데 대책이 없을까요?

댓글 전체

다시 글 올렸습니다. 도움 부탁드립니다. 사이트는 원래 있던(깨져 나오는) 상태로 나뒀습니다.
아무래도 재정비 할려면 저녁시간에 해야 될듯 해서요.
http://jiseo.myhomes.co.kr 에서 소스보기 하시면 제가 본문에 언급한 소스 코드가 보이실 거에요 ;;
넣지 않은 소스코드가 나옵니다.
최님께는 쪽지 보내 드렸는데 ^^; 사이트 주소는 http://jiseo.myhomes.co.kr 입니다. 또하나는 http://seoyoung.myhomes.co.kr 이구요..메인 홈인 http://www.myhomes.co.kr은 이상이 없습니다.
^^; <?
if (!defined("_GNUBOARD_")) exit;
define("_DOCTYPE_", "NONE");
include "./bbs/gblayer.php";
?> 이부분을 보여드린건 사이트 만들때 소스를 이렇게 넣었다는거구요..
여기서 본문에 쓴 안보이는 스크립 두개중 하나는 include 부분을 지우면 한개는 없어집니다. 자동으로요;;
(본분에 그렇게 썼는데 오해가 발생했습니다. 표현력이 부족해서 인듯 합니다.;;
근데 사이트는 여전히 깨져 나오죠. 지금 서버 다시 재 정비 중입니다.
제가보기엔 해킹이 아닌것 같은데... 그리고 처음 내용는 gblayer.php내용 그대로이고 두번째도 별다른 내용이 아닌게 나모나 드림위버에서 자동으로 넣은것 같은... 아마 head.php나 head.sub.php에 있을 가능성이 높을것 같습니다.
크로스사이팅 기법에 당하신듯 싶습니다.
이것두 예전에 사용자에게 글작성시 스크립권한을 줘야되는지에 대해서..
제가 질문했던적이 있던겁니다.

이것은 config.php안에  스크립트를 0으로 주어서 사용자에게
자바스크립을 사용하지 못하게 하는 식으로 제한할수있습니다.

운영자님에게 디폴트 값을 0으로 바꾸어달라고 건의했던적이 잇는데..
해당 코드로써 아마도 관련 DB패스워드가 누출될 가능성이 높으며..

그것으 누출되었다면 이미 웹으로 장악당했고 심하면 계정의 패스워드도 알고있다는 소리겠지요..

일치감치 백업본으로 기존의 싸이트는 밀어버리고,
계정 패스워드/ DB패스워드 / admin 패스워드등 기존것과는 틀리게 해서 새로 만드시고

스크립권한자체를 주지 마세요 ...
전체 9,564
그누3질답 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT