2012-11-28 3 views
0

사용자가 xss 삽입 코드를 입력하더라도 모든 유형의 사용자 입력을 검색하는 응용 프로그램을 빌드하고 있습니다. 그 외에 나는 사용자가 넣은 내용의 전체 내용을 보여주기 위해 관리자보기를 제공하고있다. HTML 코드, BB 코드, XSS, 자바 스크립트 등을 넣을 수도있다 (분석 목적과 비슷하다).브라우저에 XSS 표시

htmlentities ($ data, ENT_QUOTES)가 충분하다고 생각하지만, https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet을 읽은 후에는 더 혼란 스럽습니다.

태그 또는 스크립트를 제거하고 싶지 않습니다. 이스케이프 처리를 사용하여 HTML로 표시하고 싶습니다. textarea 태그에 저장하면 저장됩니까? 데이터에 xss가 포함되어 있으면 텍스트가있는 경우 실행되지 않습니다.

<textarea name="comment" rows="30" cols="100"><?php echo htmlentities($data, ENT_QUOTES); ?></textarea> 

또는 브라우저에 xss를 표시하는 보안 방법이 있지만 xss 자체에서는 실행되지 않습니다.

죄송합니다.

감사

답변

1

당신의 관리자가 특수하게 조작 된 사용자 입력 공격자가 해당 페이지에 관리 권한을 얻을 수 있습니다 열립니다 경우에 당신이 게시 한 코드는 XSS하는 경향이있다. 텍스트 영역이나 다른 태그 안에 사용자 코드를 두는 것은 XSS 공격으로부터 보호하지 못합니다. 모든 해커는 텍스트 입력란에 텍스트 태그를 닫고 원하는대로 수행해야합니다.

나는 당신이 owasp cheet sheet를 발견했기 때문에 기쁩니다. :) 당신이 그것을 따라야한다는 것은 매우 유용합니다. Remeber가 페이지에 배치 된 모든 사용자 입력을 피할 수 있습니다.

나는 htmlspecialchars을 사용하고 다음을 사용하여 몇 가지 테스트를 수행 할 것을 권장합니다. tags presented here. JS 경고가 표시되지 않으면 응용 프로그램이 xss 공격으로부터 어느 정도 보호됩니다.

+0

답장을 보내 주셔서 감사합니다. 해당 링크에서 xss 태그/코드를 사용해 보았습니다. js 알림이 표시되지 않습니다. 그 'htmlspecialchars'의미가 충분합니까? 하지만 owasp는 htmlspecialchars가 충분하지 않다고 말합니다. – Ahmad

+0

owasp에는 5 개의 htmlspecialchars가 처리하는 6 개의 특수 문자가 있습니다. 나는 당신이 좋다라고 생각합니다 :) – fatfredyy

+0

그리고 htmlspecialchars에서 처리 할 수없는 것은 무엇입니까? 그것에 대해 owasp에 대한 링크를 작성할 수 있습니까? 왜냐하면 나는 많은 링크를 읽고 더 혼란스럽게 만듭니다. – Ahmad

관련 문제