1 ضمیمه
هک شدن زمان استفاده از TextBox
با سلام
من خیلی شنیدم که اطلاعات یک TextBox را بدون هیچ فیلتر امنیتی ، به دیتابیس بفرستیم ، احتمال هک شدن دیتابیس زیاد است.
من یک برنامه ی آماده برایتان فرستاده ام . یک کواری برای هک دیتابیسش ، در داخل TextBox وارد کنید . بعد اگر ممکنه ، راههای جلوگیری از این هک شدن را هم ذکر کنید. ( مثلا یکی از راهها ، می تواند استفاده از DropDownList باشد . ولی همیشه گزینه ها ثابت نیست که این کار را بکنیم )
دیتابیس را از پوشه ی APP_Data بردارید.
این برنامه با C# نوشته شده . هر کس خواست آن را به vb تبدیل کند ، به سایت زیر برود:
http://www.developerfusion.com/tools.../vb-to-csharp/
با تشکر.
نقل قول: هک شدن زمان استفاده از TextBox
عزیز دل من برنامتون رو ندیدم اما اون هک از طریق تکست باکس یه چیز مال زمان بوق بود که حالا با پارامترها حل شده
کاربرا دیگه می تونن سرچ کنن!
موفق باشید
نقل قول: هک شدن زمان استفاده از TextBox
بهترین راه اینه که نزارید از query های زیر استفاده بشه :
' , " -- (
این قضیه بشتر مربوط به دیبتابیس های MySQL , MsSQL , Oracle هست .
نقل قول: هک شدن زمان استفاده از TextBox
دیدید باز به حرف بنده گوش نکردید؟
وقتی پارامتر باشه چه -- و چه ' و هر چی دیگه باشه مشکل حله
نمونه:
select * from tbl whrer id=@idx
در اینجا @idx یه پارامتره که پاس شده و اگه ما یه sqlcommand با نام cmd داشته باشیم این طور میشه این پارامتر رو مقدار داد:
cmd.add("@idx","value")
خوب عزیز دل حالا هکر هر غلطی می خواد بکنه دیگه نمی تونه!
_____________________________
اقای roostayebekr کدتون رو دیدم یه خورده بستید ولی قابل هک شدنه(حالش رو ندارم دیگه نمونه بدم)
اقای asm.coder ما این رو بستیم باقی رو چی؟یونیکد رو چی؟
فقط پارامتر
موفق باشید
نقل قول: هک شدن زمان استفاده از TextBox
ميلاد راست ميگه ديگه!
خوب اين سوال خيلي تكراري هستش.
سرچ بايد ميكردي.
سعي كن كوئري رو توي خود sql و به صورت stored procedure ايجاد كني
و بعد از طريق كدت پارامتر بفرستي و sp رو اجرا كني
اينجوري هك نميشي.
تازه اگر او كاراكترها رو هم فيلتر كني و از پارامتر استفاده نكني بازم قابل هك شدنه
نقل قول: هک شدن زمان استفاده از TextBox
نقل قول:
فکر کنم اگر یک کم مودب تر صحبت کنید ، بهتر باشه.
قصد توهین نداشتم عزیز
منظورم این بود که این هک کردن از این طریق مال بوق بود نه کد شما
در کل اگه بازم برطرف نشد شما ببخشید
نقل قول:
خوب آره راست می گید . آخه همه مثل من یا امثال من نیستند که اکثر مواقع هر وقت کسی سوال داشت ، ( حتی اگر اون سوال تکراری بود ) یک برنامه ی کامل مختص اون سوال بنویسند و برای طرف بفرستند. سعی می کنم دیگه هم این کار و نکنم .
من که می نویسم!
در کل شما هم ادامه بده
واقعیت خیلی دمت گرم که برا هر کس یه کد میدی.
کمتر کسی پیدا میشه که این قدر یه رنگ باشه . اگه هم من بی احترامی کردم ببخشید
موفق باشید
نقل قول: هک شدن زمان استفاده از TextBox
سلام
بحثی که دوستان در پاسخ مطرح کردند , فقط مربوط به Sql enjection می باشد در حالی که راه های دیگری هم برای هک وجود دارد از جمله :
1.Cross site scripting : در این روش هکر با وارد کردن Script در ورودی ها سعی در اخلال در سایت شما می کند . مثال :
<script>alert("Message")</script>
Asp.Net سیستمی برای شناسایی Script ها دارد که خیلی کارا نیست.
راه حل : ورودی ها را با Server.HtmlEncode به کد تبدیل کنید.
2. buffer overflow :البته این روش مختص هکر های حرفه ای است و کار هر کسی نیست!
و .......
در ضمن توجه داشته باشید که امروزه بیشتر سایت ها از طریق Server هک می شوند.
نقل قول: هک شدن زمان استفاده از TextBox
البته اقا حسن یاداوری می کنم که این باگ برای .net 1.1 بود که برطرف شده و الان دیگه توی نسخ بالاتر مشکلی نیست!
موفق باشید
نقل قول: هک شدن زمان استفاده از TextBox
اگه از Editor استفاده کنی چی ؟
اون موقع باید با جاوااسکریپت دستی Validate کنی
نقل قول: هک شدن زمان استفاده از TextBox
درسته!
فراموش کرده بودم
ولی الان اکثرا اینو حل کردن
موفق باشید
نقل قول: هک شدن زمان استفاده از TextBox
با سلام
از توضیحاتتون ممنون.
گفته بودید :
کد HTML:
<script> alert(‘Hello’) </script>
ولی اولا قبل از اینکه این اسکریپت به دیتابیس فرستاده شود ، خود ویژوال استادیو نسخه ی 2005 نمی گذارد .
ثانیا من بیشتر می خواستم که شما کواری وارد کنید که به دیتابیس صدمه بزند. مثلا فرض کنید : اطلاعات جدولی را پاک کند و یا تغییر دهد.
نقل قول: هک شدن زمان استفاده از TextBox
چی بگم من؟
نقل قول:
ولی اولا قبل از اینکه این اسکریپت به دیتابیس فرستاده شود ، خود ویژوال استادیو نسخه ی 2005 نمی گذارد .
خاصیت اعتبار سنجی صفحه رو false کن که این امر باعث حل اما اسیب رساندن به امنیت میشه
نقل قول:
ثانیا من بیشتر می خواستم که شما کواری وارد کنید که به دیتابیس صدمه بزند. مثلا فرض کنید : اطلاعات جدولی را پاک کند و یا تغییر دهد.
پارامتری که دادم در تمام حالات صدق می کنه
(شما یه باگ از این پارامتر پیدا کن!)
نقل قول: هک شدن زمان استفاده از TextBox
نقل قول:
نوشته شده توسط
RoostaYeBekr
با سلام
از توضیحاتتون ممنون.
گفته بودید :
کد HTML:
<script> alert(‘Hello’) </script>
ولی اولا قبل از اینکه این اسکریپت به دیتابیس فرستاده شود ، خود ویژوال استادیو نسخه ی 2005 نمی گذارد .
ثانیا من بیشتر می خواستم که شما کواری وارد کنید که به دیتابیس صدمه بزند. مثلا فرض کنید : اطلاعات جدولی را پاک کند و یا تغییر دهد.
و در ادامه توضیح دادم:
1. با کمی تغییرات در این کد میشه .
2. یا وقتی شما داری از Editor استفاده می کنی مجبوری ValidateRequest رو False کنی!
نقل قول: هک شدن زمان استفاده از TextBox
و در ادامه:
می تونی کدها رو که اجازه نمیده بفرستی رو یونیکد کنی
نقل قول: هک شدن زمان استفاده از TextBox
مثلا کدهایی تو این ای این مایه ها که هکر ها خیلی از این چیزا بلدن :
<%00script> alert('message'); </script>
نقل قول: هک شدن زمان استفاده از TextBox
با سلام و تشکر دوباره از توضیحاتی که دادید :
:لبخندساده:
فکر کنم منظورم رو خیلی درست نگفتم ( چون به نظرم میاد که اشتباه برداشت کردید ) ::عصبانی++:
نقل قول:
می تونی کدها رو که اجازه نمیده بفرستی رو یونیکد کنی
من اصلا منظورم این نبود که چرا این همه چیز رو به طرف دیتابیس نمی فرسته . اتفاقا در این سوال خاصی که مطرح کردم ، این نفرستادنش ، داره به نفع من تموم می شه . چون قرار بود که اسکریپت بی خودی رو نفرسته.
چیزی که مد نظرم بود و قبلا هم عرض کردم ، این بود :
نقل قول:
ثانیا من بیشتر می خواستم که شما کواری وارد کنید که به دیتابیس صدمه بزند. مثلا فرض کنید : اطلاعات جدولی را پاک کند و یا تغییر دهد.
البته جوابی که milade به شکل زیر داد ،
نقل قول:
پارامتری که دادم در تمام حالات صدق می کنه
(شما یه باگ از این پارامتر پیدا کن!)
هم خوب بود . منظورم این است که بالاخره ، تکلیف روشن کن بود.
در هر صورت اگر کس دیگری باز هم توانست دیتابیس این برنامه را هک کند ، ممنون می شوم.
حالا البته باز هم از توضیحاتتون ممنون.
نقل قول: هک شدن زمان استفاده از TextBox
نقل قول:
نوشته شده توسط
RoostaYeBekr
در هر صورت اگر کس دیگری باز هم توانست دیتابیس این برنامه را هک کند ، ممنون می شوم.
مواردی که باید اشاره میشد گفته شده + اینکه تاپیکی که جناب راد هم در اعلان قرار دادن میتونه به شما کمک کنه so دیگه نظری باقی نمیمونه!
موفق باشید.
نقل قول: هک شدن زمان استفاده از TextBox
سلام دوست عزیز،
2 مورد از مجموعه حملاتی که عمدتا" هنگام دریافت ورودی با آن ها مواجه خواهید شد ، حملات SQL Injection/Hexadecimal SQL Injection و همچنین (XSS(Cross-Site Scripting می باشد که باید بر روی آنها مطالعه کنید ،/