목차
답글 내용:
백엔드 개발 PHP 튜토리얼 보안 탐지 도구로 검사한 프로젝트 프로그램의 보안 취약점에 대해 질문이 있으십니까?

보안 탐지 도구로 검사한 프로젝트 프로그램의 보안 취약점에 대해 질문이 있으십니까?

Aug 04, 2016 am 09:20 AM
c c++ ci java php

고객사는 평가 소프트웨어를 사용하여 우리 프로젝트를 평가한 결과 sql 주입xss 공격을 포함하여 여러 가지 보안 취약점을 발견했습니다. 보안 취약점이 나타난 서버 프로그램 코드를 살펴보았습니다. ,기본적으로 페이지에서 데이터 가져오기 또는 게시를 서버로 보내는 취약점이 있는 것으로 확인되었습니다. 백엔드는 CI 프레임워크와 함께 제공되는 입력 클래스를 사용하여 입력된 정보를 필터링할 수 있습니다. 사용자에 의해 CI의 csrf 구성 항목도 활성화되었습니다

테스트 도구:
보안 탐지 도구로 검사한 프로젝트 프로그램의 보안 취약점에 대해 질문이 있으십니까?

취약점 개요:
보안 탐지 도구로 검사한 프로젝트 프로그램의 보안 취약점에 대해 질문이 있으십니까?

보안 탐지 도구로 검사한 프로젝트 프로그램의 보안 취약점에 대해 질문이 있으십니까?

몇 가지 골치 아픈 문제가 있습니다.

  1. getpost 데이터를 수신하기 위한 원래 코드는 $this->input->get('section_id)과 같이 작성되었으며, 프로젝트의 다른 곳에서는 이를 수신하기 위한 필터링 및 보안 조치가 취해진 것으로 보입니다. .왜 그런 허점이 계속 발생할까요?

  2. get、post 데이터를 수신하는 서버에 문제가 있으면 이 방법을 사용하는 프로젝트의 모든 곳에서 허점이 발생해야 합니다. 왜 이러한 허점은 몇몇 곳에서만 나타나는 걸까요?

  3. 고객들은 테스트 데이터만 볼 수 있는데 어떻게 설명하고 소통해야 할까요?

조언 좀 부탁드려요~

답글 내용:

고객사는 평가 소프트웨어를 사용하여 우리 프로젝트를 평가한 결과 sql 주입xss 공격을 포함하여 여러 가지 보안 취약점을 발견했습니다. 보안 취약점이 나타난 서버 프로그램 코드를 살펴보았습니다. ,기본적으로 페이지에서 데이터 가져오기 또는 게시를 서버로 보내는 취약점이 있는 것으로 확인되었습니다. 백엔드는 CI 프레임워크와 함께 제공되는 입력 클래스를 사용하여 입력된 정보를 필터링할 수 있습니다. 사용자에 의해 CI의 csrf 구성 항목도 활성화되었습니다

테스트 도구:
보안 탐지 도구로 검사한 프로젝트 프로그램의 보안 취약점에 대해 질문이 있으십니까?

취약점 개요:
보안 탐지 도구로 검사한 프로젝트 프로그램의 보안 취약점에 대해 질문이 있으십니까?

보안 탐지 도구로 검사한 프로젝트 프로그램의 보안 취약점에 대해 질문이 있으십니까?

몇 가지 골치 아픈 문제가 있습니다.

  1. getpost 데이터를 수신하기 위한 원래 코드는 $this->input->get('section_id)과 같이 작성되었으며, 프로젝트의 다른 곳에서는 이를 수신하기 위한 필터링 및 보안 조치가 취해진 것으로 보입니다. .왜 그런 허점이 계속 발생할까요?

  2. get、post 데이터를 수신하는 서버에 문제가 있으면 이 방법을 사용하는 프로젝트의 모든 곳에서 허점이 발생해야 합니다. 왜 이러한 허점은 몇몇 곳에서만 나타나는 걸까요?

  3. 고객들은 테스트 데이터만 볼 수 있는데 어떻게 설명하고 소통해야 할까요?

조언 좀 부탁드려요~

1 이러한 종류의 테스트 소프트웨어의 판단은 반드시 정확하지는 않습니다. 일반적으로 서로 다른 문을 연결하여 반환된 결과의 문자 길이가 동일한지 여부만 판단하여 주입 여부를 판단합니다.
2 하지 마십시오. 어떤 프레임워크나 프레임워크가 안전하지 않은지 너무 믿으세요. 전역 필터링을 직접 수행해야 합니다
3 여기서 그가 감지한 xss는 저장 유형이 아니므로 위험은 그리 높지 않습니다. 이런 종류의 보고서는 발판으로 가장 많이 사용됩니다
4. 클라이언트가 원하는 것은 보고서에 허점이 없다는 편안함입니다.
5 단지 그가 취약점을 스캔하지 않기를 원하는 경우. 프로그램 항목에 로그 파일을 작성하고 모든 요청과 매개변수를 기록하여 스캐닝 소프트웨어가 취약점이 있는지 여부를 어떻게 판단하는지 분석합니다.
6 스캐닝 소프트웨어 보고서의 취약점을 수정하세요. 개인적인 경험으로 볼 때 전달하는 매개변수에 intval이 없어야 합니다.
7 오류 주입을 방지하려면 mysql 오류 메시지를 닫으세요
예방
1 프로그램 단어 필터링
에 전역 SQL 키를 추가합니다. 2 PHP 작은따옴표 이스케이프를 활성화합니다(php.ini Magic_quotes_gpc 수정).
3 Apache/nginx/iis는 서비스 로그, mysql 느린 쿼리 로그 및 프로그램 항목 기록 요청 로그를 활성화합니다.
4 서버는 SafeDog와 같은 웹 애플리케이션 보안 소프트웨어를 설치합니다.
5 데이터베이스 링크에 UTF-8을 사용합니다. gbk 더블 바이트 주입 방지
6 mysql 비밀번호 복잡도 강화, mysql 외부 링크 금지, 기본 포트 번호 변경
7 프로그램 mysql 계정 권한을 줄이고, 일반적인 추가, 삭제, 확인, 수정만 허용 권한. 파일작업 권한 부여를 금지합니다

XSS 크로스 사이트 공격 솔루션
1 htmlspecialchars를 사용하여 텍스트가 작성된 위치를 탈출합니다
2 SSL을 사용하여 외부 js 로드 및 참조를 금지합니다
3 쿠키 획득을 금지하도록 httponly 설정
4 이미 게시됨 인젝션이 없는지 확인하세요. (인젝션이 있는 경우 16진수를 사용하여 htmlspecialchars를 우회하여 xss 공격 효과를 얻을 수 있습니다.)
5 백엔드와 프론트엔드에 대해 라우팅 규칙이 다른 2세트의 프로그램을 사용하는 것이 가장 좋습니다. . 백엔드(백업 데이터베이스)의 주요 작업은 CSRF를 방지하기 위해 보조 비밀번호를 설정하고 요청 매개변수의 복잡성을 높여야 합니다

PHP 보안
1 파일이 업로드되는 곳에 접미사 필터링을 추가하고 필터링 시 '논리적 부정' 판단을 하지 않는다.
2 접미사 php 및 htaccess가 포함된 파일을 업로드하는 것은 금지되어 있습니다. 파일 이름 접미사를 얻기 위해 클라이언트가 제출한 데이터를 사용하지 마십시오. 접미사 및 임의의 파일 이름을 추가하려면 프로그램을 사용해야 합니다.
3 무단 액세스를 제한하는 통합 라우팅. webroot 디렉터리는 외부 방어를 위해 하나의 index.php(항목 파일)만 가질 수 있습니다. 다른 모든 디렉터리는 외부 방어가 금지됩니다. 모든 리소스(업로드된) 파일은 nginx에 안티 리칭 기능이 추가됩니다.
4. PHP 분산화 처리 . 웹 디렉터리는 폴더 및 텍스트 생성을 제한합니다(프로그램에 필요한 폴더 제외, 일반적으로 쓰기 권한이 필요한 캐시 디렉터리가 있음)
5 IIS/nginx 파일 구문 분석 취약점 사용 필터링
6 사용 비밀번호 검색을 위해서는 휴대폰 인증번호 검색과 이메일 검색은 별도의 서버를 이용해야 합니다. (비밀번호 검색 기능을 통해 실제 IP를 알아내는 것을 방지합니다.) 사용자의 메일함으로 전송된 비밀번호를 재설정하기 위한 마지막 링크에는 복잡한 암호화 매개변수가 있어야 합니다
7 사용자 로그인 시스템은 사용자가 로그인한 경우 다른 사람에게도 로그인하라는 메시지를 표시해야 합니다. 다시.
8

1 보안 지식
1 웹 애플리케이션은 사이트 라이브러리 분리를 사용하고, 환경 웹 디렉터리의 기본 경로를 변경
2 통합 환경을 사용하는 경우에는 php 프로브, phpmyadmin, phpinfo(프로브)를 삭제해야 합니다. 설치가 완료되면 바늘로 웹 경로를 확인할 수 있고, phpmyadmin은 무차별 대입 크랙을 할 수 있습니다)
2 사용자 비밀번호는 비밀번호 솔팅 후 md5 값을 사용하는 것이 가장 좋습니다
3 해당 위치에 인증 코드를 추가합니다. 사용자 로그인, 무차별 대입 크래킹을 방지하기 위해 오류 수에 제한을 추가하는 방법
4 cdn 가속을 사용하여 실제 IP 숨기기
5 사용자가 로그인할 때 C를 방지하기 위해 일반 텍스트 계정 비밀번호를 전달하지 마십시오. -사이드 스니핑 및 ARP 스푸핑을 통해 사용자 및 관리자 일반 텍스트 계정 비밀번호 획득
6 PHP 시스템 명령 비활성화 행 수 exec, 시스템 등
7 서버에 SafeDog와 같은 보안 소프트웨어 설치
8 웹 디렉토리는 .rar, zip 파일 저장이 금지되어 있습니다

RSAS와 BVS에 대해 제가 이해한 바에 따르면, 이 문제를 해결하지 않으면 항상 스캔이 발생합니다. 가장 근본적인 방법은 이러한 문제를 해결하고 취약점을 직접 발견하는 것입니다. 다른 사람이 자신을 공격하지만 내부자입니다. 취약점을 이용하여 백도어 프로그램을 만드는 일부 고객은 설명할 여지가 거의 없습니다.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? Feb 07, 2025 am 11:57 AM

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

문자열로 모음을 계산하는 PHP 프로그램 문자열로 모음을 계산하는 PHP 프로그램 Feb 07, 2025 pm 12:12 PM

문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다

JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. Apr 05, 2025 am 12:04 AM

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

Java 8 Stream foreach에서 나누거나 돌아 오시겠습니까? Java 8 Stream foreach에서 나누거나 돌아 오시겠습니까? Feb 07, 2025 pm 12:09 PM

Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다. 기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다. 추가 읽기 : Java Stream API 개선 스트림 foreach를 이해하십시오 Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다

PHP에서 늦은 정적 결합을 설명하십시오 (정적 : :). PHP에서 늦은 정적 결합을 설명하십시오 (정적 : :). Apr 03, 2025 am 12:04 AM

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

Docker 환경에서 PECL을 사용하여 확장자를 설치할 때 오류가 발생하는 이유는 무엇입니까? 그것을 해결하는 방법? Docker 환경에서 PECL을 사용하여 확장자를 설치할 때 오류가 발생하는 이유는 무엇입니까? 그것을 해결하는 방법? Apr 01, 2025 pm 03:06 PM

Docker 환경을 사용할 때 Docker 환경에 Extensions를 설치하기 위해 PECL을 사용하여 오류의 원인 및 솔루션. 종종 일부 두통이 발생합니다 ...

C 현에서 숯의 역할은 무엇입니까? C 현에서 숯의 역할은 무엇입니까? Apr 03, 2025 pm 03:15 PM

C에서 숯 유형은 문자열에 사용됩니다. 1. 단일 문자를 저장하십시오. 2. 배열을 사용하여 문자열을 나타내고 널 터미네이터로 끝납니다. 3. 문자열 작동 함수를 통해 작동합니다. 4. 키보드에서 문자열을 읽거나 출력하십시오.

php magic 방법 (__construct, __destruct, __call, __get, __set 등)이란 무엇이며 사용 사례를 제공합니까? php magic 방법 (__construct, __destruct, __call, __get, __set 등)이란 무엇이며 사용 사례를 제공합니까? Apr 03, 2025 am 12:03 AM

PHP의 마법 방법은 무엇입니까? PHP의 마법 방법은 다음과 같습니다. 1. \ _ \ _ Construct, 객체를 초기화하는 데 사용됩니다. 2. \ _ \ _ 파괴, 자원을 정리하는 데 사용됩니다. 3. \ _ \ _ 호출, 존재하지 않는 메소드 호출을 처리하십시오. 4. \ _ \ _ get, 동적 속성 액세스를 구현하십시오. 5. \ _ \ _ Set, 동적 속성 설정을 구현하십시오. 이러한 방법은 특정 상황에서 자동으로 호출되어 코드 유연성과 효율성을 향상시킵니다.

See all articles