l

관리자 계정으로 목록을 볼 경우 원치않는 스크립트가 실행될 수 있습니다.

· 2013-05-23 (목) 13:40:04 · 930 · 2
방법:
일반 계정으로 글을 등록하는 데, 제목은 <script>alert('xss-subject');</script> 이렇게 적고 내용은 <script>alert('xss-content');</script>이라 적어줍니다. 그리고 글을 등록합니다.

그리고 일반 계정에서는 보이지 않으므로 로그아웃을 하고 관리자 계정으로 접속을 하면 목록이 나오면 자바스크립트 경고창이 떠 "xss-subject"라고 보이는 것을 확인할 수 있습니다. 이것은 관리자의 세션을 탈취할 수 있는 방법으로 사용될 수도 있습니다.

원인:
문제가 발생하는 이유는 skin/board/basic/list.skin.php의 다음 부분으로 인한 것입니다.
[code]
<?php if ($is_checkbox) { ?>
<td class="td_chk">
<label for="chk_wr_id_<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['wr_subject'] ?></label>
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
</td>
<?php } ?>
[/code]
$is_checkbox는 관리 계정이 있는 사용자가 접속할 경우 실행되므로 관리자나 운영자 계정으로 목록을 보면 다음 코드가 실행되기 때문에 만일 스크립트가 wr_subject에 있으면 그 스크립트가 여과되지 않고 실행됩니다. 따라서 $list[$i]['wr_subject']를 $list[$i]['subject']로 수정해야 합니다.
|

댓글 2개

2013-05-23 (목) 13:49:11
수정하겠습니다. 감사합니다. :)
왕~ 드디어 해결 되는군요^^
댓글을 작성하시려면 로그인이 필요합니다.

버그신고

4,191건

  문의게시판을 이용해 주세요 :) https://sir.kr/co_qa  

+
분류 제목 글쓴이 날짜
13-06-03
13-06-03
13-06-03
13-06-02
13-06-02
13-05-29
13-05-29
13-05-27
13-05-24
13-05-24
13-05-23
13-05-23
13-05-23
13-05-22
13-05-22
13-05-22
13-05-22
13-05-22
13-05-21
13-05-21