문제

SO가 온라인에 접속하는 것을 보는 것은 나에게 상당한 교육이었습니다.나는 웹 사이트에 사용되는 다양한 취약점과 공격, 그리고 이를 방어하기 위해 어떤 프로그래밍 기술을 사용할 수 있는지에 대한 체크리스트를 만들고 싶습니다.

  • 취약점의 범주는 무엇입니까?
    • 충돌 사이트
    • 서버에 침입하다
    • 다른 사람의 로그인 정보를 침해하는 행위
    • 스팸
    • 인형극, 고기 인형극
    • 등...
  • 어떤 종류의 방어 프로그래밍 기술이 있나요?
  • 등...
도움이 되었습니까?

해결책

웹 애플리케이션 보안 프로젝트 열기 :

  1. OWASP 상위 10 개 취약점 (pdf)
  2. 더 고통스러운 전체 목록 : 카테고리 : 취약성

    상위 10 개는 다음과 같습니다.

    1. 교차 사이트 스크립팅 (XSS)
    2. 삽입 결함 (SQL 삽입, 스크립트 삽입)
    3. 악성 파일 실행
    4. 안전하지 않은 직접 객체 참조
    5. XSRF (교차 사이트 요청 위조)
    6. 정보 유출 및 부적절한 오류 처리
    7. 손상된 인증 및 세션 관리
    8. 안전하지 않은 암호화 저장소
    9. 안전하지 않은 커뮤니케이션
    10. URL 액세스 제한 실패

다른 팁

모든 필드에서 취약점을 분명히 테스트합니다.

  • SQL-이스케이프 문자열 (예 : mysql_real_escape_string)
  • XSS
  • 입력 필드에서 인쇄되는 HTML (보통 XSS의 좋은 징조)
  • 필드가 만들어진 특정 목적이 아닌 기타 모든 것

    무한 루프 (많은 사람들이 실수로 발견 한 경우)를 검색하여 서버를 실제로 죽일 수 있습니다.

일부 예방 기술:

XSS

  • 사용자로부터 매개변수/입력을 받아 로그나 웹페이지에 출력할 계획이라면 이를 삭제하세요(HTML, 따옴표, 자바스크립트와 유사한 모든 것을 제거/이스케이프). 페이지 자체를 소독하세요!예를 들어 PHP_SELF를 인쇄하는 것조차 안전하지 않습니다.소독하세요!Reflective XSS는 대부분 정리되지 않은 페이지 매개변수에서 비롯됩니다.

  • 사용자로부터 입력을 받아 저장하거나 인쇄하는 경우 위험하거나 유효하지 않은 내용이 감지되면 경고하고 다시 입력하도록 합니다.IDS는 감지에 좋습니다(예: PHPIDS). 그런 다음 보관/인쇄하기 전에 소독하세요.그런 다음 저장소/데이터베이스에서 무언가를 인쇄할 때 다시 정리하세요!입력 -> IDS/sanitize -> 저장 -> sanitize -> 출력

  • 개발 중에 코드 스캐너를 사용하여 잠재적으로 취약한 코드를 찾아보세요.

XSRF

  • 파괴적인 기능에 대한 GET 요청을 사용하지 마십시오게시물 삭제.대신, 사후 요청 만 수락하십시오.GET을 사용하면 해커의 작업이 더욱 쉬워집니다.
  • 요청이 사이트에서 나왔는지 확인하기 위해 참조자를 확인하십시오. 작동하지 않습니다.참조자를 스푸핑하는 것은 어렵지 않습니다.
  • 모든 요청에 ​​존재하고 유효해야 하며 잠시 후 만료되는 토큰으로 임의 해시를 사용하십시오.숨겨진 양식 필드에 토큰을 인쇄하고 양식이 게시되면 서버 측에서 확인하십시오.악의적인 사람은 요청을 위조하려면 올바른 토큰을 제공해야 하며, 실제 토큰을 얻은 경우 해당 토큰은 만료되기 전에 제공되어야 합니다.

SQL 주입

  • ORM 또는 db 추상화 클래스에는 삭제 방법이 있어야 합니다. 항상 이를 사용하세요.ORM 또는 DB 추상화 클래스를 사용하지 않는 경우...당신은해야한다.

SQL 주입

XSS (교차 사이트 스크립팅) 공격

간단하고 수정하기 쉬움 : 클라이언트 측에서 수신 한 데이터를 삭제합니다.';'와 같은 항목 확인악성 코드가 애플리케이션에 삽입되는 것을 방지 할 수 있습니다.

G'day,

보안을위한 좋은 정적 분석 도구는 David Wheeler가 작성한 FlawFinder 입니다.다양한 보안 공격을 찾는 데 효과적입니다.

그러나 지식이있는 누군가가 귀하의 코드를 읽는 것을 대체하지는 않습니다.David가 웹 페이지에서 "도구를 가진 바보는 여전히 바보입니다!"라고 말합니다.

HTH.

건배, 롭

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top