جستجو در تالارهای گفتگو
در حال نمایش نتایج برای برچسب های 'path bug'.
2 نتیجه پیدا شد
-
رفع اسیب پذیری Sql Injection با استفاده از Htaccess
MR.MSA پاسخی ارسال کرد برای یک موضوع در باگ های امنیتی
با سلام خدمت دوستان عزیز گاردایران . در اینجا کدی رو قرار میدم که میتونید از اون برای جلوگیری از اسیب پذیری Sql Injection استفاده کنید اما این رو در نظر داشته باشید که فقط ایمن سازی با htaccess جالب نیست و بهتره در کنارش اسیب پذیری رو از طریق توابع و یا استفاده از PDO و .. رفع کنیم ، ایمن سازی با htaccess فقط برای محکم کاری هست . <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http%3A%2F%2F [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC,OR] RewriteCond %{QUERY_STRING} \=PHP[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} [NC,OR] RewriteCond %{QUERY_STRING} (\.\./|\.\.) [OR] RewriteCond %{QUERY_STRING} ftp\: [NC,OR] RewriteCond %{QUERY_STRING} http\: [NC,OR] RewriteCond %{QUERY_STRING} https\: [NC,OR] RewriteCond %{QUERY_STRING} \=\|w\| [NC,OR] RewriteCond %{QUERY_STRING} ^(.*)/self/(.*)$ [NC,OR] RewriteCond %{QUERY_STRING} ^(.*)cPath=http://(.*)$ [NC,OR] RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} (\<|%3C).*iframe.*(\>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} (<|%3C)([^i]*i)+frame.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR] RewriteCond %{QUERY_STRING} base64_(en|de)code[^(]*\([^)]*\) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|<|>).* [NC,OR] RewriteCond %{QUERY_STRING} (NULL|OUTFILE|LOAD_FILE) [OR] RewriteCond %{QUERY_STRING} (\./|\../|\.../)+(motd|etc|bin) [NC,OR] RewriteCond %{QUERY_STRING} (localhost|loopback|127\.0\.0\.1) [NC,OR] RewriteCond %{QUERY_STRING} (<|>|'|%0A|%0D|%27|%3C|%3E|%00) [NC,OR] RewriteCond %{QUERY_STRING} concat[^\(]*\( [NC,OR] RewriteCond %{QUERY_STRING} union([^s]*s)+elect [NC,OR] RewriteCond %{QUERY_STRING} union([^a]*a)+ll([^s]*s)+elect [NC,OR] RewriteCond %{QUERY_STRING} (;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|drop|delete|update|cast|create|char|information_schema|table_name|convert|alter|declare|order|script|set|md5|benchmark|encode|extractvalue|rand()|concat|group_concat|from|From|,|.|+|order|by) [NC,OR] </IfModule> موفق و پیروز باشید .-
- رفع اسیب پذیری sql injection
- sqli
- (و 11 مورد دیگر)
-
با سلام خدمت کاربران و مدیران عزیز گارد ایران در این پست قصد دارم به شما نحوه پچ باگ RFU بدم . RFU : Remote File Upload یک توضیح مختصر : هنگام اپلود یک فایل در سرور این اسیب پذیری به وجود می اید که هکر فایل مخرب خودش رو در سرور آپلود می کند (shell) به صورت کلی این اسیب پذیری بسیار خطر ناک است و باعث می شود که هکر دسترسی کامل به سایت بگیرد ولی حالت های دیگری هم وجود دارد که خطر این باگ کمتر می شود مثلا هکر نمی تواند فایل php خودش که شل است رو آپلود کنه به جای آن فایل html خودش که دیفیس پیج است رو آپلود می کنه یه کمی توضیح طولانی شد خب حالا میریم سراغ جلو گیری از باگ RFU در کد نویسی اولین قدم باید فایل ها در یک جای مشخص و خاص باشد می توانید از این دستور استفاده کنید : move_uploaded_file($_FILES['upload']['tmp_name'],"Guardiran/{$_FILES['upload']['name']}"); الان فایل های اپلودی در فولدری به نام Guardiran قرار می گیرند . حالا برای اینکه فایل های php قابل آپلود نباشند : if(end(explode('.',$_FILES['upload']['name'])) !== 'php'){ move_uploaded_file($_FILES['upload']['tmp_name'],"Guardiran/{$_FILES['upload']['name']}"); }else{ } تا الان آپلودر ما کمی وضعیتش بهتر شده بعضی از سایت ها از این فیلترینگ استفاده می کنند ولی امنیت بسیار پایینی دارد چون زبان php به حروف بزرگ و کوچک حساس است یعنی ما گفتیم با در آخر نام ... php نباشد اما برای مثال هکر با این نام اپلود می کند b374k.PHP که هر دو فرمت php هستند اما از نظر حروف کوچک و بزرگ باهم فرق دارند پس کد های خودمون رو تغییر می دهیم . به این صورت : if(end(explode('.',$_FILES['upload']['name'])) == 'jpg'){ move_uploaded_file($_FILES['upload']['tmp_name'],"Guardiran/{$_FILES['upload']['name']}"); }else{ } الان یک اپلودر با امنیت خوب داریم ولی هنوز با بایپس ها و متد و... امکان دور زدن وجود دارد پس امنیت رو بالا تر می بریم تا کار هکر سخت تر شود . کاری می کنیم که هکر به راحتی فایل خودش رو پیدا نکنه و از تابع rand استفاده می کنیم و کد ها رو به این صورت می نویسیم : if(end(explode('.',$_FILES['upload']['name'])) == 'jpg'){ $ch = rand(); move_uploaded_file($_FILES['upload']['tmp_name'],"Guardiran/{$ch}.jpg"); }else{ } می توانید بعد از else (در غیر این صورت ) خطای خود را با html و css طراحی کنید . چند راه پیشنهادی جهت رفع بهتر باگ RFU : بهتر است که از یک سرور اختصاصی استفاده کنید و فایل های اپلودی خودتون رو در یک سرور دیگر آپلود کنید . دایرکتوری فایل های اپلود با دایرکتری فایل های اصلی متفاوت باشد . امیدوارم از این پست لذت برده باشید . Download Uploader.zip