it-swarm-korea.com

Rails-코드 삽입 및 XSS에 대한 보호

Rails에서 Ruby)를 사용하기 시작했으며 특히 코드 삽입 및 XSS와 관련하여 Rails에서주의해야 할 보안 문제가 있는지 궁금합니다.

나는 Rails 입력을 소독하여 이러한 공격을 막으려 고 시도하지만 이것이 절대 불가능하다는 것을 알고 있습니다.

21
Magnus

OWASP XSS 치트 시트 는 XSS가 발생할 수있는 모든 방법을 이해하는 데 유용한 리소스입니다.

  • 규칙 # 0-허용 된 위치를 제외하고 신뢰할 수없는 데이터를 삽입하지 마십시오
  • 규칙 # 1-신뢰할 수없는 데이터를 HTML 요소 컨텐츠에 삽입하기 전에 HTML 이스케이프
  • 규칙 # 2-신뢰할 수없는 데이터를 HTML 공통 속성에 삽입하기 전에 속성 이스케이프
  • 규칙 # 3-신뢰할 수없는 데이터를 HTML JavaScript 데이터 값에 삽입하기 전에 JavaScript 이스케이프
  • 규칙 # 4-신뢰할 수없는 데이터를 HTML 스타일 속성 값에 삽입하기 전에 CSS 이스케이프
  • 규칙 # 5-신뢰할 수없는 데이터를 HTML URL 매개 변수 값에 삽입하기 전에 URL 이스케이프
  • 규칙 # 6-HTML 정책 엔진을 사용하여 아웃 바운드 방식으로 사용자 중심 HTML의 유효성을 검사하거나 정리합니다
  • 규칙 # 7-DOM 기반 XSS 방지

위의 모든 규칙이 Rails 자동으로 처리되는 것은 아니며 버전에 따라 다릅니다.

Rails 3.x = "일반 문자열이 <% = %>에 전달되면 Rails 항상 이스케이프 처리합니다")
Rails 2.x = h() 메서드를 사용해야합니다 (또는 Cross Site Sniper 또는 Safe Erb) )

화이트리스트에 해당하는 날짜는 다음과 같습니다. 2 자리 미국 우편 약어가 필요한 경우 유효성 검사를 사용하여이를 수락하십시오.

일반 보안 안내서 : http://guides.rubyonrails.org/security.html

11
Tate Hansen