⭕️ دور زدن HTML Sanitizer API در مرورگر Firefox
HTML Sanitizer API
این Broswer API به برنامه نویس ها اجازه میده تا دیتا نا امن رو از کاربر دریافت کنند و اون رو Sanitize کنند برای رندرینگ امن در DOM
در لینک زیر میتونید بیشتر با این موضوع آشنا بشید
https://developer.mozilla.org/en-US/docs/Web/API/HTML_Sanitizer_API
اما در مقاله زیر از portswigger میبینیم که چطور این API بایپس میشه
https://portswigger.net/research/bypassing-firefoxs-html-sanitizer-api
#API #sanitizer
@Engineer_Computer
HTML Sanitizer API
این Broswer API به برنامه نویس ها اجازه میده تا دیتا نا امن رو از کاربر دریافت کنند و اون رو Sanitize کنند برای رندرینگ امن در DOM
در لینک زیر میتونید بیشتر با این موضوع آشنا بشید
https://developer.mozilla.org/en-US/docs/Web/API/HTML_Sanitizer_API
اما در مقاله زیر از portswigger میبینیم که چطور این API بایپس میشه
https://portswigger.net/research/bypassing-firefoxs-html-sanitizer-api
#API #sanitizer
@Engineer_Computer
MDN Web Docs
HTML Sanitizer API - Web APIs | MDN
The HTML Sanitizer API allows developers to take strings of HTML and filter out unwanted elements, attributes, and other HTML entities when they are inserted into the DOM or a shadow DOM.
⚙️ Optimize Web Fuzzing
۲ تا نکته برای بهنیه کردن Fuzzing در وب سرور و API:
۱. نکته اول Fuzz کردن مسیر های 403:
اگر برای مثال به روت وب سروری درخواست زدید و به شما 403 داد بیاید به یک مسیر یونیک که مطمئن هستید وجود نداره درخواست بزنید مثلا:
/uniquePathUnique
اگر این مسیر هم به شما 403 داد Fuzz کردن رو این وب سرور میتونه کار بیهوده ای باشه: چون ادمین ممکن هست وب سرور رو به پشت VPN منتقل کرده باشه یا هر مسیری رو ممنوع کرده باشه
اگر قصد دارید فازینگ شما بهینه باشه و کمبود زمان و منابع دارید این نوع تارگت هارو بیخیال بشید یا در اولویت پایین تری برای Fuzz بذارید.
۲. نکته دوم Fuzz کردن مسیر در API:
در وب سرور ها مثل Apache اگر به دایرکتوری موجودی درخواست بزنید برای مثال دایرکتوری files/ ماژول mod_dir شمارو به /files/ ریدایرکت میکنه. این ماژول کارش trailing slash redirect هست یعنی یه / به آخر اسم دایرکتوری اضافه میکنه و دایرکتوری رو برای شما serve میکنه. به / آخر trailing slash میگیم.
اما در API ها به این گونه نیست عموما. در API دو مسیر زیر
/auth/login/
/auth/login
میتونند دو اندپوینت کاملا متفاوت از هم باشند و دو function جدا از هم یا اگر فانکشن لاگین در /auth/login/ باشد و شما به auth/login/ درخواست بزنید ممکن است 404 بگیرید.
این موضوع قابل کنترل هم هست برای مثال فریمورک flask در حالت عادی مثل سناریو بالا عمل میکنه اما اگر ما مقدار strict_slashes رو در Routing برابر False قرار بدیم مثل زیر
@app.route('/auth/login/', strict_slashes=False)
تفاوتی بین /auth/login/ و auth/login/ نخواهد بود.
برای بهینه سازی Fuzzing در اینجا شما باید اندپوینت های موجود رو Analyze کنید و مشاهده کنید برنامه نویس از کدوم style برای مسیر دهی استفاده کرده مثلا اگر تمام اندپوینت های API با trailing slash تمام می شوند شما نیز در Fuzzing خود از trailing slash استفاده کنید و اگر تمام اندپوینت ها بدون / تمام می شوند شما هم از trailing slash استفاده نکنید.
#web_security #fuzzing #API
@Engineer_Computer
۲ تا نکته برای بهنیه کردن Fuzzing در وب سرور و API:
۱. نکته اول Fuzz کردن مسیر های 403:
اگر برای مثال به روت وب سروری درخواست زدید و به شما 403 داد بیاید به یک مسیر یونیک که مطمئن هستید وجود نداره درخواست بزنید مثلا:
/uniquePathUnique
اگر این مسیر هم به شما 403 داد Fuzz کردن رو این وب سرور میتونه کار بیهوده ای باشه: چون ادمین ممکن هست وب سرور رو به پشت VPN منتقل کرده باشه یا هر مسیری رو ممنوع کرده باشه
اگر قصد دارید فازینگ شما بهینه باشه و کمبود زمان و منابع دارید این نوع تارگت هارو بیخیال بشید یا در اولویت پایین تری برای Fuzz بذارید.
۲. نکته دوم Fuzz کردن مسیر در API:
در وب سرور ها مثل Apache اگر به دایرکتوری موجودی درخواست بزنید برای مثال دایرکتوری files/ ماژول mod_dir شمارو به /files/ ریدایرکت میکنه. این ماژول کارش trailing slash redirect هست یعنی یه / به آخر اسم دایرکتوری اضافه میکنه و دایرکتوری رو برای شما serve میکنه. به / آخر trailing slash میگیم.
اما در API ها به این گونه نیست عموما. در API دو مسیر زیر
/auth/login/
/auth/login
میتونند دو اندپوینت کاملا متفاوت از هم باشند و دو function جدا از هم یا اگر فانکشن لاگین در /auth/login/ باشد و شما به auth/login/ درخواست بزنید ممکن است 404 بگیرید.
این موضوع قابل کنترل هم هست برای مثال فریمورک flask در حالت عادی مثل سناریو بالا عمل میکنه اما اگر ما مقدار strict_slashes رو در Routing برابر False قرار بدیم مثل زیر
@app.route('/auth/login/', strict_slashes=False)
تفاوتی بین /auth/login/ و auth/login/ نخواهد بود.
برای بهینه سازی Fuzzing در اینجا شما باید اندپوینت های موجود رو Analyze کنید و مشاهده کنید برنامه نویس از کدوم style برای مسیر دهی استفاده کرده مثلا اگر تمام اندپوینت های API با trailing slash تمام می شوند شما نیز در Fuzzing خود از trailing slash استفاده کنید و اگر تمام اندپوینت ها بدون / تمام می شوند شما هم از trailing slash استفاده نکنید.
#web_security #fuzzing #API
@Engineer_Computer
🔥1
لیست API هایی که Malware ها استفاده می کنند.
لیست کامل از سایت زیر قابل مشاهده است:
https://malapi.io/#
#security
#API
#malware
@Engineer_Computer
لیست کامل از سایت زیر قابل مشاهده است:
https://malapi.io/#
#security
#API
#malware
@Engineer_Computer