رده:تنظیمات نادرست امنیتی(Security Misconfiguration): تفاوت بین نسخه‌ها

از Secure Coding

 
سطر ۱: سطر ۱:
 +
آسیب پذیری از این نوع دسته بندی بر اثر تنظیم نادرست و یا ناقص موارد امنیتی به وجود می آید.
 +
 +
برخی از این موارد عبارتنند از:
 +
 +
* کلمه عبور های پیش فرض یکسان برای کاربران
 +
* موارد راهنمای نصب
 +
* عدم تنظیم هدر های امنیتی
 +
* فعال بودن بیهوده سرویس و پورت
 +
 +
برای مثال فرض کنید در صفحه ای از دستوری مانند sleep برای تاخییر در عملیات استفاده می شود.
 +
 +
اگر به درستی از این نوع دستورات استفاده نشود می تواند در نهایت منجر به حملات DOS شود.
 +
 +
== روش های جلوگیری ==
 +
 +
=== روش های جلوگیری در PHP ===
 +
 +
مثال 1)
 +
 +
<div lang="en" dir="ltr" class="mw-content-ltr">
 +
<pre>
 +
<?php
 +
if (is_bad_ip($requester)) {
 +
  sleep(5); 
 +
}
 +
?>
 +
</pre>
 +
</div>
 +
 +
روش 1)
 +
 +
<div lang="en" dir="ltr" class="mw-content-ltr">
 +
<pre>
 +
if (is_bad_ip($requester)) {
 +
  header('Location: block.html');
 +
}
 +
</pre>
 +
</div>
 +
 +
=== روش های جلوگیری در ASP.NET ===
 +
 +
مثال 1)
 +
 +
<div lang="en" dir="ltr" class="mw-content-ltr">
 +
<pre>
 +
System.Threading.Thread.Sleep(5000);
 +
Response.Redirect("YourPage.aspx");
 +
</pre>
 +
</div>
 +
 +
روش 1)
 +
 +
<div lang="en" dir="ltr" class="mw-content-ltr">
 +
<pre>
 +
Response.Redirect("YourPage.aspx");
 +
</pre>
 +
</div>
 +
 +
=== روش های جلوگیری در JAVA ===
 +
 +
مثال 1)
 +
 +
<div lang="en" dir="ltr" class="mw-content-ltr">
 +
<pre>
 +
public void doSomething(){
 +
  synchronized(monitor) {
 +
    while(notReady()){
 +
      Thread.sleep(200);
 +
    }
 +
    process();
 +
  }
 +
  ...
 +
}
 +
</pre>
 +
</div>
 +
 +
روش 1)
 +
 +
<div lang="en" dir="ltr" class="mw-content-ltr">
 +
<pre>
 +
public void doSomething(){
 +
  synchronized(monitor) {
 +
    while(notReady()){
 +
      monitor.wait(200);
 +
    }
 +
    process();
 +
  }
 +
  ...
 +
}
 +
</pre>
 +
</div>
 +
 
[[category:وب(WEB)]]
 
[[category:وب(WEB)]]

نسخهٔ کنونی تا ‏۲۷ دسامبر ۲۰۱۹، ساعت ۱۴:۱۰

آسیب پذیری از این نوع دسته بندی بر اثر تنظیم نادرست و یا ناقص موارد امنیتی به وجود می آید.

برخی از این موارد عبارتنند از:

  • کلمه عبور های پیش فرض یکسان برای کاربران
  • موارد راهنمای نصب
  • عدم تنظیم هدر های امنیتی
  • فعال بودن بیهوده سرویس و پورت

برای مثال فرض کنید در صفحه ای از دستوری مانند sleep برای تاخییر در عملیات استفاده می شود.

اگر به درستی از این نوع دستورات استفاده نشود می تواند در نهایت منجر به حملات DOS شود.

روش های جلوگیری[ویرایش]

روش های جلوگیری در PHP[ویرایش]

مثال 1)

<?php
if (is_bad_ip($requester)) {
  sleep(5);  
}
?>

روش 1)

if (is_bad_ip($requester)) {
  header('Location: block.html');
}

روش های جلوگیری در ASP.NET[ویرایش]

مثال 1)

System.Threading.Thread.Sleep(5000);
Response.Redirect("YourPage.aspx");

روش 1)

Response.Redirect("YourPage.aspx");

روش های جلوگیری در JAVA[ویرایش]

مثال 1)

public void doSomething(){
  synchronized(monitor) {
    while(notReady()){
      Thread.sleep(200);
    }
    process();
  }
  ...
}

روش 1)

public void doSomething(){
  synchronized(monitor) {
    while(notReady()){
      monitor.wait(200);
    }
    process();
  }
  ...
}

این رده در حال حاضر حاوی هیچ صفحه یا پرونده‌ای نیست.