風信4.0未公開Bug
1058 ワード
このものはコードを見る時に適当に見られるところだけです。他のところはまだ多くあります。その時書いてもテストがないので、メモしておきました。ははは~この間ネットで流行っていたSQL注入は偽プロキシIPを利用して攻撃していました。このHTTP_X_FOREWARD_FORはしばらくの間、人々の注目を集めています。今日はニュースを見ています。 このような注入点も発見されました。面白いのはプログラマはHTTPを考慮しています。X_FOREWARD_FORのフィルタリングは、お問い合わせの際に、フィルタリングされた変数を持ち込むのを忘れていたようです。そのままフィルタされていないVisityIPに持ち込みました。以下は分析コードです。Start/Index.aspファイルの18行目のVisityIPです。 = request.ServerVarables(「HTTP_」X_FOREWARD_FOR")直接HTTP_をX_FOREWARD_FORはVisit IP変数に割り当てられ、ファイル61行目のEntAddressである。 = EnAddrはここで2つの関数を使ってVisityIPをフィルタリングしましたが、最後の割当値を見るとEnAddressという変数を与えました。下の62行目のクエリーはそのままフィルタなしのVisityIP変数を持ち込んでいます。ここでSQLを注入することができます。セット Rs CouObj = Conn.Execute ID from FS_SS_ステージ where IP='&VisityIP''''はこのファイルの中にVisityIPという変数を使うところがたくさんあります。その救済方法も簡単です。EnAddressを使うということです。 = EnAddr(EnIP)をVisityIP=EnAddr(EnIP)に変更しました。ここではバッグを通じてHTTP_を追加できます。X_FOREWARD_FOR:123'+and+user'0--このように注入します。もしaccessバージョンであれば、HTTP_を通過することができます。X_FOREWARD_FOR:123'+and+1=1+and+'1'=1'という形で注入します。ユニオンで文字の内容を暴くことができます。OKです。具体的にはあなたが実現するのを待ってください。たくさんやります。BY Whtt