マイクロソフトがSQLインジェクションに関するソースコード分析ツールを提供

これは素晴らしい。サイト公開前にチェックをするようにしましょう
チームのルールとしてぜひご利用ください

Microsoft Source Code Analyzer for SQL Injection (SQLインジェクションに関するソースコード分析ツール)
このツールは、ASPソースコードを静的に分析して、SQL インジェクションの原因となるような未検証の外部入力や、外部入力を直接使った SQL コマンド/ステートメントの構築等々を検出します。
ツールでは、以下の6種類の点について検査し、警告を出力します。

ツールに関しては、サポート技術情報 954476 をご覧ください。

INTRODUCTION
This article describes the Microsoft Source Code Analyzer for SQL Injection tool. You can use this static code analysis tool to find SQL injection vulnerabilities in ASP code.

ダウンロードはこちらから。

Brief Description

Community Technology Preview (June 2008)
Microsoft Source Code Analyzer for SQL Injection is a static code analysis tool for finding SQL Injection vulnerabilities in ASP code. Customers can run the tool on their ASP source code to help identify code paths that are vulnerable to SQL Injection attacks.

試しに10年前に作ったコード(もう使っていません)を食わせてみる

C:\Program Files\Windows Resource Kits\Tools>"C:\Documents and Settings\aaaaaaaa
a\デスクトップ\msscasi\msscasi_asp.exe" /Input="C:\Documents and Settings\aaaaaa
aaa\デスクトップ\addtech2.asp"
Microsoft (R) Source Code Analyzer for SQL Injection Version 1.3.30601.30622
Copyright (C) Microsoft Corporation.  All rights reserved.

C:\Documents and Settings\aaaaaaaaa\デスクトップ\addtech2.asp(56) : warning C804
00: Unvalidated HTTP Request data possibly executed, making 'START' potentially
vulnerable to first-order SQL Injection attacks. Reported by Microsoft (R) Sourc
e Code Analyzer for SQL Injection on tracked object SSQL (created as return.DEFA
ULT_PROPERTY`52).

Path summary:
 - {return.DEFAULT_PROPERTY}[return.DEFAULT_PROPERTY`52 : string_unvalidated] cr
eated on 'Request' (line 52)
 - {return.DEFAULT_PROPERTY}[return.DEFAULT_PROPERTY`52 : string_unvalidated] to
 {SSQL, return.DEFAULT_PROPERTY}[return.DEFAULT_PROPERTY`52 : string_unvalidated
] on 'Transfer' (line 52)
 - {SSQL, return.DEFAULT_PROPERTY}[return.DEFAULT_PROPERTY`52 : string_unvalidat
ed] to {SSQL, return.DEFAULT_PROPERTY}[return.DEFAULT_PROPERTY`52 : $error] on '
Execute' (line 56)
 : Lines: 17, 24, 25, 30, 31, 34, 39, 40, 42, 43, 44, 45, 46, 47, 49, 50, 52, 54
, 55, 56

C:\Documents and Settings\aaaaaaaaa\デスクトップ\addtech2.asp(112) : warning C80
400: Unvalidated HTTP Request data possibly executed, making 'RESULT' potentiall
y vulnerable to first-order SQL Injection attacks. Reported by Microsoft (R) Sou
rce Code Analyzer for SQL Injection on tracked object __VBS_EXECUTE.arg.1 (creat
ed as return.DEFAULT_PROPERTY`112).

Path summary:
 - {return.DEFAULT_PROPERTY}[return.DEFAULT_PROPERTY`112 : string_unvalidated] c
reated on 'Request' (line 112)
 - {return.DEFAULT_PROPERTY}[return.DEFAULT_PROPERTY`112 : string_unvalidated] t
o {__VBS_EXECUTE.arg.1, return.DEFAULT_PROPERTY}[return.DEFAULT_PROPERTY`112 : s
tring_unvalidated] on 'Transfer' (line 112)
 - {__VBS_EXECUTE.arg.1, return.DEFAULT_PROPERTY}[return.DEFAULT_PROPERTY`112 :
string_unvalidated] to {__VBS_EXECUTE.arg.1, return.DEFAULT_PROPERTY}[return.DEF
AULT_PROPERTY`112 : $error] on 'Execute' (line 112)
 : Lines: 106, 110, 111, 112