지난 며칠 동안 우리 웹사이트에 갑자기 많은 회원이 있다는 사실을 발견했습니다. 이 회원들은 모두 비슷하지만 백엔드 시스템을 통해서만 회원을 추가할 수 있습니다. 그들은 백엔드 비밀번호를 변경한 후에도 계속 나타납니다. 백엔드 작업 로그에 작업 정보가 없습니다. 백그라운드에서 추가할 수 있는 필드 중 회사 필드가 없어 어떻게 공격을 받았는지 명확하지 않습니다. 삽입된 데이터는 다음과 같습니다.
SQL 주입 공격일 수도 있습니다. SQL 비밀번호를 변경하더라도 프로덕션 환경에서는 여전히 올바른 비밀번호를 구성해야 합니다. SQL 취약점을 수정하지 않으면 여전히 일부 데이터를 주입하고 모든 SQL을 교체할 수 있습니다. PDO::가 포함된 문 준비 매개변수 바인딩 메서드를 작성한 다음 문제가 해결되었는지 관찰합니다. 또한, 시스템을 내부적으로 사용하는 경우에는 외부망에 개방하여 내부 IP를 통해 접속해서는 안 된다.
먼저 방화벽을 확인해보세요. 웹사이트에 특별한 포트 요구 사항이 없으면 80을 열면 됩니다. 3306, 22 등과 마찬가지로 회사 내부망에만 접속이 가능합니다.
둘째, 데이터베이스, 백엔드 등의 비밀번호를 모두 변경하세요. (비밀번호는 더 길고 대문자와 소문자로 이루어져야 하며 특수 기호가 있어야 합니다.)
셋째, 회사에서만 백엔드에 접근할 수 있어야 하는 경우 URL을 최대한 숨기도록 노력하세요. 또한 테스트를 수행하세요(예: 회사 네트워크만 백그라운드에서 액세스하도록 허용)
넷째, 프론트에서 회원등록이 있는 경우 인증번호 및 보안체크가 있는지 확인하세요. (즉, 동일한 IP일 경우 회원등록 사이에 시간차가 있어야 합니다.)
위의 작업을 완료한 후 프로그래머가 시스템 로그, 데이터베이스 로그, 프로그램 로그 등을 확인하고 프로그램 코드에 허점이 있는지 확인하십시오
등록 시 인증코드를 추가하세요!
데이터베이스 주소+계좌번호+비밀번호를 직접 받아 데이터베이스를 직접 운영하는 것이 더 쉽나요?
mysql의 작업 로그를 확인하고, 활성화되어 있지 않으면 활성화하고 기다리세요.
SQL 주입 공격일 수도 있습니다. SQL 비밀번호를 변경하더라도 프로덕션 환경에서는 여전히 올바른 비밀번호를 구성해야 합니다. SQL 취약점을 수정하지 않으면 여전히 일부 데이터를 주입하고 모든 SQL을 교체할 수 있습니다. PDO::가 포함된 문 준비 매개변수 바인딩 메서드를 작성한 다음 문제가 해결되었는지 관찰합니다. 또한, 시스템을 내부적으로 사용하는 경우에는 외부망에 개방하여 내부 IP를 통해 접속해서는 안 된다.
바인드 바이두 클라우드 관찰. 그런 다음 데이터베이스 계정을 IP
Sql 주입에 바인딩하고 처리되지 않은 양식이 있는지 확인해야 합니다
인증을 추가하면 더 좋겠지만, 인증식별도 하는 경우도 있는데, IP가 너무 자주 동작한다면 이 IP의 동작을 제한해 보세요! 물론 전문가는 웹사이트의 가치에 따라 IP 공격을 계속 변경할 수도 있습니다.
mysql 로그를 확인하고 작업 기록을 확인하세요
글을 쓰는 지점이 어디인지 먼저 로그를 확인하세요.
데이터베이스가 격리되어 있나요?
또한 SMS 전송 인터페이스가 이전에 확인 없이 지속적으로 요청되어 SMS 서비스를 사용할 수 없게 되었습니다
.