ASP는 단지 기술이자 실행 환경입니다. 모든 백엔드 관리 시스템이 ASP인 것은 아닙니다. PHP, JSP, CGI, ASPX 또는 기타 기술일 수도 있습니다. 단지 ASP가 현재 더 널리 사용되는 기술일 뿐입니다.
당신이 언급한 'or'='or' 허점은 ASP 자체의 허점이 아니라 단지 프로그램 작성의 논리적 허점입니다. 이 허점을 주입 주입 허점이라고 합니다. 그 원리는 다음과 같습니다. 이름과 비밀번호, 신중하게 구성된 사용자 이름 a 또는 사용자 이름<>'a를 제출하고 비밀번호는 a 또는 pwd<>'a이며 프로그램의 판단 설명은 다음과 같습니다. select * from user_table 여기서 사용자 이름=사용자 이름 및 pwd=password 그러나 위의 사용자 이름과 비밀번호를 사용하면 다음과 같이 됩니다. select * from user_table 여기서 사용자 이름=a 또는 사용자 이름<>a 및 pwd=a 또는 pwd<>a는 위의 SQL 문이 됩니다. 이 경우 프로그램은 사용자 이름과 암호가 올바른 것으로 간주하고 사용자 이름을 올바른 세션에 할당하므로 뒤에서는 다음과 같은 결과가 발생합니다. 해결책은 교체() 함수를 사용하여 '를 필터링하고 다시 사용자 이름 및 비밀번호 입력 상자에 입력되는 문자 수를 제한하는 것입니다. 실제로 상대방이 데이터베이스의 사용자 이름 및 비밀번호 필드를 모르는 경우. , 성공적으로 크랙할 수 없습니다.