SpareNet Servers Advertising & Link Exchange

اطلاعیه

بستن
هیچ اطلاعیه ای هنوز ایجاد نشده است .

جلوگیری از حملات SQL Injection در ASP.NET

بستن
X
 
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
نوشته‌های جدید

  • جلوگیری از حملات SQL Injection در ASP.NET

    باسلام.
    امروز قصد بر این شد که چگونگی جلوگیری از حملات SQL Injection در ASP.NET را برای شما شرح بدم با اجازه مدیران.
    خوب اول توضیح میدم ک حمله SQL Injection چیست؟
    برای افراد مبتدی.
    هکرها به نوعی تزریق دستورات خود به سایت استفاده می کنند یعنی(با تزریق کردن دستورات SQL مورد علاقه خود به Application شما) SQL Injection میگویند
    مثال:سیستم Login:

    صفحات Login معمولا دارای فیلدهایی هستند که دو مقدار ID و Password را از کاربر گرفته و سپس با استفاده از یک دستور SQL آن را پردازش می کنند. نمونه ساده ای از این دستور به صورت زیر است:

    [php]
    SELECT COUNT(UserID) FROM tblUsers WHERE UserID=’” & UserID.Text & “‘ AND Pass=’” & Password.Text & “‘”

    [/php]
    در این مثال UserID و Password دو کنترل TextBox هستند که مقادیر آنها بایستی مورد پردازش قرار گیرد. حال فرض می کنیم کاربر مقادیر را به صورت mahdi و ۱۲۳ وارد نماید، در این صورت جمله SQL به صورت زیر تولید می شود:


    SELECT COUNT(UserID) FROM tblUsers WHERE UserID=’mahdi’ AND Pass=’123′
    خوب تا اینحا مشکلی وجود ندارد. حال فرض کنید که هکر ما به جای کلمه کاربری خود عبارت زیر را وارد نماید:

    ‘ OR 1=1 –
    در این صورت عبارت SQL زیر تولید خواهد شد:[php]SELECT COUNT(UserID) FROM tblUsers WHERE UserID=” OR 1=1 – AND PASS=”[/php]

    چاره:
    ساختار شی گرای ASP.NET و امکانات این ساختار به برنامه نویسان امکان مانور بیشتری را داده است. حال ما کد کامل اصلاح شده را در زیر آورده و سپس توضیحات آن را ذکر می کنیم:
    کد:
    Dim strSQL As String = "SELECT COUNT(UserID) FROM tblUsers WHERE  UserID=@UserID AND Password=@Password" Dim cmndCheck As OleDbCommand =  New OleDbCommand(strSQL,  _Connection)  cmndCheck.Parameters.Add("@UserID", UserID.Text);  cmndCheck.Parameters.Add("@Password", Password.Text);  cmndCheck.Connection.Open() Dim IsValid As Integer =  cmndCheck.ExecuteScalar()  If IsValid > 0    '... Some Code here...  User is authenticated Else    '... Some Code here... User is not  aututorized to view the page End If
    توضیح:برخی قسمتهای این مقاله ازBeth Breidenbach میباشد.
    ادامه دارد........
صبر کنید ..
X