どのように攻撃を注入するようにSQLを見つける+を停止

あるものの多くはそこについては、SQLインジェクション攻撃だが、そこに多くのことをどのように発生から、これらの攻撃を停止する把握に役立つではない。

SQLインジェクション攻撃は本当に何であるかについてまず、聞かせて話しています。 一部の人々は、ある種のウイルスは、その"サイト内にあると思います。"しないケース。 これらは、他のウイルスボット攻撃感染したコンピュータです。 彼らは単にPOSTが/入力のGETしようと彼らに自身のデータを送信するために取るのURLをスキャンするブルートフォースのアプローチを使用します。

だから、どのようにこれらのダウンして、それらを停止追跡のですか? WebサイトのMicrosoftのIISによって供給については、ここで我々の提案があります:

  1. IISを見てのログ
    単語"のDECLARE"や"EXECUTEを探してみてください。"あなたが攻撃に見舞われている場合は、これらを使用しようとしたあらゆる攻撃more可能性が高いあなたのIISのログを表示 - 少なくとも""投稿を取得します。 あなたは"宣言"または"すべてのインスタンスが見つかった場合のEXECUTE"これらのページで始まるしています。
  2. 使用して集中型データベース接続処理
    あなたはASPを使用している場合はシンプルで、集中ファイル(connection.aspなど作る )は、すべてのDBアクセスを処理します。 この方法では、簡単には、SQLは、ページをエンコードすることを確認するです。 簡単に"を宣言"と""EXECUTEおよび停止攻撃のトラックの死者のためのクエリを検索することができます。
  3. 実装サイト全体ソリューション
    サーバーをする場合自身のあなたの場合は実行して、我々は非常に(HeliconTechからお勧めISAPI_Rewriteのをhttp://www.helicontech.com/isapi_rewrite~~V )。 これは、URLデータをスキャンするなどいろいろな物を行うことができますISAPIフィルタです。 これは、攻撃のサイト上の任意のコードを変更せずに99%を停止します!\を
  4. データベースユーザーとして絶対に使用しないの"sa"は、あなたからの作業しているし、マスターdboを読む権限を削除するデータベースのユーザーを作成します。 これは""あなたのデータベースの構造を盗聴、攻撃者を防止するただし、これらの攻撃は、進化してきたので、そのプロシージャベースの攻撃は場所さえのセキュリティのこれらのタイプwith起こるstored消毒すること。 詳細については、http://www.ngssoftware.com/papers/more_advanced_sql_injection.pdfを参照してこれと他のアイデアをSQLインジェクション攻撃を防止します。

youが今までどこにプログラミングのリークは、is(または不思議)then best way、どの攻撃が起きたページthrough IISのをcheckingではを決定するために誰かelse fromプロジェクトを引き継ぎましたがあなたの頭を悩まれているIf logs。

多くのスクリプトをクリーンアップする可能だが、最高のヒントがバックアップ時間にはであり、ベストプラクティス(一部は私がここで強調表示に従う)。 頑張って

どのようにセットアップするWindows 2003のWebサーバーを

たびに我々のセットアップWebサーバーとしてW2K3ボックス我々は次の操作

ステージ1
1.1コピー用にc:\
すべてのパーティション上の1.2にWindowsを構成アクセス許可
- コメントを残す
Administrators(フル)
System(フル)
削除それ以外
1.3変更管理
1.4名前の変更機
1.5再起動
1.6は、Windowsの更新(未インストール。NET Frameworkを)
1.7は、IPのTCP / IPです追加
1.8はTCP / IP(のみ必要な場合)にDNSサフィックスを追加する
1.9を無効にするシャットダウンイベントの追跡ツール
1.10再起動

ステージ2
2.1のサポートツールをインストールする
2.2は、リソースキットツールをインストールする
2.3インストールKB908521(まだ必要w2k3 SP2の場合)
2.4は、SNMPをインストールする
2.5は、インフォーマントSNMPをインストールする
2.6は時間Windowsを構成する
2.7再起動

ステージ3
3.1インストールのR2(あなただけがそれをする場合)
3.2再起動

ステージ4
4.1セットアップの自動更新
4.2セットアップのMSのDNS
ローカルDNS 4.3設定のTCP / IP
4.4 MSTDC修正

ステージ5
5.1は、IISをインストールする
5.2を許可する直接メタベースの編集
5.3設定IISのIPはのことに耳を傾けて
5.4は、IISを再起動します
5.5設定のデフォルトのドキュメント
5.6設定W3SVCをは、Paramsログ
5.7は、FastCGIのインストール
5.8は、PHPをインストールする5.1&5.2(FastCGIのモード)
5.9インストールZend Optimizerは(32ビット版)
5.10 Perlのインストール
5.11はPythonをインストールする
5.12は、SMTP IISを構成する
5.13を無効にするIISのSMTPのソケットプーリング
- http://www.isaserver.org/tutorials/i ... etpooling.html
5.14再起動

ステップ6
6.1のインストール。NET Frameworkを2.0
6.2のインストール。NET Frameworkを2.0 SP1の
6.3のインストール。NETをAJAXの1.0
6.4インストール。NET Frameworkは3.5(SP1なしのインストーラを使用してください)を確認
6.5インストールの。NET Framework 3.5(SP1をする場合のみヘルム4.1を使用し)
6.6再起動

ステップ7
7.1はISAPI_Rewriteのインストール
7.2はJMail.NETをインストールする
7.3はW3JMailをインストールする
7.4は、ホットリンクのブロックをインストールする
7.5パスワードのIISをインストールする
7.6 WinRARのインストール
7.7のインストールをメールASPのために主張する
7.8のインストールJPEG画像ASPのために主張する
7.9のインストールをアップロードASPのために主張する
7.10再起動

当然のことながらボックスは、DNSサーバーは、MSDNSをインストールしないとするつもりはない場合は、手順は両方の32ビットおよび64ビットw2k3に適用されます。 私は情報だけでので、どのような順序我々は物事を行うには見ることができるので、詳細は各ステップを説明するつもりはない。 これは非常によくテストされ、我々はすべての問題を抱えていないされている

我々は確かにPHPが正しく次のステップに進む前に、動作しているようので、テストのすべての各段階で我々がインストールします。 あなたは、MySQLまたはMSSQL私はステップ8でそれを行うにしたいインストールする必要がある場合。 一度すべてを使用するようにヘルムをインストールすると、セットアップがリモートまたは制御します。

ASPサービスから、従来のWebを呼び出す

2月は14日、2009年AcidRaZor · コメントを残す
報告Filed under: 従来のASP101プログラミング
  1
 2
 3
 4
 5
 6
 7
 8
 WebService,Data ) Dim SoapRequest Set SoapRequest = Server . CreateObject ( "Msxml2.XMLHTTP" ) SoapRequest. Open "POST" ,WebService , False SoapRequest. setRequestHeader "Content-Type" , "application/x-www-form-urlencoded" SoapRequest. Send Data sendToWebService = SoapRequest. responseText Set SoapRequest = Nothing End Function 機能 sendToWebService(WebServiceを、データ 点心 SoapRequest 設定 SoapRequest = サーバCreateObject("Msxml2.XMLHTTP")SoapRequest。開く "POST"を 、WebServiceを、Falseを SoapRequest。setRequestHeader"Content - Typeが"、"application/x-www-form- SoapRequestをURLエンコード" を送信するデータsendToWebServiceは= SoapRequest。responseText 設定 SoapRequest = 何も エンド 機能 

データのようになります:

 1 
  and the WebService would look like : WebService = "http://" & trim ( Request . ServerVariables ( "SERVER_NAME" ) ) & "service/service.asmx/webmethodfunction"見てのように:WebServiceのデータは、="firstparameter = yourdata&secondparameter =と"yourdata WebServiceが希望= 、"http://"&" トリム  リクエスト。ServerVariables("SERVER_NAME"))&" サービス/ service.asmx / webmethodfunction 

あなたの関数名とボブに置き換えますwebmethodfunctionあなたの叔父です。

機能との違いの間にサブ

2月3、2009年AcidRaZor · コメントを残す
報告Filed under: 従来のASP101プログラミング

プログラミングフィールドの最後の数年間私が)を使っての簡単なミスを犯すジュニアの(さらにベテランの人を見ている機能のすべてを。 一部ではサブの...私は彼らがよくわかっていないからだと思われる使用されます。

。NETとPHPの言語の出現は、True、今日は(植え付けるまたはその物質の力)は、各瞬間の正しい構文を使用すると、私は必ずしも学校にこれを学ぶために行くことが趣味として感じる、かもしれない博識。

簡単に言うと。 関数は値を返す場合、サブしません。

クラシックASPでこの例:

  1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 myVariable = "AcidRaZor" If checkIfTrue ( myVariable ) Then Response . Write "This is indeed true" End If Function checkIfTrue ( var ) Dim ret : ret = false If var = "AcidRaZor" Then return = true End If checkIfTrue = ret End Function 薄暗い myVariable:myVariable ="AcidRaZor" もし checkIfTrue(myVariable) 次に、応答書く "を返す終了 = trueの 場合 checkIfTrue それから これは確かに真の" エンド場合 機能 checkIfTrue("AcidRaZor  、var) 点心 Retの:ret" もし varは =  = RETのエンド機能 

サブのようになります例:

  1
 2
 3
 4
 5
 6
 7
 myVariable = "AcidRaZor" saveThisName myVariable Sub saveThisName ( var ) Session ( "nameSaved" ) = var End Sub 薄暗い myVariable:myVariable ="AcidRaZor"saveThisName myVariable サブsaveThisName( 変数名) セッション ("nameSaved")= ヴァールEnd Subの 

以上これが流出(できればいくつかの質問に答えます)。NETとそれ以降の新しいバージョンに挿入します。 関数のか、単に処理からサブのデータを変数を返す。 すぐに学生が教師になる :)

日付のデフォルト値-どのようなすべてのプログラマが知っておくべきこと

2月1、2009年AcidRaZor · コメントを残す
報告Filed under: 従来のASPプログラミング101SQL Serverの

数年前に私が私の最初のタスクのプログラミングを開始イントラネットシステムを会議や特定のタスクの従業員を追跡することができるコードにされた日カレンダーに基づいて全体でした。 私はどんな力がSQL Server 2000は(今2005/2008)いたがいかに簡単か、それらのシステム内での作業を知っていた前にこれがいた。

MS Accessの(1999年以降多くの変更)1つの欠陥があった。 それは常にmm / ddの/(アメリカyyyyの日付のフォーマットを維持、これが私の仕事がますます南アフリカベースの時間(/ mmの/ yyyyのにddの日付を処理しようとすると難しいものので、"世界"ハハハハハ)です)

私は、ハードがMS Accessの私の日付入力を虐殺する恥知らずな行為を理解するのに苦労が、私は助けることができなかったが、このCANはない、すべてのプログラマに起こると思います!

心臓痛の多くは、眠れぬ夜を多くの後、私は最終的にMS Accessの(と他のサーバーれた狼に、異なるタイムゾーンの設定で実行して地域)特効薬を発見

はdd - 3000 - yyyyは! 100%保証とに訳:01 - 01 - 1999たとえば、することができます挿入する日は、あなたの睡眠は間違いない。 この普遍的な日付形式はANYで(はい、いずれかの)データベースは、人間にもかかわらず、あなたの生データは、1999年9月2日、データベースのように、それは常に挿入正しい形式で正しい日付look知れ!それを読んでworkするに関係なく、サーバーがオンに設定されてどのようなタイムゾーンのデータベース!

日付を読み出すの従来のASPのexampesは:

  1
 date ( ) ) & amp ; "-" & amp ; Left ( MonthName ( Month ( Date ( ) ) ) , 3 ) & amp ; "-" & amp ; Year ( Date ( ) )  ())&アンプ;" - "&アンプ;左の画像(MonthName( 日付()))、3)&アンプ;" - "&アンプ;  日付(登録)) 

SQL Serverの例の代わりにMonthName(これは左の画像()なしで私はASPで)を使用し、そしてもちろん、日付()= getdate()はSQL Serverでいた機能省略することができますDATENAMEはを使用します ;)

私はいつも正しい形式のストアドプロシージャを持つデータベース(可能な限り)、まず最初にそれを読んでお勧めします。 しかし、それは最大どのように知識の私があなたにスローされるこの宝石を使用して決めることだ。 そして、もしあなたがこの考え方を読んでいる"しかし、私はすでにこれを知っていた!"を考えてもう一度。 残念ながら、2009年には、まだかなりの数のプログラマがタイムゾーン、日付処理のような単純な概念を把握することはできません。

しています。子供。 間違いをあなたはまだゲームで新しいしている作る1つの事です。 ...私はあなたの夢を悩ませよとCV(履歴書)と3年間+の経験を振り回しながらも、これらの間違いを犯すだけで間違ってプレーン...あなたは進化すると答えを常に見ているフィールドを選択すると、停滞しないでくださいあなたがいない場合 :)

SEOの電源でプラチナのSEOからTechblissonline