Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- MSSQL보안
- VarType
- FileSystemObject
- 한글입력체크
- javascript 한글입력체크
- tempDB
- sql업데이트
- wap
- injection
- inner join
- instr
- join
- sql순위
- jdbc driver
- VARIABLE
- WML
- 이미지가로길이
- asp함수
- array
- 이미지세로길이
- xmldom
- sql랭킹
- update
- 인젝션
- 정규식
- SPLIT
- XML
- 자바기초
- ERD
- JavaScript
Archives
- Today
- Total
3초기억력
개선된 SQL 인젝션 탐지 함수 본문
정상적인 SQL 쿼리를 감지하지 않으면서도 SQL 인젝션 공격을 탐지할 수 있도록 패턴을 더욱 구체화하겠습니다.
<% Function IsSQLInjection(userInput) Dim lowerInput, suspiciousPatterns, pattern, i ' 입력을 소문자로 변환하여 대소문자 무시 lowerInput = LCase(Trim(userInput)) ' SQL 인젝션에서 자주 사용되는 패턴을 구체적으로 정의 suspiciousPatterns = Array( _ "union select", _ "or 1=1", _ "--", _ "/*", _ "*/", _ ";", _ "drop table", _ "exec xp_", _ "cast(", _ "convert(", _ "select count(*)", _ "select * from information_schema.tables", _ "select * from mysql.user" _ ) ' 각 패턴에 대해 검사 For i = 0 To UBound(suspiciousPatterns) pattern = suspiciousPatterns(i) ' 패턴이 입력에 포함되어 있는지 검사 If InStr(lowerInput, pattern) > 0 Then IsSQLInjection = True Exit Function End If Next IsSQLInjection = False End Function ' 사용 예시 Dim userInput userInput = "SELECT * FROM users WHERE username = 'admin'" If IsSQLInjection(userInput) Then Response.Write("SQL Injection detected!") Else Response.Write("Input is safe.") End If %>
출처 : 나
'플밍_ASP' 카테고리의 다른 글
classic asp IIS에서 SameSite 전체 적용하기 (0) | 2024.10.14 |
---|---|
Classic asp SQL Injection (0) | 2024.08.22 |
sha512 hash 데이터 생성 함수 (0) | 2024.05.10 |
iis 10에서 외부 smtp 네이버 계정으로 메일 보내기 (0) | 2023.07.27 |
ASP 유니코드 변환 함수 (\u로 시작하는 유니코드를 한글로 변환) (0) | 2022.01.14 |
Comments