برگزیده های پرشین تولز

escapeshellarg

sasan_66

کاربر تازه وارد
تاریخ عضویت
18 جولای 2006
نوشته‌ها
450
لایک‌ها
0
سلام
مي دونم اين تابع چي كار ميكنه ولي ميخوام يه نمونه كد ببينم كه بدون استفاده از اين تابع مثلا يه هكر بتونه يه كاري بكنه
خوب اين تابع مياد آرگومان خودش رو درون ' ' قرار ميده كه باعث ميشه ورودي به عنوان يك دستور باشه.
خوب چه جوري اين كار جلوي هكر رو ميگيره
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
ورودی رو تبدیل به STRING می کنه. یعنی ورودی دیگه دستور (STATEMENT) نیست و فقط یک STRING ساده است..
 

sasan_66

کاربر تازه وارد
تاریخ عضویت
18 جولای 2006
نوشته‌ها
450
لایک‌ها
0
ببينيد مثلا يه فرم داريم كه نام فايل رو ميگيره و اونو توي متغير ذخيره مي كنه. حالا با اسم اون فايل مياد يه دستوري رو اجرا ميكنه.. حالا اگه يه هكر بياد هم نام فايل رو توي فرم بنويسه و بعد اون يه ; بذاره و يه دستوري مثل دستور rm بنويسه توي سيستم هاي يونيكس باعث ميشه كه اين ورودي به عنوان 2 دستور تلقي شه كه براي رفع اين مشكل از ايت تابع استفاده ميشه. من ميخوام بدون استفاده از اين تابع اين كار رو روي سيستم ويندوز انجام بدم ولي هيچي نميشه. چرا؟
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
این کاملا مشخصه چون دستوراتی مثل rm یا ls و یا ... در ویندوز هیچ اعتباری ندارند ....
 

sasan_66

کاربر تازه وارد
تاریخ عضویت
18 جولای 2006
نوشته‌ها
450
لایک‌ها
0
خوب rm يا ls يه مثاله
مثلا دستور rename, dir كه براي ويندوز اعتبار داره چي؟
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
این دستورات برای ویندوز اعتبار داره درست ولی این نوع دستوراتی که با ; از هم جدا می شوند برای ویندوز اعتباری ندارد: h:/www/webroot;dir
 
بالا