کد فعلی در پروژه من در زیر نشان داده شده است و Veracode گزارش شده است دستور تزریق سیستم
filename = Regex.Replace (نام فایل، [^a-zA-Z0-9_]]، "_") و ".svg"
ProcessStartInfo startInfo = default (ProcessStartInfo)؛
فرایند pStart = فرآیند جدید ()؛
startInfo = جدید ProcessStartInfo (myExecutedFilePath، "" "+ filename +" "--export-pdf = " "+ filename +" "))؛ // دستور ورود به سیستم عامل در این خط افزایش می یابد
pStart.StartInfo = startInfo؛
pStart.Start ()؛
pStart.WaitForExit ()؛
بنابراین، من راه حل برای حل این مسئله را از OWASP و Roslyn امنیت گرا تحقیق می کنم
و در اینجا کد من بعد از اصلاح بر اساس این پست ها
filename = Regex.Replace (نام فایل، [^a-zA-Z0-9_] "،" _ ") و" .svg "
ProcessStartInfo startInfo = default (ProcessStartInfo)؛
فرایند pStart = فرآیند جدید ()؛
startInfo = جدید ProcessStartInfo ()؛
startInfo.FileName = myExecutedFilePath؛
startInfo.Arguments = "" "+ filename +" "--export-pdf = " "+ filename +" ""؛ // Veracode هنوز مسئله را در این خط گزارش می دهد
pStart.StartInfo = startInfo؛
pStart.Start ()؛
pStart.WaitForExit ()؛
اما، Veracode همچنان گزارش تزریق دستورات سیستم عامل
بنابراین نگرانی های من در اینجا این است:
-
آیا من راه حل صحیح را برای حل تزریق دستورات سیستم عامل در این مورد اعمال کردم؟
-
یا، باید پیشنهاد کاهش آن را ؟