Ph4studio에서 블로그를 선택하기 위해 일반 ASP 방지 프로그램을 작성하십시오.
키워드에 대한 일반적인 ASP 방지 프로그램을 작성하십시오
원천
SQL 주입은 초보자 수준의 소위 해커와 함께 연주되었습니다. 나는 대부분의 해커 침입이 이제 SQL 주입을 기반으로한다는 것을 알았습니다.
, 아아, 누가이 시작하기 쉽게 만들었습니까? 좋아, 나는 더 이상 넌센스를 말하지 않을 것이다. 이제 일반 SQL 방지 프로그램을 작성하면 말하기 시작했다.
일반 HTTP 요청은 파일에 모든 게시물을 필터링하거나 요청 매개 변수 정보를 가져 오는 한 얻기 및 게시 이상입니다.
불법 문자로는 충분하므로 HTTP 요청 정보 필터를 사용하여 SQL 주입 공격이 적용되는지 여부를 결정할 수 있습니다.
IIS는 asp.dll에 전달 된 문자열 형식으로, request.querystring data,
ASP Parser는 request.querystring의 정보를 분석 한 다음 "&"에 따라 각 배열의 데이터를 나눕니다.
따라서 다음과 같이 차단됩니다
먼저, 우리는 요청에 다음 문자를 포함 할 수 없다고 정의합니다.
'| and | exec | insert | 선택 | 삭제 | 삭제 | 카운트 |*|%| chr | mid | mas
각 캐릭터는 "|"로 분리 된 다음 요청을 판단합니다.
특정 코드는 다음과 같습니다
dimsql_injdata
sql_injdata = " '| and | exec | insert | 선택 | 삭제 | count |*%| chr | mid | master | truncate | char | declare"
sql_inj = split (sql_injdata, "|")
ifrequest.querystring <> "" "그런 다음
foreachsql_getInrequest.querystring
forsql_data = 0toubound (sql_inj)
ifinstr (request.querystring (sql_get), sql_inj (sql_data))> 0then
응답. "<ScriptLanguage = ****> Alert ( 'Tianxia Movie Alliance SQL 범용 방지 시스템 프롬프트 ↓ Nnplease 매개 변수에 불법 문자가 포함되어 있지 않으며 주사를 시도하십시오!'); history.back (-1) </script>"
응답. 엔드
endif
다음
다음
endif
이러한 방식으로 GET 요청 주입의 차단을 구현하지만 게시물 요청을 필터링해야하므로 ARRAY 형식으로 존재하는 Request.Form을 계속 고려해야합니다. 코드는 다음과 같습니다
ifrequest.form <> ""그러면
foreachsql_postinrequest.form
forsql_data = 0toubound (sql_inj)
ifinstr (request.form (sql_post), sql_inj (sql_data))> 0then
응답. "<scriptlanguage = ****> Alert ( 'Tianxia Movie Alliance SQL Universal Anti-Inject System Prompts ↓ nnplease 매개 변수에 불법 문자를 포함시키지 않으며 Nnhttp : //www.521movie.com'); history.back (-1)) </script>"
응답. 엔드
endif
다음
다음
endif
자, 작업이 완료되면 Get 및 Post 요청에 대한 정보 차단을 구현했습니다. Conn.asp와 같은 데이터베이스 파일을 열기 전에이 페이지를 참조하면됩니다. 자신감을 가지고 프로그램을 계속 개발하십시오. SQL 주입에 의해 여전히 공격을받을 것인지 고려할 필요가 없습니다. 그렇지 않습니까?