kisa 취약점 제보 xss 필터 적용

kisa 취약점 제보 xss 필터 적용

QA

kisa 취약점 제보 xss 필터 적용

본문

/bbs/write.php 238 line에 아래 코드가 있는데

 

html_purifier 함수를 왜 

 

if ( $w == 'u' && (! $is_member || ! $is_admin || $write['mb_id'] !== $member['mb_id']) ){

 

이조건에서만 실행 시키는건지 궁금합니다 해당 조건이면 비회원 수정시만 동작하게 되는건가요?

 


if ( $w == 'u' && (! $is_member || ! $is_admin || $write['mb_id'] !== $member['mb_id']) ){
// kisa 취약점 제보 xss 필터 적용
$content = get_text(html_purifier($write['wr_content']), 0);
}

이 질문에 댓글 쓰기 :

답변 1

!is_member : 비회원이거나

!is_admin : 관리자가 아니거나(일반회원일 경우)

$write['mb_id'] !== $member['mb_id'] : 작성자가 아니거나

 

즉 관리자 이외에 수정시 html_purifier를 태운다는겁니다

그리고 해당 조건문이 에디터 사용일때 조건을 타고있습니다

 

관리자는 html_purifier를 타지않도록 하기위 해당 조건문으로 작성한것같네요

 

html_purifier의 제약이 좀 많아서 다 설명드리긴 힘들고
관리자 계정일때 html_purifier를 타지않음으로써 다양하게 글을 작성할 수 있도록 한것같습니다

html_purifier를 타지 않으면 글쓰기에서 스크립트 작성이나 각종 모든 데이터들을 넣을 수 있기 때문입니다
일반계정이 이런게 가능하다면 당연히 문제가 되겠지만 관리자계정이면 다양한 글작성 효과를 위해 제약을 풀어둔것같네요

답변을 작성하시기 전에 로그인 해주세요.
전체 354
QA 내용 검색

회원로그인

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