+1 امتیاز
قبل در کامپیوتر و اینترنت توسط (760 امتیاز)
ویرایش شده قبل توسط

در این سوال جوابی دیدم که بر آن شدم تا بیایم و قدرتمندترین و بهینه ترین کدهای ضد هکری رو در این سوال بصورت مرجع قرار بدیم (برای تکنولوژی ASP.NET با زبان C#).

از جمله این حملات :

Cross Site Scripting
    SQL Injection
    PHP Injection
    Javascript Injection
    Path Disclosure
    Denial of Service
    Code Execution
    Memory Corruption
    Cross Site Request Forgery
    Information Disclosure 

اگر باز هم هست، محبت کنید اضافه کنید.

قبل توسط (760 امتیاز)
یکی از راه های Injection خوردن اینه که برنامه شما در زمان خطا خوردن، این خطا رو به کاربر نشان بده!
که برای افسار دست گرفتن این خطاهای سی-شارپی، ما همیشه (همیــــــــــــــــــــــــــــــشه) باید از try در تمامی قسمت هایی که قراره پراسسی انجام بشه، تابعی فراخوانی بشه ویا هرچیز دیگه ای  باید نوشته شه
قبل توسط (868 امتیاز)
توی وب کانفبگ مبتونبد debug رو off کنید ، دیگه هیچ خطایی نمایش داده نمیشه و یا میتونید از page 404 استفاده کنید

1 پاسخ

0 امتیاز
قبل توسط (760 امتیاز)
ویرایش شده قبل توسط

(باتوجه به اینکه سطح بنده در ASP.NET بسیار پایین است) ترجیح میدم اولین جواب رو خودم قرار بدم:

یکی از راه های جلوگیری SQL Injection استفاده از پارسینگ (Parse) برای تبدیل کوئری استرینگ (که اسمش هم روشه-استرینگه) باید هر ماهیتی از سمت آیدی یا هر چی بعد از علامت مساوی (=id) اومد، تبدیل کنیم تا اینجکشن نخوریم:

int Id = int.Parse(Request.QueryString["id"])

چه بسا بهتر این باشه که از تابع TryParse استفاده کنیم و اگر true بود.....

قبل توسط (868 امتیاز)
+1
میتونید بجای استفاده از روش های قدییمی و زمان بر Commond-connection ... از تکنولوژی های جدید EF ، Linq , Hibernate ... استفاده کنید که کلا خودشون Injection رو میبندن یعنی اصن قابل Inject شدن نیستن
قبل توسط (760 امتیاز)
+1
میشه کدش رو بذارید و یک توضیحی درموردش بدید؟ (آموزش!)

سوالات مشابه

+1 امتیاز
2 پاسخ 623 بازدید
+1 امتیاز
2 پاسخ 607 بازدید
0 امتیاز
0 پاسخ 469 بازدید
0 امتیاز
0 پاسخ 321 بازدید
+1 امتیاز
1 پاسخ 561 بازدید
0 امتیاز
0 پاسخ 401 بازدید
0 امتیاز
0 پاسخ 5.7هزار بازدید
...