+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 پاسخ 752 بازدید
+1 امتیاز
2 پاسخ 678 بازدید
0 امتیاز
0 پاسخ 546 بازدید
0 امتیاز
0 پاسخ 424 بازدید
+1 امتیاز
1 پاسخ 680 بازدید
0 امتیاز
0 پاسخ 436 بازدید
0 امتیاز
0 پاسخ 5.9هزار بازدید
...