السلام عليكم ،،
أستخدم برنامج دعم فني ticket system مبرمج محلياً بلغة ASP ، بحيث يستطيع أي مستخدم إرسال إستفسار ticket ثم تقوم إدارة الموقع بالرد عليه ، المشكلة أن المستخدم بعد ما يدخل باسمه و كلمة المرور يقدر يشوف تيكت مرسل من مستخدم آخر بمجرد وضع رقم التيكت في شيط العنوان ، مثال :
viewticket.asp?status=CLOSE&TID=5648
الـ TID هو رقم التيكيت وبمجرد تغييره إلى أي رقم يمكن الإطلاع على إستفسارات و رسائل الآخرين.
هذا هو محتوى ملف auth.asp :
ويتم إستدعاءه في ملف عرض التيكيت viewticket.asp :كود:<% ' *** Restrict Access To Page: Grant or deny access to this page MM_authorizedUsers="" MM_authFailedURL="../errorpage.asp" MM_grantAccess=false If Session("LOGIN") <> "" Then If (true Or CStr(Session("MM_UserAuthorization"))="") Or _ (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then MM_grantAccess = true End If End If If Not MM_grantAccess Then MM_qsChar = "?" If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&" MM_referrer = Request.ServerVariables("URL") if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString() MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer) Response.Redirect(MM_authFailedURL) End If %>
كيف ممكن أعالج هذه الثغرة الأمنية ؟ وكيف أوجه الملاقيف و الهاكرز إلى صفحة الخطأ أو صفحة "أنت غير مخول بالإطلاع على هذه الصفحة" ؟كود:<!--#include file="auth.asp"-->![]()


				
				
				
				
					
  رد مع اقتباس
