현재 위치 - 중국 분류 정보 발표 플랫폼 - 생활 서비스 정보 - Sql 주입 문제 방지

Sql 주입 문제 방지

ASP 프로그래밍 문턱이 낮아서 초보자가 쉽게 길을 갈 수 있다. 얼마 지나지 않아 초심자는 비교적 완벽해 보이는 동적 사이트를 만들 수 있는 경우가 많으며, 기능적으로는 베테랑이 할 수 있고 초심자도 할 수 있다. (윌리엄 셰익스피어, 윈스턴, 초심자, 초심자, 초심자, 초심자, 초심자, 초심자) 그럼 초보자와 베테랑은 다르지 않나요? 이 안의 차이는 정말 크지만, 문외한들은 한눈에 알아차리기 어려울 뿐이다. 인터페이스의 친숙성, 운영 성능 및 웹 사이트 보안 측면에서 초보자와 베테랑 간의 세 가지 차이점을 집중적으로 파악할 수 있습니다. 보안면에서 초보자가 가장 쉽게 간과할 수 있는 문제는 SQL 주입 취약점의 문제이다. Nbsi 사용

2.0 인터넷에 있는 일부 ASP 사이트를 약간 스캔하면 많은 ASP 사이트에 SQL 주입 허점이 있다는 것을 알 수 있습니다. 교육망 내 고교 내부 기관의 일부 사이트들은 이런 허점이 더 흔하다는 것을 알 수 있습니다. 이 사이트들은 대부분 일부 학생들이 하는 것이기 때문인 것 같습니다. 비록 모두 총명하지만, 결국 경험이 없고, 학습 중에 있어서 허점이 많을 수밖에 없습니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 공부명언) 이 기사에서는 주로 SQL 주입의 예방 조치에 대해 설명하고, 이러한 예방 조치의 용도를 이해하려면 먼저 SQL 을 사용하여 취약점 침입을 주입하는 과정을 상세히 설명해야 합니다. 초심자들이 똑똑히 보았다.

상당수의 프로그래머들은 코드를 작성할 때 사용자 입력 데이터의 합법성을 판단하지 않아 응용 프로그램에 보안 위험이 있습니다. 이것이 정상적인 URL 인 경우 mon\500-100.asp 를

로 변경합니다

C: \ windows \ help \ iishelp \ common \ 500.htm 이 경우 서버는 ASP 실행 중 발생한 오류에 관계없이 HTTP 500 오류만 표시합니다.

그러나 이렇게 설정하는 것은 프로그래머가 작성한 코드가 잘못되었을 때 서버에서 자세한 오류 메시지를 제공하지 않아 프로그래머에게 큰 불편을 초래할 수 있다는 점이다. 그러나 서버는 코드를 테스트하는 곳이 아니기 때문에 보안 안정성 1 위를 고수해야 합니다. 이렇게 설정하는 것도 당연합니다. 실제로 많은 서버의 오류 메시지가 이렇게 설정되어 있습니다.

또한 서버 관리자는 IS 에서 각 웹 사이트에 대한 실행 권한을 설정해야 하며, 정적 웹 사이트에 "스크립트 및 실행 가능" 권한을 부여하지 마십시오. 일반적으로' 스크립트 전용' 권한을 주면 충분하다. 사이트 백그라운드 관리 센터를 통해 업로드된 파일이 저장된 디렉터리에 대해서는 좀 더 인색하다. 실행 권한을' 없음' 으로 설정하면 사람들이 ASP 트로이 목마를 업로드하지 못하도록 실행 권한을' 없음' 으로 설정하면 사람들이 ASP 트로이 목마를 업로드하지 못하게 된다. 일반적으로 SQL 주입 취약점은 웹 사이트 보안과 관련이 있습니다. 이 취약점을 통해 ASP 트로이 목마를 업로드하고 실행하면 전체 서버가 실패합니다. 따라서 선견지명이 있고 책임감 있는 서버 관리자는 IIS 의 실행 권한을 매우 인색하게 구성해야 합니다.

동일한 인색한 태도가 데이터베이스 사용자의 권한 구성에 적용되어야 합니다. 물론 여기서 데이터베이스는 MS _ SQL 을 의미하며, ACCESS 에는 사용자 권한 구성 단계가 없습니다. PUBLIC 권한이 충분하면 더 이상 높은 권한을 주지 않을 수 있다면, SA 수준의 권한을 함부로 다른 사람에게 주지 마세요. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 명예명언) 소위 웹 사이트 보안 취약성 탐지 도구 NBSI

2.0 은 크로스 라이브러리 SQL 주입 기능을 가질 수 있습니다. SQL 주입 취약점이 있는 라이브러리에 SA 권한을 부여하면 다른 라이브러리는 보장되지 않습니다! 성문에 불이 나서 연못의 물고기에게 재앙이 닥쳤구나. Xp_cmdshell 명령을 호출하여 시스템의 최대 권한을 얻을 수도 있습니다. 구체적인 단계는 위에서 언급한' SQL 주입 허점 완전 접촉' 이라는 문장 참조.

다음으로 프로그래머의 예방 조치에 대해 이야기하겠습니다. 프로그램은 주로 두 가지, 가장 중요한 일을 해야 하는데, 물론 클라이언트가 제출한 변수 매개변수를 꼼꼼히 검출하는 것이다. 클라이언트가 제출한 변수를 검사하여 SQL 주입을 방지합니다. munity.csdn.net/ 을 검색해 보면 많은 유익한 정보를 얻을 수 있습니다.

여기에 기성된 방법을 소개한다. 다른 사람이 이미 검사 코드를 다 썼으니, 가지고 와서 써라. 스스로 수고할 필요가 없다. (윌리엄 셰익스피어, 햄릿, 지혜명언) 바로' 단풍나무 SQL 범용 주입 방지 V1.0

입니다

ASP 버전 ",사용자가 웹 주소를 통해 제출한 변수 매개 변수를 확인하는 코드입니다. 클라이언트 제출 매개 변수에는" exec, insert, select, delete, from, update, count, user, "가 있습니다 여러분은 인터넷을 검색해 보고, 이 코드를 다운로드하고, checkSQL.asp 와 같은 ASP 페이지로 저장할 수 있습니다. 이 페이지를 매개 변수가 필요한 각 SQL 데이터베이스 ASP 페이지에 포함, 기억하세요, 이런 LT 한 줄만 추가하면 됩니다. ! -# include

File = "checksql.asp"-gt; 코드만 있으면 됩니다.

프로그래머가 해야 할 두 번째 일은 사용자의 비밀번호를 암호화하는 것이다. 예를 들어, MD5 로 암호화합니다. MD5 는 역알고리즘이 없어 해독할 수 없다. 사람들은 암호화되어 데이터베이스에 깨진 코드 같은 비밀번호가 있다는 것을 알면서도 원본 비밀번호를 알 수 없었다. 그러나, 사람들은 자신의 비밀번호를 자신의 비밀번호로 대체하는 UPDATE 방법을 사용할 수 있지만, 이 작업은 여전히 좀 번거로워서, 사람들이 번거로움을 두려워해서 포기할 수도 있다. 소위 웹 사이트 보안 취약성 탐지 도구인 NBSI

2.0 은 UPDATE 조작 기능을 제공하지 않기 때문에 MD5 암호화를 사용하면 NBSI

만 사용합니다

수동 조작 대신 2.0 을 사용하면 사이트 관리자 계정의 비밀번호를 얻을 수 없습니다. 이로 인해 많은 초보급 공격자가 차단됩니다. 적어도 ASP 도 SQL 도 모르고, 어린 남성 청년들은 어쩔 수 없습니다! (데이비드 아셀, Northern Exposure (미국 TV 드라마), 남녀명언)

문장 (WHO) 는 이미 충분히 길었는데, 원래 소위 인터넷 보안 취약점 탐지 도구인 NBSI 의 스트림과 같은 해커 도구에 대해 이성적인 논의를 하고 싶었는데, 포기하는 게 좋을 것 같다. 사이트 보안을 강화하기 위해서는 공격 수단을 이해하는 것이 필요하지만, 허점을 이용하여 전문 해커 도구를 개발하여 실제로 필요한 사이버 기술과 사이버 보안 지식이 없는 사람들 (즉, "ASP 도 모르고 SQL 도 모르는, 어린 남성 청년") 이 한 사이트를 쉽게 해킹할 수 있도록 하는 것은 많은 네트워크 관리자에게 폐를 끼치는 것 외에