관리 메뉴

웹개발자의 기지개

SQL Injection 점검함수 본문

ASP

SQL Injection 점검함수

http://portfolio.wonpaper.net 2018. 11. 18. 14:31

Function fnCheckSQLInjection()
 Dim item, i, udata
 Dim retFlag

 retFlag = True

 For Each item In Request.QueryString
  For i = 1 To Request.QueryString(item).Count
   udata = LCase(Request.QueryString(item)(i) & "")
   If InStr(udata, "=cast(") > 0 Or InStr(udata, "sysdatabases") > 0 Or InStr(udata, "sysobjects") > 0 Or InStr(udata, "syscolumns") > 0 Or InStr(udata, "select char(94)") > 0 Then
    retFlag = False
    Exit For
   End If
  Next
  If retFlag = False Then
   Exit For
  End If
 Next

 If retFlag = True Then
  For Each item In Request.Form
   For i = 1 To Request.Form(item).Count
    udata = LCase(Request.Form(item)(i) & "")
   If InStr(udata, "=cast(") > 0 Or InStr(udata, "sysdatabases") > 0 Or InStr(udata, "sysobjects") > 0 Or InStr(udata, "syscolumns") > 0 Or InStr(udata, "select char(94)") > 0 Then
     retFlag = False
     Exit For
    End If
   Next
   If retFlag = False Then
    Exit For
   End If
  Next
 End If

 fnCheckSQLInjection = retFlag
End Function


'함수값이 False 면 팅군다.
If fnCheckSQLInjection() = False Then
….
end if
True 면 정상

'ASP' 카테고리의 다른 글

CodePage 와 Charset euc-kr 과 utf-8  (0) 2019.12.11
URLencode, URLdecode  (0) 2019.12.11
이전페이지 파일명 구하기  (0) 2018.11.28
현재파일명 구하기  (0) 2018.11.27
asp 내부오류 500 [2008서버]  (0) 2018.11.18
Comments