ASP の get および post データ受信フィルター関数。安全のためにコピーされた一部のコードは次のとおりです。
<%
'------定義部分-------
ディム XH_Post、XH_Get、XH_In、XH_Inf、XH_Xh、XH_db、XH_dbstr
'フィルタリングする必要がある文字列を | で区切ってカスタマイズします。
XH_In = '|;|and|exec|insert|select|delete%20from|update|count|*|%|chr|mid|master|truncate|char|declare|drop%20table|from|net%20user|xp_cmdshell| /add|net%20localgroup%20administrators|Asc|char
----------------------------------
%>
<%
XH_Inf = スプリット(XH_In,|)
'----------POST パート -------
If Request.Form<> then
Request.Form の各 XH_Post について
XH_Xh=0 の場合、Ubound(XH_Inf) へ
If Instr(LCase(Request.Form(XH_Post)),XH_Inf(XH_Xh))<>0 then
Response.Write <Script Language=JavaScript>alert('パラメータに不正な文字を含めないで注入してください!');</Script>
応答。不正な操作を書き込みます。このシステムは以下のような記録を残しました↓<br>
Response.Write オペレーション IP: &Request.ServerVariables(REMOTE_ADDR)<br>
Response.Write 操作時間:&Now<br>
Response.Write 操作ページ: &Request.ServerVariables(URL)<br>
Response.Write 送信メソッド: POST<br>
Response.Write 送信パラメータ: &XH_Post<br>
Response.Write はデータを送信します: &Request.Form(XH_Post)
応答.終了
終了の場合
次
次
終了の場合
----------------------------------
'----------パーツを取得------
If Request.QueryString<> then
各 XH_Get In Request.QueryString
XH_Xh=0 の場合、Ubound(XH_Inf) へ
If Instr(LCase(Request.QueryString(XH_Get)),XH_Inf(XH_Xh))<>0 then
Response.Write <Script Language=JavaScript>alert('パラメータに不正な文字を含めないで注入してください!');</Script>
応答。不正な操作を書き込みます。このシステムは以下のような記録を残しました↓<br>
Response.Write オペレーション IP: &Request.ServerVariables(REMOTE_ADDR)<br>
Response.Write 操作時間:&Now<br>
Response.Write 操作ページ: &Request.ServerVariables(URL)<br>
Response.Write 送信メソッド: GET<br>
Response.Write 送信パラメータ: &XH_Get<br>
Response.Write はデータを送信します: &Request.QueryString(XH_Get)
応答.終了
終了の場合
次
次
終了の場合
----------------------------------
%>