推奨:ASPのデータを照会するときに取得した録音キーワードを表示するために赤を使用します%respons.writeの交換(rs(フィールドx)、searchname、font color =#ff0000 searchname/font)
SQLインジェクションの一般的なHTTPリクエストは、取得と投稿に過ぎないため、すべての投稿のパラメーター情報またはファイル内のリクエストを取得する違法な文字をフィルタリングする限り、SQLインジェクション攻撃を防ぐことができます。IISによってASP.DLLに渡されたGETリクエストは、文字列の形式です。 queryStringデータに渡した後、ASPパーサーはrequest.queryStringの情報を分析し、次に各配列のデータを&に従って分割します。以下には、インターセプトとポストインターセプトのコードをリストします。
dim sql_injdata
sql_injdata = '| and | exec | insert | select | delete | update | count |*|%| chr | mid | master | truncate | char | declare
sql_inj = split(sql_injdata、|)
request.querystring <> thenの場合
request.querystringの各sql_getについて
sql_data = 0からubound(sql_inj)
If strument(request.querystring(sql_get)、sql_inj(sql_data))> 0
respons.write <スクリプト言語= 'javascript'> alert( 'htmer.comシステムプロンプト↓nn gleaseはパラメーターに違法な文字を含めていないため、注入しようとします!
Response.End
ifを終了します
次
次
IF '======インターセプト後======
if request.form <> then
request.formの各sql_postについて
sql_data = 0からubound(sql_inj)
If struct(request.form(sql_post)、sql_inj(sql_data))> 0
respons.write <スクリプト言語= 'javascript'> alert( 'htmer.comシステムプロンプト↓nn gleaseはパラメーターに違法な文字を含めていないため、注入しようとします!
Response.End
ifを終了します
次
次
ifを終了します
OK、GETリクエストと投稿の情報傍受を実装しました。 conn.aspなどのデータベースファイルを開く前に、このページを参照する必要があります。
共有:ASPプログラムで文明化されていない文字をフィルタリングする関数%functioncutbadchar(str)badstr = no | text | ming | ming | column | column | format 'ここでは未確認の単語に記入します。