[보안]팝업프린트 사용하시는분들은 필독!! > 자유게시판

자유게시판

[보안]팝업프린트 사용하시는분들은 필독!! 정보

[보안]팝업프린트 사용하시는분들은 필독!!

본문

스킨중에 "본문 혹은 본문+코멘트"부분의 인쇄를 위해 팝업으로 출력하도록 하는 파일을 포함한 스킨들이 몇개 있습니다.

위 기능을 하는 파일이 print.php, control_print.php 이런 이름으로 기억합니다만..

같은 계정에서 위기능이포함된스킨스킨의개별설정으로제어하는스킨(마이페이지,포럼등)을 함께 사용하신다면 아래내용을 참고해서 보강하시기 바랍니다.

내용은 보안상 생략하고 팝업프린트 소스코드에 보강할 부분만 붙입니다.
문자열처리 정규표현식부분은 미흡한대로 기능만 확인하고 올립니다.ㅠㅠ

<?
//겟으로 넘어온것만 받아서 처리
$g4_path = '../../..';//상대경로지정
$bo_table = $_GET['bo_table'];

//$bo_table 이 넘어오지 않으면 스크립트 종료
if (empty($bo_table)) exit;

include_once($g4_path . "/_common.php");
include_once($g4['path'] . '/' . 'head.sub.php');

//동일계정내 타 게시판의 스킨설정을 통한 권한제어등이 무력화되는 문제가 있어 임시 보강함 2007년 4월 10일 화요일

//url로 직접 접근시 체크

//팝업 프린트 스킨을 적용한 게시판만 사용가능하도록 한다.
//문자열 처리 정규표현식을 어떤것을 써야 좋을지 모름.... 그러니까 무식--ㅋㅋ
$parr = explode("/",$_SERVER['PHP_SELF']);//이 파일의 경로를 얻음 /a/b/c/skin/control_print.php 뭐 이런식이넹..
if ($board['bo_skin'] !== $parr[4]) {//게시판설정 스킨과 이 파일이 속한 스킨이 다르다면..
  alert("잘못된 접근입니다.");
}

if (isset($wr_id)) {
  //글이 존재하는가?
 
~~~~~~
추천
0

댓글 6개

약간의 부연설명을 드리자면..

스킨설정으로 막아놓은 게시물의 카운터가 증가되는것을 보고 의아하게 생각하던중 발견한 것으로..

특정 스킨의 문제를 말씀드리는 것이 아니라 팝업 인쇄를 위해 포함된 xxx.php파일등에서 겟방식 호출시 문제를 말씀드리는 것이니 오해없으시기 바랍니다.

예를 들어 a_table 게시판에 적용된 a_skin 스킨에 팝업 인쇄를 위한 xxx.php가 포함되었다고 가정할때 팝업 링크는 다음과 같이 걸게됩니다.
<a href="<?=$board_skin_path?>/xxx.php?bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>">프린트 하려면..</a>
링크를 보면 아래와 같을것이고 이것은 정상입니다.
http://domain/g4/skin/board/a_skin/xxx.php?bo_table=a_table&wr_id=xxx

다만 위 링크에서 $bo_table(a_table)값에 임의의(예:b_table)을 대입하고 호출할 경우 xxx.php에서 제어된 설정대로만 게시물이 출력됩니다.
b_table게시판에서 지정한 스킨이 아닌 엉뚱한 스킨폴더의 xxx.php파일을 이용해 b_table의 게시물을 들여다볼수 있다는것입니다.
즉 board.php를 거치지 않으므로 b_table테이블에 적용한 "스킨에서 제어된 권한설정"등이 무력화 될수 있다는 것입니다.
좋은정보 감사합니다. 제경우엔 기본 스킨이 아닌 새로추가한 파일등은 board.php 의
접근권한 제어관련 코드를 그대로 복사하여 적용 합니다.

적용된 예제는 이글을 메일 보내기를 스킨 파일로 추가한 겁니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=10634
읔.. 이게좀 설명하려니 어렵사옵니다.
board.php에서 관련설정을 빠짐없이(?) 가져왔는데도 $bo_table값을 꼬아서 경로로 접근할경우 요상시럽게 틈이 생기네요.
정상적으로 분석할 능력이 안되므로 일단 편법으로.. ㅠㅠ
전체 196,490 |RSS
자유게시판 내용 검색

회원로그인

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