⭕️ Telegram bug bounties | RCE, privacy issues, and more…
تو این مقاله محقق از آسیب پذیری هایی که روی تلگرام پیدا کرده میگه. آسیب پذیری هایی مثل RCE روی WebView , افشای IP کاربر در تلگرام وب و ...
https://davtur19.medium.com/telegram-bug-bounties-rce-privacy-issues-and-more-b1f06a641c1b
#web_security #rce
@Engineer_Computer
تو این مقاله محقق از آسیب پذیری هایی که روی تلگرام پیدا کرده میگه. آسیب پذیری هایی مثل RCE روی WebView , افشای IP کاربر در تلگرام وب و ...
https://davtur19.medium.com/telegram-bug-bounties-rce-privacy-issues-and-more-b1f06a641c1b
#web_security #rce
@Engineer_Computer
❤1👍1
⭕️ دور زدن SSRF Protection از طریق Cross Protocol Redirect
یکی از راه هایی که حتما میدونید برای دور زدن SSRF Protection و دستیابی به internal asset مثل localhost و ... این هست که ما redirect انجام بدیم. برای مثال آدرس URL ای به اپ میدیم که تحت کنترل ماست و اون درخواست http رو ریدایرکت میکنه به یه asset inernal
محقق طی یه پروژه با تارگتی روبه رو میشه که هیچگونه جلوگیری ای برای ssrf نداشته و بعد از گزارش برنامه نویس از لایببری ssrf-req-filter توی node.js استفاده میکنه و محقق هنگام اولین retest متوجه میشه آسیب پذیری پچ شده اما زمانی که محقق Cross-Protocol Redirect رو تست میکنه دوباره با موفقیت به اون asset internal دسترسی میگیره
اما Cross-Protocol Redirect چیه؟ منظور اینه که پروتکل از http به https هنگام ریدایرکت تغییر پیدا کنه یا برعکس
در اینجا محقق URL ابتدایی که به App داده پروتکل https داشته اما در ریدایرکت گفته که به localhost ریدایرکت صورت بگیره روی پروتکل http
https://example.com/?redirect=https://localhost
اما چرا این اتفاق میفته؟ به طور خلاصه ما کد JS شبیه به کد زیر رو داریم که از ssrf جلوگیری کنه
request({
uri: url,
agent: ssrfFilter(url),
});
اما در لایبرری request در قسمت lib/redirect.js ما یه شرط جالب داریم:
if (request.uri.protocol !== uriPrev.protocol) {
delete request.agent
}
بازم هم به طور خیلی خلاصه بخوام بگم این شرط بررسی میکنه که اگر هنگام ریدایرکت تغییر پروتکل داشتیم request.agent حذف بشه که در این کیس ما باعث میشه ssrf filter ای نداشته باشیم ( چون خود متد ssrfFilter اگر دقت کنید در قسمت agent کال شده)
https://blog.doyensec.com/2023/03/16/ssrf-remediation-bypass.html
#web_security #ssrf
@Engineer_Computer
یکی از راه هایی که حتما میدونید برای دور زدن SSRF Protection و دستیابی به internal asset مثل localhost و ... این هست که ما redirect انجام بدیم. برای مثال آدرس URL ای به اپ میدیم که تحت کنترل ماست و اون درخواست http رو ریدایرکت میکنه به یه asset inernal
محقق طی یه پروژه با تارگتی روبه رو میشه که هیچگونه جلوگیری ای برای ssrf نداشته و بعد از گزارش برنامه نویس از لایببری ssrf-req-filter توی node.js استفاده میکنه و محقق هنگام اولین retest متوجه میشه آسیب پذیری پچ شده اما زمانی که محقق Cross-Protocol Redirect رو تست میکنه دوباره با موفقیت به اون asset internal دسترسی میگیره
اما Cross-Protocol Redirect چیه؟ منظور اینه که پروتکل از http به https هنگام ریدایرکت تغییر پیدا کنه یا برعکس
در اینجا محقق URL ابتدایی که به App داده پروتکل https داشته اما در ریدایرکت گفته که به localhost ریدایرکت صورت بگیره روی پروتکل http
https://example.com/?redirect=https://localhost
اما چرا این اتفاق میفته؟ به طور خلاصه ما کد JS شبیه به کد زیر رو داریم که از ssrf جلوگیری کنه
request({
uri: url,
agent: ssrfFilter(url),
});
اما در لایبرری request در قسمت lib/redirect.js ما یه شرط جالب داریم:
if (request.uri.protocol !== uriPrev.protocol) {
delete request.agent
}
بازم هم به طور خیلی خلاصه بخوام بگم این شرط بررسی میکنه که اگر هنگام ریدایرکت تغییر پروتکل داشتیم request.agent حذف بشه که در این کیس ما باعث میشه ssrf filter ای نداشته باشیم ( چون خود متد ssrfFilter اگر دقت کنید در قسمت agent کال شده)
https://blog.doyensec.com/2023/03/16/ssrf-remediation-bypass.html
#web_security #ssrf
@Engineer_Computer
Doyensec
SSRF Cross Protocol Redirect Bypass
Server Side Request Forgery (SSRF) is a fairly known vulnerability with established prevention methods. So imagine my surprise when I bypassed an SSRF mitigation during a routine retest. Even worse, I have bypassed a filter that we have recommended ourselves!…
👍2❤1
⚙️ 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
تو پروسه آموزش و یاددادن همیشه کلی چیز برای یادگیری هست✌️🏻
دارم یه اپ Vue آسیب پذیر آماده میکنم برای آموزش XSS in Vue.js بعد متوجه شدم این XSS ای که از طریق javascript scheme تو attribute href رخ میده زمانی که اتریبیوت target برابر blank_ باشه دیگ آسیب پذیر نیست
مثالش تو عکس بالا
#AppSec #XSS #web_security
@Engineer_Computer
دارم یه اپ Vue آسیب پذیر آماده میکنم برای آموزش XSS in Vue.js بعد متوجه شدم این XSS ای که از طریق javascript scheme تو attribute href رخ میده زمانی که اتریبیوت target برابر blank_ باشه دیگ آسیب پذیر نیست
مثالش تو عکس بالا
#AppSec #XSS #web_security
@Engineer_Computer
👍1
🐞 What's security flaws with this code? How to fix it?
نقص امنیتی این کد چیه؟ اصلا نقص امنیتی داره؟ چنتا و به چه صورت؟ نحوه فیکس کردنش به چه صورت هست؟
#AppSec #code_challenge #vulnerable_code #web_security #FastAPI
@Engineer_Computer
نقص امنیتی این کد چیه؟ اصلا نقص امنیتی داره؟ چنتا و به چه صورت؟ نحوه فیکس کردنش به چه صورت هست؟
#AppSec #code_challenge #vulnerable_code #web_security #FastAPI
@Engineer_Computer
Network Security Channel
🐞 What's security flaws with this code? How to fix it? نقص امنیتی این کد چیه؟ اصلا نقص امنیتی داره؟ چنتا و به چه صورت؟ نحوه فیکس کردنش به چه صورت هست؟ #AppSec #code_challenge #vulnerable_code #web_security #FastAPI @Engineer_Computer
Now the answer
مهم ترین آسیب پذیری ای که داشت و اکثرا دوستان هم گفتن Mass Assignment بود که میشد ما با role ای مثل admin برای خودمون account بسازیم که حالا توی fix فیلد های مهم رو صرف نظر از چیزی که کاربر میده ما تغییر میدیم، موضوع بعدی هم Insecure Password Storage بود که حالا پسورد hash میشه.
#AppSec #code_challenge #fixed_code #web_security #FastAPI
@Engineer_Computer
مهم ترین آسیب پذیری ای که داشت و اکثرا دوستان هم گفتن Mass Assignment بود که میشد ما با role ای مثل admin برای خودمون account بسازیم که حالا توی fix فیلد های مهم رو صرف نظر از چیزی که کاربر میده ما تغییر میدیم، موضوع بعدی هم Insecure Password Storage بود که حالا پسورد hash میشه.
#AppSec #code_challenge #fixed_code #web_security #FastAPI
@Engineer_Computer
🐞 What's security flaws with this PHP code? How to exploit and fix it?
نقص امنیتی این کد چیه؟ چطور exploit و fix میشه؟
Code: https://github.com/amir-h-fallahi/code_challenge/blob/main/0x02-PHP/PHP-Vulnerable-Code.php
#AppSec #code_challenge #vulnerable_code #web_security #PHP
@Engineer_Computer
نقص امنیتی این کد چیه؟ چطور exploit و fix میشه؟
Code: https://github.com/amir-h-fallahi/code_challenge/blob/main/0x02-PHP/PHP-Vulnerable-Code.php
#AppSec #code_challenge #vulnerable_code #web_security #PHP
@Engineer_Computer
⭕️معرفی Root EPP Server قلب مدیریت دامنههای اینترنتی
در اصل Root EPP Server یک سرور مرکزی هستش که تو ساختار مدیریت دامنههای اینترنتی نقش حیاتی ای داره. این سرور مسئولیت برقراری ارتباط با سایر سرورهای EPP دامنه و ارسال دستورات مدیریتی به آنها رو بر عهده داره. EPP به معنای Extensible Provisioning Protocol است و یک پروتکل استاندارد برای مدیریت دامنه هاست که توسط سازمان ICANN تعریف شده
اینجا سرورهای Root EPP مسئول دریافت و پردازش درخواستهای مختلف مربوط به دامنهها هستند. این درخواستها میتوانند شامل ثبت، تمدید، انتقال و حذف دامنه باشن. علاوه بر این سرورها نیز نقش اساسی در توزیع اطلاعات مربوط به دامنهها و مدیریت نسخههای مختلف دیتابیس دامنه، که به عنوان Root Zone Database شناخته میشود دارن و فقط رجیسترها و ریسلرهای مجاز دارای دسترسی به Root EPP Server هستند. جهت دسترسی به این سرور و ارسال دستورات مدیریتی، معمولاً از طریق رابط کاربری (API) یا ابزارهای مدیریتی خاصی که توسط ICANN یا رجیسترهای معتبر ارائه میشوند، اقدام میشود.
اهمیت Root EPP Server در مدیریت دامنههای اینترنتی بسیار بزرگ است. این سرورها نه تنها امکانات لازم برای انجام عملیات مدیریتی را فراهم میکنند، بلکه نقش کلیدی در حفظ امنیت و پایداری ساختار دامنههای اینترنتی دارند.
در این مقاله بر خلاف هک کردن ccTLD ها از طریق تنظیمات نادرست DNS، محقق با تمرکز بر طریق آسیبپذیریهایی که بر پروتکلهای زیرساختی و برنامههای وبی که رجیستر ها در اینترنت استفاده میکنن سعی کرده کنترل تمامی zone ها را بر عهده بگیرد:
https://hackcompute.com/hacking-epp-servers/
#web_security #network #XXE
@Engineer_Computer
در اصل Root EPP Server یک سرور مرکزی هستش که تو ساختار مدیریت دامنههای اینترنتی نقش حیاتی ای داره. این سرور مسئولیت برقراری ارتباط با سایر سرورهای EPP دامنه و ارسال دستورات مدیریتی به آنها رو بر عهده داره. EPP به معنای Extensible Provisioning Protocol است و یک پروتکل استاندارد برای مدیریت دامنه هاست که توسط سازمان ICANN تعریف شده
اینجا سرورهای Root EPP مسئول دریافت و پردازش درخواستهای مختلف مربوط به دامنهها هستند. این درخواستها میتوانند شامل ثبت، تمدید، انتقال و حذف دامنه باشن. علاوه بر این سرورها نیز نقش اساسی در توزیع اطلاعات مربوط به دامنهها و مدیریت نسخههای مختلف دیتابیس دامنه، که به عنوان Root Zone Database شناخته میشود دارن و فقط رجیسترها و ریسلرهای مجاز دارای دسترسی به Root EPP Server هستند. جهت دسترسی به این سرور و ارسال دستورات مدیریتی، معمولاً از طریق رابط کاربری (API) یا ابزارهای مدیریتی خاصی که توسط ICANN یا رجیسترهای معتبر ارائه میشوند، اقدام میشود.
اهمیت Root EPP Server در مدیریت دامنههای اینترنتی بسیار بزرگ است. این سرورها نه تنها امکانات لازم برای انجام عملیات مدیریتی را فراهم میکنند، بلکه نقش کلیدی در حفظ امنیت و پایداری ساختار دامنههای اینترنتی دارند.
در این مقاله بر خلاف هک کردن ccTLD ها از طریق تنظیمات نادرست DNS، محقق با تمرکز بر طریق آسیبپذیریهایی که بر پروتکلهای زیرساختی و برنامههای وبی که رجیستر ها در اینترنت استفاده میکنن سعی کرده کنترل تمامی zone ها را بر عهده بگیرد:
https://hackcompute.com/hacking-epp-servers/
#web_security #network #XXE
@Engineer_Computer
hackcompute
can I speak to your manager? hacking root EPP servers to take control of zones
Finding vulnerabilities in global domain infrastructure to take control of ccTLD zones. Vulnerabilities in EPP
⭕ Persistent PHP payloads in PNGs
تو این مقاله از محقق به نحوه مختلف تزریق کد php جهت دست یابی به code injection در یک تصویر رو بررسی میکنه
https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html
#code_injection #web_security #research
@Engineer_Computer
تو این مقاله از محقق به نحوه مختلف تزریق کد php جهت دست یابی به code injection در یک تصویر رو بررسی میکنه
https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html
#code_injection #web_security #research
@Engineer_Computer
Synacktiv
Persistent PHP payloads in PNGs: How to inject PHP code in an image –
⭕️ در این مقاله محقق با chain کردن آسیب پذیری هایی که درحالت عادی در اکثر برنامه های باگ بانتی قابل قبول نیستن رو تبدیل به آسیب پذیری account takeover کرده
https://medium.com/@renwa/the-underrated-bugs-clickjacking-css-injection-drag-drop-xss-cookie-bomb-login-logout-csrf-84307a98fffa
#BugBounty #Pentest #web_security
@Engineer_Computer
https://medium.com/@renwa/the-underrated-bugs-clickjacking-css-injection-drag-drop-xss-cookie-bomb-login-logout-csrf-84307a98fffa
#BugBounty #Pentest #web_security
@Engineer_Computer
Medium
The Underrated Bugs, Clickjacking, CSS Injection, Drag-Drop XSS, Cookie Bomb, Login+Logout CSRF…
Story of 3 bug bounty writeups which I use low bugs and chain them together for higher impact.
⭕️ در این مقاله محقق با تزریق CSS از طریق Client Side Path Traversal با Open Redirect تونسته اطلاعات شخصی کاربر رو استخراج کنه
https://mr-medi.github.io/research/2022/11/04/practical-client-side-path-traversal-attacks.html
#BugBounty #Pentest #web_security
@Engineer_Computer
https://mr-medi.github.io/research/2022/11/04/practical-client-side-path-traversal-attacks.html
#BugBounty #Pentest #web_security
@Engineer_Computer
⭕️ محقق توی این مقاله تکنیک های مختلف دور زدن شناسایی filename بر روی وب اپلیکیشن های بر پایه جاوا رو جمع آوری کرده
https://pyn3rd.github.io/2022/05/07/Arbitrary-File-Upload-Tricks-In-Java/
#BugBounty #JAVA #Servlet #Pentest #web_security
@Engineer_Computer
https://pyn3rd.github.io/2022/05/07/Arbitrary-File-Upload-Tricks-In-Java/
#BugBounty #JAVA #Servlet #Pentest #web_security
@Engineer_Computer
Pyn3Rd
Arbitrary File Upload Tricks In Java
0x01 ForewordsRecently I see some discussions about arbitrary file upload in Java environment on Internet. The main takling points are how to bypass file name detection when uploading arbitrary file.
⭕️ توی این مقاله از portswigger محقق به نحوه اکسپلویت XSS در تگ meta و hidden input ها با استفاده از فانکشنالیتی popover در مرورگر پرداخته
https://portswigger.net/research/exploiting-xss-in-hidden-inputs-and-meta-tags
#BugBounty #Pentest #web_security
@Engineer_Computer
https://portswigger.net/research/exploiting-xss-in-hidden-inputs-and-meta-tags
#BugBounty #Pentest #web_security
@Engineer_Computer
⭕️ توی این مقاله از projectdiscovery به بررسی آسیب پذیری RCE موجود در Adobe ColdFusion پرداختن و برای اون تمپلیت نوکلئی توسعه دادن
https://blog.projectdiscovery.io/adobe-coldfusion-rce/
#CVE #web_security #research
@Engineer_Computer
https://blog.projectdiscovery.io/adobe-coldfusion-rce/
#CVE #web_security #research
@Engineer_Computer
projectdiscovery.io
Blog — ProjectDiscovery
Discover stories, research, and the latest updates from the ProjectDiscovery team on our official blog.