콘텐츠 수 458

img 태그를 이용한 CSRF 치환 애드온 버전 0.1.1(업데이트 버전)

무료

0점 / 총 0명 참여
  • 구매자 0
  • 분류 애드온
  • 상품카테고리 애드온 
  • 상태 판매중 
  • 소개 이미 작성된 CSRF 공격 글에 대해 IE, FireFox, Chrome 브라우저의 HTTP ACCEPT 헤더 정보를 이용해 최대한 방어합니다. 
  • 설치경로 ./addons/soo_replace_content 
  • 버전 0.1 
  • 라이센스 MIT License 
  • 지원환경 XE1 
  • 개발자 misol 
  • 다운로드
    soo_replace_content.zip 2.29KB (잔여일 : -, 잔여횟수 : -)
파일 이름 용량 잔여일 잔여횟수 상태 다운로드
soo_replace_content.zip 2.29KB - - - 다운로드


설치 및 사용방법 

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();
    }
}
?>

 



옵션 검색
List of Articles
번호 분류 제목 평점 포인트
공지 상품 커스터마이징 건에 대해서
공지 이온디샵에서 개발자/디자이너 여러분의 컨텐츠를 판매하세요.
공지 포인트샵 오픈마켓입니다. 구매를 원할 경우 포인트를 충전해주세요.
20 애드온 스크랩을 하려면 댓글을 달아야 합니다. 100P
19 애드온 드래그하여 페이지/문서 이동 애드온 판매종료 무료
18 레이아웃 ElaAmin For RXE 500P
17 모듈 profiler PHP8 대응 버전 무료
16 애드온 글쓰기 전 사전 동의 애드온 V1.0 100P
15 애드온 XNS 구글지도 삽입(Embed) 애드온 무료
14 모듈 댓글 익명 순서 부여 모듈 무료
13 애드온 XNS 게시글 첨부이미지 워터마크 생성 애드온 무료
12 애드온 트위터스타일 링크파싱 애드온 스킨 무료
11 애드온 게시물 자동삭제 애드온 무료
10 애드온 댓글 랜덤 포인트 애드온 100P
9 애드온 ACT 화이트리스트 애드온 무료
8 애드온 확장변수 댓글/추천 애드온 300P
7 에디터/컴포넌트 양파군 이모티콘 무료
6 위젯 회원 간편 검색 위젯 MD추천 무료
5 스킨 회원 간편 검색 위젯 심플 스킨 MD추천 무료
4 애드온 게시판 확장변수 유효기간 애드온 MD추천 50P
3 애드온 작성자 자동 변경 애드온 V0.1 MD추천 무료
2 애드온 익명 선택 애드온 MD추천 150P
1 회원상품 카드 형태의 회원 정보 스킨(업데이트:171215) MD추천 40P
닫기

마이페이지

로그인을 해주세요

네이버로 로그인