아이프레임 해제와 스트립트해제

아이프레임이 안됩니다,  q/a
/lib/common.lib.php을수정하시면 됩니다.

function bad_tag_convert($code)
{
    return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>/i", "&lt;$1$2$3&gt;", $code);
}

예))
function bad_tag_convert($code)
{
    return $code;
}
---------------------------------------------------------------------------------------
스트립트가 안됩니다  q/a
/lib/common.lib.php을수정하시면 됩니다.(주석처리)

// XSS (Cross Site Script) 막기
        // 완벽한 XSS 방지는 없다.
        // 081022 : CSRF 방지
        //$content = preg_replace("/(on)(abort|blur|change|click|dblclick|dragdrop|error|focus|keydown|keypress|keyup|load|mousedown|mousemove|mouseout|mouseover|mouseup|mouseenter|mouseleave|move|reset|resize|select|submit|unload)/i", "$1<!-- XSS Filter -->$2", $content);
        //$content = preg_replace("/(on)([^\=]+)/i", "&#111;&#110;$2", $content);
        $content = preg_replace("/(on)([a-z]+)([^a-z]*)(\=)/i", "&#111;&#110;$2$3$4", $content);
        $content = preg_replace("/(dy)(nsrc)/i", "&#100;&#121;$2", $content);
        $content = preg_replace("/(lo)(wsrc)/i", "&#108;&#111;$2", $content);
        $content = preg_replace("/(sc)(ript)/i", "&#115;&#99;$2", $content);
        $content = preg_replace("/(ex)(pression)/i", "&#101&#120;$2", $content);
       
        $content = preg_replace("/\#/", "&#35;", $content);
        $content = preg_replace("/\</", "&lt;", $content);
        $content = preg_replace("/\>/", "&gt;", $content);
        $content = preg_replace("/\(/", "&#40;", $content);
        $content = preg_replace("/\)/", "&#41;", $content);

예))
   /*
        // XSS (Cross Site Script) 막기
        // 완벽한 XSS 방지는 없다.
        // 081022 : CSRF 방지
        //$content = preg_replace("/(on)(abort|blur|change|click|dblclick|dragdrop|error|focus|keydown|keypress|keyup|load|mousedown|mousemove|mouseout|mouseover|mouseup|mouseenter|mouseleave|move|reset|resize|select|submit|unload)/i", "$1<!-- XSS Filter -->$2", $content);
        //$content = preg_replace("/(on)([^\=]+)/i", "&#111;&#110;$2", $content);
        $content = preg_replace("/(on)([a-z]+)([^a-z]*)(\=)/i", "&#111;&#110;$2$3$4", $content);
        $content = preg_replace("/(dy)(nsrc)/i", "&#100;&#121;$2", $content);
        $content = preg_replace("/(lo)(wsrc)/i", "&#108;&#111;$2", $content);
        $content = preg_replace("/(sc)(ript)/i", "&#115;&#99;$2", $content);
        $content = preg_replace("/(ex)(pression)/i", "&#101&#120;$2", $content);
       
        $content = preg_replace("/\#/", "&#35;", $content);
        $content = preg_replace("/\</", "&lt;", $content);
        $content = preg_replace("/\>/", "&gt;", $content);
        $content = preg_replace("/\(/", "&#40;", $content);
        $content = preg_replace("/\)/", "&#41;", $content);
        */

알려주신분 곱슬최씨님

|

댓글 11개

아이프레임,script 해체 할경우 홈피 해킹달할 위험이 있습니다.
아이프레임, script를 왜 막아놨는지 한번 읽어보세요. ^^

http://vbdream.tistory.com/entry/%EC%95%88%EC%A0%84%ED%95%9C-%EC%9B%B9-%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1%ED%95%98%EA%B8%B0-2-XSS-Cross-Site-Scripting
2가지중 한가지라도 해제하면, 사이트를 해킹앞에 무방비로 두는 것 입니다.
내 계정만 다치는게 아니라, 서버에 따라 다른 사람의 계정도 다칠 수 있죠.
안전한 호스팅 쓰면 괜찮지 않을까요?
iframe과 script는 root kit을 허용하는 것이라서, 다른 계정도 다칠 수 있는거고
아무리 서버가 잘 방어를 한다고 해도, 해킹툴이 새로 나오므로 서버에 있는
다른 계정들까지 모조리 다 감염될 수 있는 겁니다.

글쿠 내 계정은 db 삭제부터 이런 저런 험한 꼴을 다 당하게 될 수 있습니다.
안전한 호스팅이라도 xss/csrf에서는 지켜주지 못하므로 하면 안되는 겁니다.
아주 위험한 발상이라 할 수 있습니다.
호스팅처럼 여러 이용자가 입주하고 있는 서버에선 절대 하지 마세요.
최악의 상황이 나옵니다.
무섭네요 ㄷㄷ
배워갑니다..감사합니다..
감사합니다!!
멘트글을 읽어보니 무섭기 하지만 그쪽 홈주인이 아이프레임이 게시판에서 적용이 안된다고 적용되게 고쳐달라고 하니까 어쩔 수 없이 본문처럼 하니까 고쳐지긴 했지만 핵킹 위험이 있다고 하니 걱정이 되어서리....ㅠㅠ. 왜 그누보드 게시판에서 edmbed 영상소스를 넣으면 관리자는 볼 수 없다고 하는건지 알 수가 없네요.
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요. 나누면 즐거움이 커집니다.

+
제목 글쓴이 날짜 조회
15년 전 조회 4,889
15년 전 조회 2만
15년 전 조회 3,513
15년 전 조회 1.3만
15년 전 조회 7,388
15년 전 조회 6,378
15년 전 조회 8,485
15년 전 조회 5,417
15년 전 조회 5,786
15년 전 조회 1.3만
15년 전 조회 4,871
15년 전 조회 4,030
15년 전 조회 1.3만
15년 전 조회 3,644
15년 전 조회 9,827
15년 전 조회 4,166
15년 전 조회 8,033
15년 전 조회 7,097
15년 전 조회 3,414
15년 전 조회 5,496
🐛 버그신고