라이믹스/XE의 다양한 모듈, 스킨, 애드온 등의 자료를 판매해보세요.

content_count 127


설치 및 사용방법 

1) 다운로드 

soo_replace_content.zip


개요

<img>, <image>, <source>, <object>, <embed> 태그의 src 또는 href 속성을 이용한 CSRF 가 가능하다는 것을 알게 되었습니다.

최근 알게된 이 문제에 대해서 방어하는 애드온입니다. 조만간 XE Core 공식 업데이트가 있을 것이라 예상하지만, 그 사이에 있을 수 있는 공격을 예방합니다.

기능

  • 글 작성시 문제가 될 수 있는 <img> 요소를 무의미한 <span> 요소로 치환합니다.
  • 이미 작성된 CSRF 공격 글에 대해 IE, FireFox, Chrome 브라우저의 HTTP ACCEPT 헤더 정보를 이용해 최대한 방어합니다.

사용권

이 프로그램의 사용권은 MIT 라이선스를 따릅니다.

애드온 코드 정보

다음은 이 애드온의 핵심 코드입니다. 참고할 수 있도록 게시글에 포함합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
/**
 * @file soo_replace_content.addon.php
 * @author MinSoo Kim <misol.kr@gmail.com>
 * @brief Replace image tag CSRF text.
 */
// Stop if non-logged-in user is
if(!defined('__XE__')) exit();
 
/**
 * Replace content
 * */
if(($this->act === 'procBoardInsertDocument' || $this->act === 'procBoardInsertComment' || $this->act === 'procTextyleInsertComment') && $called_position == 'before_module_init' && is_string(Context::get('content')))
{
    $board_content '';
    $board_content strval(Context::get('content'));
    $board_content = preg_replace("/\<(img|image|source|object|embed)[^>]+(src|href|data)\=[^>]+act\=(disp|proc)[^>]+\>([^<]*?\<\/(image|source|object|embed)\>)?/im"'<span class="misol_dummy"></span>'$board_content);
    Context::set('content'$board_content);
}
 
/**
 * if XE is requested... with img tag close.
**/
if((stripos($this->act, 'proc') !== FALSE || stripos($this->act, 'disp') !== FALSE) && $called_position == 'before_module_init')
{
    $http_img_accept_headers array(
        'image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5'// InternetExplorer IMG
        'image/png,image/svg+xml,image/jxr,image/*;q=0.8,*/*;q=0.5'// InternetExplorer 11, MS Edge IMG
        'image/png,image/*;q=0.8,*/*;q=0.5'// FireFox IMG
        'image/webp,*/*;q=0.8'//Chrome IMG
        'image/webp,image/*,*/*;q=0.8'//Chrome IMG
 
        'audio/webm,audio/ogg,audio/wav,audio/*;q=0.9,application/ogg;q=0.7,video/*;q=0.6;*/*;q=0.5'// FireFox VIDEO
        'video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5'//FireFox AUDIO
        'video/webm,video/ogg,video/*;q=0.9,application/ogg=0.7,audio/*;q=0.6;*/*;q=0.5' //FireFox AUDIO
    );
 
    if(in_array(str_replace(array(' ','    '),array('',''),$_SERVER['HTTP_ACCEPT']), $http_img_accept_headers))
    {
        Context::close();
        exit();
    }
}
?>

 



네이버에 이온디를 검색해주세요
미리보기
파일 다운로드하기 전 사용하실 도메인 주소를 입력 후 다운로드 가능합니다.
File Name residual_day condition download
soo_replace_content.zip - - download
Category 애드온
seller 이온디
사용자평점 0점 / 총 0명 참여
sale_point free
상품카테고리 애드온 
상태 판매중 
소개 이미 작성된 CSRF 공격 글에 대해 IE, FireFox, Chrome 브라우저의 HTTP ACCEPT 헤더 정보를 이용해 최대한 방어합니다. 
설치경로 ./addons/soo_replace_content 
버전 0.1 
라이센스 MIT License 
지원환경 XE1 
개발자 misol 
구매 페이지  
미리보기  
구성품  
문의  
라벨  
외부URL  
네이버에 이온디를 검색해주세요

Category

advanced

  • 상품카테고리

  • 상태

  • 지원환경

List of Articles
No. Category Subject 사용자평점 point
상품 커스터마이징 건에 대해서
이온디샵에서 개발자/디자이너 여러분의 컨텐츠를 판매하세요.
포인트샵 오픈마켓입니다. 구매를 원할 경우 포인트를 충전해주세요.
20 애드온 후방주의 애드온 41P
18 애드온 짧은주소 QR코드 자동생성 애드온 1.1.1 (17.09.10) 200P
17 애드온 리퍼러 차단 애드온 0.2 (17.09.07) 100P
16 애드온 IP 차단 애드온 0.7 (17.09.08) free
15 애드온 [베타] 유저 테마 for XE 20P
14 애드온 비밀게시판 애드온 100P
13 애드온 PushBullet 댓글 알림 애드온 400P
10 애드온 GG 우리메일 스크랩 v0.3 free
» 애드온 img 태그를 이용한 CSRF 치환 애드온 버전 0.1.1(업데이트 버전) free
8 애드온 xe 현재접속과 로그인 수 표시 addon 수정본 free
7 모듈 팝업관리모듈, 애드온 (XE팝업관리모듈, 라이믹스팝업관리모듈) 500P
6 테마/패키지 eond_imin 100,000P
5 애드온 게시물등록완료 메일전송 애드온 100P
4 관리자상품 라이믹스용 관리자테마 - Rhymix AdminTheme Addon Skin, Modern (라이믹스 관리자 테마, 모던) 100P
3 애드온 XE 단축키 애드온 10P
2 관리자상품 [EOND] RX Admin Theme - Materialize 10P
1 관리자상품 [EOND] eondAdminTheme(관리자테마애드온) [1] free