sql injection 공격 방지
웹 클라이언트의 반환 메시지를 이용하여 불법 인증 및 정보를 유출하는 공격. 웹 응용 프로그램에 강제로 구조화 조회 언어(SQL) 구문을 삽입하여 내부 데이터베이스(DB) 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회할 수도 있다. 이 공격은 MS SQL 서버뿐만 아니라 모든 관계형 데이터베이스 관리 시스템(RDBMS)에서 가능하다.
쉽게 예를들면 sql문에 들어가는 데이터를 변조하여, 시스템을 조작. (sql문에 들어가는 데이터는 보통 request("")을 이용하니까요.)
사용예)
Function sqlFilter(search)
Dim strSearch(3), strReplace(3), cnt, data
'SQL Injection 특수문자 필터링
'필수 필터링 문자 리스트
strSearch(0)="'"
strSearch(1)="<script"
strSearch(2)="<iframe"
'변환될 필터 문자
strReplace(0)="'"
strReplace(1)="<script"
strReplace(2)="<iframe"
data = search
For cnt = 0 to 3 '필터링 인덱스를 배열 크기와 맞춰준다.
data = replace(data, LCASE(strSearch(cnt)), strReplace(cnt))
Next
sqlFilter = data
End Function
userNumber = sqlFilter(request.form("userNumber"))
sql = "select userName from tblUser with(nolock) where userNumber="& userNumber
이하 DB연결...
'asp,ms-sql' 카테고리의 다른 글
해외 리뷰어의 인텔 12600K 평가 (0) | 2021.11.08 |
---|---|
인텔 12세대 패키징 근황 웨이퍼 (0) | 2021.10.23 |
asp에서 mysql 접근 (0) | 2014.04.24 |
ms-sql 특정 문자열이 포함된 프로시져 찾기 (0) | 2014.04.24 |
자바스크립트 한글만, 숫자만, 영문만 허용 체크 (0) | 2014.04.24 |