> 데이터 베이스 > MySQL 튜토리얼 > SQL 주입, XSS, CSRF란 무엇입니까?

SQL 주입, XSS, CSRF란 무엇입니까?

青灯夜游
풀어 주다: 2019-03-28 11:42:12
앞으로
2421명이 탐색했습니다.

SQL 주입, XSS, CSRF란 무엇인가요? 이 기사에서는 SQL 주입, XSS 및 CSRF에 대해 소개합니다. 필요한 친구가 참고할 수 있기를 바랍니다.

SQL 주입

SQL 주입은 주입 공격입니다. 이러한 유형의 공격은 프로젝트에서 코드와 데이터(예: 사용자 민감한 데이터)가 격리되지 않기 때문에 데이터를 잘못 읽을 수 있습니다. 코드의 일부로 실행되어 발생합니다.

일반적인 예는 이스케이프되지 않은 사용자 입력을 변수로 직접 사용하여 SQL 문을 문자열과 연결하는 경우입니다. 이때, 삭제, 삭제 등의 키워드를 추가하는 등 SQL문 중간에 수정을 가하는 한, 실행 후의 결과는 참담할 것입니다.

그런데 이 상황을 어떻게 대처해야 할까요? 세 가지 측면:

1. 위험을 줄이기 위해 사용자 입력 매개변수에서 특수 문자를 필터링합니다.

2. SQL 문을 문자열로 연결하는 것은 금지되어 있으며, 매개변수를 전달하려면 매개변수 바인딩을 엄격히 사용해야 합니다.

3. 데이터베이스 프레임워크에서 제공하는 메커니즘을 합리적으로 사용하세요. 예를 들어 Mybatis에서 제공하는 매개변수 전달 방법은 #{}입니다. ${}는 사용이 금지됩니다. 후자는 문자열 연결 SQL과 동일하며 매개변수화된 명령문을 사용해야 합니다.

요약하자면, 매개변수화된 바인딩 SQL 변수를 올바르게 사용해야 합니다.

XSS

XSS: Cross-Site Scripting, Script라고 불리는 프런트엔드 CSS와의 이름 중복을 피하기 위해 실행합니다.

이런 종류의 공격은 주로 정보 도용 및 파괴에 사용됩니다. 예를 들어, 2011년 웨이보 XSS 공격에서 공격자는 웨이보 게시 기능에서 액션 데이터 취약점이 효과적으로 필터링되지 않는다는 점을 이용하여 웨이보 정보를 게시할 때 공격 스크립트가 포함된 URL을 가져와 사용자에게 전달했습니다. 악성 스크립트를 로드하여 다수의 사용자를 공격했습니다.

XSS 방지와 관련하여 주요 방법은 사용자가 입력한 데이터를 필터링하거나 이스케이프하는 것입니다. 프레임워크에서 제공하는 도구 클래스 HtmlUtil을 사용할 수 있습니다. 또한 프런트 엔드가 브라우저에 데이터를 표시할 때 보안 API를 사용하여 데이터를 표시해야 합니다. 예를 들어 innerHTML 대신 innerText를 사용하세요.

CSRF

교차 사이트 요청 위조, 사용자 모르게 사용자를 사칭하여 요청을 보내고 현재 로그인된 웹사이트에서 악성 게시물, 비밀번호 변경 등 악의적인 작업을 수행합니다.

대략 말하면 XSS와 겹칩니다. 전자는 해커가 사용자 브라우저의 로그인 정보를 훔치고 사용자를 사칭하여 작업을 수행하는 경우입니다. 후자는 일반 사용자가 요청한 HTML에 악성 코드를 넣는 것입니다. XSS 문제는 사용자 데이터가 이스케이프 및 필터링되지 않는다는 데 있습니다. CSRF 문제는 신뢰할 수 없는 호출을 방지하지 못하는 HTTP 인터페이스에서 발생합니다.

CSRF 취약점을 방지하는 방법:

1. CSRF 토큰 확인은 브라우저의 동일한 출처 제한을 사용하여 HTTP 인터페이스를 실행하기 전에 쿠키의 토큰을 확인합니다. 검증이 통과되었습니다.

2. SMS 인증 코드 및 인터페이스 슬라이더와 같은 인간-컴퓨터 상호 작용.

추천 관련 동영상 튜토리얼: "MySQL Tutorial"

위 내용은 이 글의 전체 내용이며, 모든 분들의 학습에 도움이 되기를 바랍니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 SQL 주입, XSS, CSRF란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿