#XSS #Automation #Fuzzing #BugBounty
ابزار Traxss یکی از ابزارهای خودکارسازی فرآیند آزمون XSS که تو Hacktoberfest معرفی شد.
لینک گیتهاب:
https://github.com/M4cs/traxss
@securation
ابزار Traxss یکی از ابزارهای خودکارسازی فرآیند آزمون XSS که تو Hacktoberfest معرفی شد.
لینک گیتهاب:
https://github.com/M4cs/traxss
@securation
GitHub
GitHub - M4cs/traxss: traxss | Automated XSS Vulnerability Scanner Currently In Development HACKTOBERFEST PROJECT 2019
traxss | Automated XSS Vulnerability Scanner Currently In Development :snake: HACKTOBERFEST PROJECT 2019 - GitHub - M4cs/traxss: traxss | Automated XSS Vulnerability Scanner Currently In Developmen...
#HostHeaderInjection #BugBounty
معمولا آسیب پذیری های قشنگ از ایدهها و طرز فکر های جدید میاد. یه شخص مکانیک کار اومده با استفاده از آسیب پذیری Host Header Injection، لینک تغییر پسوردی که به منظور Forgot Password ارسال میشده به ایمیل اشخاص رو تغییر داده، و توکن لینک تغییر پسورد leak میشده و راحت Account Takeover میکرده که میتونید تو این لینک دربارش بخونید.
https://medium.com/@vbharad/account-takeover-through-password-reset-poisoning-72989a8bb8ea
@securation
معمولا آسیب پذیری های قشنگ از ایدهها و طرز فکر های جدید میاد. یه شخص مکانیک کار اومده با استفاده از آسیب پذیری Host Header Injection، لینک تغییر پسوردی که به منظور Forgot Password ارسال میشده به ایمیل اشخاص رو تغییر داده، و توکن لینک تغییر پسورد leak میشده و راحت Account Takeover میکرده که میتونید تو این لینک دربارش بخونید.
https://medium.com/@vbharad/account-takeover-through-password-reset-poisoning-72989a8bb8ea
@securation
Medium
Account Takeover Through Password Reset Poisoning
Introduction :
#CTF #Android #ReverseEngineering #KGB_Messenger
یه Write-up در خصوص CTF اپلیکیشن KGB Messenger. کل ماجرا از این قراره که اپلیکیشن فقط روی گوشی های مثلا روسی اجرا میشه. تو این Write Up با نحوه Reverse کردن اپلیکیشن اندروید آشنا میشید بعد میگه چطوری کد مربوط به جلوگیری از اجرا رو پیدا کنیم و متغیر مربوط به اون رو پیدا و دستکاری کنیم و در نهایت اپلیکیشن رو دوباره Build کنیم و Sign کنیم.
البته ناگفته نماند که تو این Write Up به صورت استاتیک اینکار انجام شده اما با کمی دانش داینامیک آنالیز مثل کار با Frida میتونید اینکارو کاملا داینامیک انجام بدید.
تو کل این روند هم با ApkTool برنامه رو Reverse میکنیم و با Smali آشنا میشیم با ابزار JD-Gui کار میکنیم و در نهایت با ابزار uber signer هم APK رو Sign میکنیم.
https://medium.com/bugbountywriteup/android-ctf-kgb-messenger-d9069f4cedf8
@securation
یه Write-up در خصوص CTF اپلیکیشن KGB Messenger. کل ماجرا از این قراره که اپلیکیشن فقط روی گوشی های مثلا روسی اجرا میشه. تو این Write Up با نحوه Reverse کردن اپلیکیشن اندروید آشنا میشید بعد میگه چطوری کد مربوط به جلوگیری از اجرا رو پیدا کنیم و متغیر مربوط به اون رو پیدا و دستکاری کنیم و در نهایت اپلیکیشن رو دوباره Build کنیم و Sign کنیم.
البته ناگفته نماند که تو این Write Up به صورت استاتیک اینکار انجام شده اما با کمی دانش داینامیک آنالیز مثل کار با Frida میتونید اینکارو کاملا داینامیک انجام بدید.
تو کل این روند هم با ApkTool برنامه رو Reverse میکنیم و با Smali آشنا میشیم با ابزار JD-Gui کار میکنیم و در نهایت با ابزار uber signer هم APK رو Sign میکنیم.
https://medium.com/bugbountywriteup/android-ctf-kgb-messenger-d9069f4cedf8
@securation
Medium
Android CTF — KGB Messenger
This is a write up of an open source CTF practice challenge.
#CTF #Frida #DynamicAnalyse #Android
اگر به داینامیک آنالیز و مخصوصا Frida علاقه دارید این پست رو پیشنهاد میکنم بخونید. تو این WriteUp یکی دیگه از چالش های CTF رو حل میکنیم.
چالش شامل ۳ بخش هست که در بخش اول یک فانکشن که کلید رو به صورت داینامیک ساخته میشه رو با فریدا فراخوانی میکنیم و return فانکشن رو میگیریم که میشه فلگ اول.
در مرحله دوم هم با عمل انکریپت برنامه آشنا میشیم و فایل کلید رو پیدا میکنیم و دوباره به صورت داینامیک با فریدا فانکشن رو فراخوانی میکنیم و با پاس دادن مقادیر بایت اون فانکشن، خروجی تابع رو میگیریم که میشه فلگ دوم.
و در نهایت بخش سوم چالش، یک متن هاردکد شده در Native Lib رو پیدا میکنیم و Hook Detector رو که برای تشخیص فریدا هست رو بایپس میکنیم.
https://medium.com/bugbountywriteup/cybertruck-challenge-2019-android-ctf-e39c7f796530
@securation
اگر به داینامیک آنالیز و مخصوصا Frida علاقه دارید این پست رو پیشنهاد میکنم بخونید. تو این WriteUp یکی دیگه از چالش های CTF رو حل میکنیم.
چالش شامل ۳ بخش هست که در بخش اول یک فانکشن که کلید رو به صورت داینامیک ساخته میشه رو با فریدا فراخوانی میکنیم و return فانکشن رو میگیریم که میشه فلگ اول.
در مرحله دوم هم با عمل انکریپت برنامه آشنا میشیم و فایل کلید رو پیدا میکنیم و دوباره به صورت داینامیک با فریدا فانکشن رو فراخوانی میکنیم و با پاس دادن مقادیر بایت اون فانکشن، خروجی تابع رو میگیریم که میشه فلگ دوم.
و در نهایت بخش سوم چالش، یک متن هاردکد شده در Native Lib رو پیدا میکنیم و Hook Detector رو که برای تشخیص فریدا هست رو بایپس میکنیم.
https://medium.com/bugbountywriteup/cybertruck-challenge-2019-android-ctf-e39c7f796530
@securation
Medium
CyberTruck Challenge 2019 — Android CTF
CyberTruck Challenge 2019 is a premier event to bring together a community of interest related to heavy vehicle cybersecurity issued and…
#BugBounty #XXE
خب میرسیم به یه پست که آسیب پذیری مورد علاقمه یعنی XXE.
تو این پست که تو Medium منتشر شده طرف از صفر شروع کرده به پورت اسکن و بعدش هم Enumerate کردن دایرکتوری ها. که در نهایت منجر به آپلود فایل XXE و اکسپلویت آسیب پذیریش میشه و bash_history و passwd رو میخونه بعدش هم SSH میزنه و دسترسی رو به Root ارتقا میده.
پیشنهاد میکنم اگر با آسیب پذیری فوق آشنا نیستید یه نگاهی به این پست داشته باشید.
https://medium.com/bugbountywriteup/devoops-an-xml-external-entity-xxe-hackthebox-walkthrough-fb5ba03aaaa2
@securation
خب میرسیم به یه پست که آسیب پذیری مورد علاقمه یعنی XXE.
تو این پست که تو Medium منتشر شده طرف از صفر شروع کرده به پورت اسکن و بعدش هم Enumerate کردن دایرکتوری ها. که در نهایت منجر به آپلود فایل XXE و اکسپلویت آسیب پذیریش میشه و bash_history و passwd رو میخونه بعدش هم SSH میزنه و دسترسی رو به Root ارتقا میده.
پیشنهاد میکنم اگر با آسیب پذیری فوق آشنا نیستید یه نگاهی به این پست داشته باشید.
https://medium.com/bugbountywriteup/devoops-an-xml-external-entity-xxe-hackthebox-walkthrough-fb5ba03aaaa2
@securation
Medium
DevOops — An XML External Entity (XXE) HackTheBox Walkthrough
Summary
#BugBounty #Tip #AccountTakeOver #WriteUp
معمولا یکم دقت و فکر میتونه نتیجهی بهتری تا بیهوده تلاش کردن داشته باشه که دقیقا تو این مقاله که از مدیوم گذاشتم همین بحث مطرح میشه.
جریان اینه که طرف میره چند بار تغییر رمز میزنه و ایمیل میاد براش چند تا، بعد از یکم دقت میبینه که توکن ها یه الگویی دارن.
پس شروع میکنه به کنکاش و میبینه کاراکتر ۲ و ۳ و ۴ از ایمیلش تو تمامی توکن ها به شکل معکوس وجود داشته
بخش انتهایی توکن هم timestamp هستش که انکود شده و فقط میمونه ۲ کاراکتر بین اینها که اونارو هم بروت فورس میکنه چون هیچ مکانیزمی برای جلوگیری از بروت فورس (Weak Lockout Mechanism - OWASP) هم نداره.
نتیجش؟ Account Takeover با استفاده از قابلیت فراموشی رمز عبور به همین سادگی :)
https://medium.com/bugbountywriteup/how-i-discovered-an-interesting-account-takeover-flaw-18a7fb1e5359
@securation
معمولا یکم دقت و فکر میتونه نتیجهی بهتری تا بیهوده تلاش کردن داشته باشه که دقیقا تو این مقاله که از مدیوم گذاشتم همین بحث مطرح میشه.
جریان اینه که طرف میره چند بار تغییر رمز میزنه و ایمیل میاد براش چند تا، بعد از یکم دقت میبینه که توکن ها یه الگویی دارن.
پس شروع میکنه به کنکاش و میبینه کاراکتر ۲ و ۳ و ۴ از ایمیلش تو تمامی توکن ها به شکل معکوس وجود داشته
بخش انتهایی توکن هم timestamp هستش که انکود شده و فقط میمونه ۲ کاراکتر بین اینها که اونارو هم بروت فورس میکنه چون هیچ مکانیزمی برای جلوگیری از بروت فورس (Weak Lockout Mechanism - OWASP) هم نداره.
نتیجش؟ Account Takeover با استفاده از قابلیت فراموشی رمز عبور به همین سادگی :)
https://medium.com/bugbountywriteup/how-i-discovered-an-interesting-account-takeover-flaw-18a7fb1e5359
@securation
Medium
How I discovered an interesting account takeover flaw?
Hi everyone, today I will talk about an interesting account takeover flaw which I found around a year back. The root cause of this issue…
#Tools #BugHunting #Enumeration #InformationGathering
چند تا ابزار Information Gathering و Enumeration برای باگ هانترا:
https://github.com/OWASP/Amass
https://github.com/maurosoria/dirsearch
https://github.com/guelfoweb/knock
https://github.com/Screetsec/Sudomy
https://github.com/Nekmo/dirhunt
https://github.com/maurosoria/dirsearch
@securation
چند تا ابزار Information Gathering و Enumeration برای باگ هانترا:
https://github.com/OWASP/Amass
https://github.com/maurosoria/dirsearch
https://github.com/guelfoweb/knock
https://github.com/Screetsec/Sudomy
https://github.com/Nekmo/dirhunt
https://github.com/maurosoria/dirsearch
@securation
GitHub
GitHub - owasp-amass/amass: In-depth attack surface mapping and asset discovery
In-depth attack surface mapping and asset discovery - owasp-amass/amass
#XXE #OOB #AdvancedTechnique #BugBounty #Tip
یکی از آسیب پذیری های مورد علاقم که قبلا هم گفتم XXE.
یکی از تکنیک هایی که در XXE داریم تکنیک های OOB هست. اما این تکنیک به چه درد میخوره؟ وقتی شما XXE رو اکسپلویت میکنید ممکنه خروجی به شما نشون داده نشه یا فرضا ;xxe& که نوشتید رو مستقیم به خودتون نشون میده به جای پاسخ. اما آیا این صددرصد امن شده؟ در این حالت از تکنیک های OOB استفاده میکنیم و به جایی اینکه خروجی رو مستقیما ببینیم با ارسال پاسخ ها به سمت سرور مهاجم خروجی رو مشاهده میکنیم. کل ایده OOB در XXE برای همین هست که وقتی خروجی دیده نمیشه شما پاسخ هارو به سمت سرور مهاجم ارسال کنید و مشاهده کنید.
تو مقاله زیر از PortSwigger میتونید بیشتر مطالعه کنید:
https://portswigger.net/web-security/xxe/blind
@securation
یکی از آسیب پذیری های مورد علاقم که قبلا هم گفتم XXE.
یکی از تکنیک هایی که در XXE داریم تکنیک های OOB هست. اما این تکنیک به چه درد میخوره؟ وقتی شما XXE رو اکسپلویت میکنید ممکنه خروجی به شما نشون داده نشه یا فرضا ;xxe& که نوشتید رو مستقیم به خودتون نشون میده به جای پاسخ. اما آیا این صددرصد امن شده؟ در این حالت از تکنیک های OOB استفاده میکنیم و به جایی اینکه خروجی رو مستقیما ببینیم با ارسال پاسخ ها به سمت سرور مهاجم خروجی رو مشاهده میکنیم. کل ایده OOB در XXE برای همین هست که وقتی خروجی دیده نمیشه شما پاسخ هارو به سمت سرور مهاجم ارسال کنید و مشاهده کنید.
تو مقاله زیر از PortSwigger میتونید بیشتر مطالعه کنید:
https://portswigger.net/web-security/xxe/blind
@securation
portswigger.net
What is a blind XXE attack? Tutorial & Examples | Web Security Academy
In this section, we'll explain what blind XXE injection is and describe various techniques for finding and exploiting blind XXE vulnerabilities. What is ...
This media is not supported in your browser
VIEW IN TELEGRAM
آسیبپذیری جدید پروتکل RDP با نام BlueGate که میتواند منجر به DoS و RCE گردد.
لینک اسکنر و DoS در گیتهاب:
https://github.com/ollypwn/BlueGate
لینک Exploit-DB:
https://www.exploit-db.com/exploits/47964
@securation
لینک اسکنر و DoS در گیتهاب:
https://github.com/ollypwn/BlueGate
لینک Exploit-DB:
https://www.exploit-db.com/exploits/47964
@securation
#BugBounty #HTTP #tip #token #leak
تو این مقاله راجب referrer header در پکت http توضیح داده میشه و اینکه چطوری طرف تونسته با استفاده از این هدر بفهمه که توکن بازیابی رمز عبور نشت (leak) داشته.
کل ماجرا اینه که توکن بازیابی رمز عبور که در URL قرار داشته در هدر referrer قرار میگرفته و وقتی کاربر رو هر لینکی اگر کلیک میکرده، توکن هم به اون لینک جدید ارسال میشده.
https://medium.com/@shahjerry33/password-reset-token-leak-via-referrer-2e622500c2c
@securation
تو این مقاله راجب referrer header در پکت http توضیح داده میشه و اینکه چطوری طرف تونسته با استفاده از این هدر بفهمه که توکن بازیابی رمز عبور نشت (leak) داشته.
کل ماجرا اینه که توکن بازیابی رمز عبور که در URL قرار داشته در هدر referrer قرار میگرفته و وقتی کاربر رو هر لینکی اگر کلیک میکرده، توکن هم به اون لینک جدید ارسال میشده.
https://medium.com/@shahjerry33/password-reset-token-leak-via-referrer-2e622500c2c
@securation
یکی از قابلیت های HTML5 قابلیتی با نام CDM یا Cross Domain Messaging هست که به شما اجازه میده یکسری از دیتاها رو بین دامین های مختلف انتقال بدید
تو عکس همراه با این پست یه توضیح کوتاه و نحوه کد زدنش هست.
اما بحث اصلی چیه؟ ۲ تا آسیب پذیری مختلف میتونه همراه با این قابلیت بوجود بیاد.
۱)وقتی شما دارید یک postMessage انجام میدید اگر مقدار دامینی که قراره بهش دیتا ارسال بشه رو برابر با * بزارید میتونه باعث لو رفتن داده های حساس بشه و اتکر داده های کاربر رو بخونه.
۲) و اما دومین مورد اینه که اگر هنگام دریافت دیتا هر دیتایی رو برنامه نویس قبول کنه و به اصطلاح Sanitize انجام نده میتونه باعث XSS بشه.
اگر علاقهمند هستید میتونید تو لینک زیر هم بیشتر راجبش بخونید.
https://www.gracefulsecurity.com/html5-cross-domain-messaging-postmessage-vulnerabilities
@securation
تو عکس همراه با این پست یه توضیح کوتاه و نحوه کد زدنش هست.
اما بحث اصلی چیه؟ ۲ تا آسیب پذیری مختلف میتونه همراه با این قابلیت بوجود بیاد.
۱)وقتی شما دارید یک postMessage انجام میدید اگر مقدار دامینی که قراره بهش دیتا ارسال بشه رو برابر با * بزارید میتونه باعث لو رفتن داده های حساس بشه و اتکر داده های کاربر رو بخونه.
۲) و اما دومین مورد اینه که اگر هنگام دریافت دیتا هر دیتایی رو برنامه نویس قبول کنه و به اصطلاح Sanitize انجام نده میتونه باعث XSS بشه.
اگر علاقهمند هستید میتونید تو لینک زیر هم بیشتر راجبش بخونید.
https://www.gracefulsecurity.com/html5-cross-domain-messaging-postmessage-vulnerabilities
@securation
#csrf #csrfToken #tip #BugBounty #Bypass
یکی از راهکار های جلوگیری از حملات CSRF استفاده از CSRF Token هست. اما پیاده سازی درست CSRF Token خودش چالشی جالب داره که عدم پیاده سازی صحیحش میتونه منجر به بایپس اون بشه.
در عکس ۴ مورد از مشکلاتی که ممکنه در پیاده سازیش بوجود بیاد نوشته شده که خلاصه به صورت فارسیش میشه این:
1) اگر توکن کاربر دوم برای کاربر اول معتبر باشه
2) اگر مقدار CSRF Token خالی ارسال بشه
3) یه مقدار با طول ثابتی که CSRF Token داره به صورت رندوم با مقداری دیگه جایگزین بشه
4) اگر CSRF Token برای تمامی کاربران یکسان باشه
و البته مورد دیگری که در عکس نیست و به عنوان مورد اضافی بخوام بگم داشتن Entropy پایین میتونه منجر به حدس CSRF Token بشه و راحت اکسپلویت شه. Entropy رو میتونید با Sequencer در Burp Suite به راحتی Analyze کنید. هر چی مقدار Entropy کمتر باشه، مقدار توکن قابلیت حدس بالاتری داره.
@securation
یکی از راهکار های جلوگیری از حملات CSRF استفاده از CSRF Token هست. اما پیاده سازی درست CSRF Token خودش چالشی جالب داره که عدم پیاده سازی صحیحش میتونه منجر به بایپس اون بشه.
در عکس ۴ مورد از مشکلاتی که ممکنه در پیاده سازیش بوجود بیاد نوشته شده که خلاصه به صورت فارسیش میشه این:
1) اگر توکن کاربر دوم برای کاربر اول معتبر باشه
2) اگر مقدار CSRF Token خالی ارسال بشه
3) یه مقدار با طول ثابتی که CSRF Token داره به صورت رندوم با مقداری دیگه جایگزین بشه
4) اگر CSRF Token برای تمامی کاربران یکسان باشه
و البته مورد دیگری که در عکس نیست و به عنوان مورد اضافی بخوام بگم داشتن Entropy پایین میتونه منجر به حدس CSRF Token بشه و راحت اکسپلویت شه. Entropy رو میتونید با Sequencer در Burp Suite به راحتی Analyze کنید. هر چی مقدار Entropy کمتر باشه، مقدار توکن قابلیت حدس بالاتری داره.
@securation
نسخه جدید Burp suite یعنی 2020 دیشب ریلیز شد. صفحه دانلود و تغییرات 👇
برخی تغییرات:
رنگی شدن سینتکس مختص به هر زبان
شماره گذاری خطوط
اضافه شدن رنگ سینتکس های js و json و css
بهتر شدن UI برنامه
برخی باگ های برنامه هم رفع شدن
https://portswigger.net/burp/releases/professional-community-2020-1
@securation
برخی تغییرات:
رنگی شدن سینتکس مختص به هر زبان
شماره گذاری خطوط
اضافه شدن رنگ سینتکس های js و json و css
بهتر شدن UI برنامه
برخی باگ های برنامه هم رفع شدن
https://portswigger.net/burp/releases/professional-community-2020-1
@securation
Burp Suite Release Notes
Professional / Community 2020.1
This release updates the HTTP message editor with various new capabilities: Syntax colorising for JavaScript, JSON, and CSS. Syntax colorising is now dynamically updated as you type. Line numbers. Cod
یکی از مفاهیم مهم در حوزهی وب، CORS هست. در کل دو نوع درخواست CORS داریم که به نام های Simple Requests و Pre-flight Requests مشهور هستند.
به طور خلاصه به درخواست هایی که به صورت عادی و با رعایت White List از پیش تعیین شده ارسال میشه Simple Requests گفته میشه و اگر قوانین مربوطه رعایت نشه یک درخواست Pre-Flight توسط مرورگر ارسال میشه و سپس درخواست اصلی صورت میگیره.
مقاله زیر رو پیشنهاد میکنم بخونید:
https://dev.to/effingkay/cors-preflighted-requests--options-method-3024
@securation
به طور خلاصه به درخواست هایی که به صورت عادی و با رعایت White List از پیش تعیین شده ارسال میشه Simple Requests گفته میشه و اگر قوانین مربوطه رعایت نشه یک درخواست Pre-Flight توسط مرورگر ارسال میشه و سپس درخواست اصلی صورت میگیره.
مقاله زیر رو پیشنهاد میکنم بخونید:
https://dev.to/effingkay/cors-preflighted-requests--options-method-3024
@securation
یه ویدیو از STOK که چند تا ابزار و دستور از BASH معرفی میکنه که میتونه برای باگ هانتر ها و ردتیم ها خیلی مفید باشه. همچنین ترفند های VIM که میزنه بی نظیره.
لیستی از دستورات و ابزار های مورد استفاده:
- assetfinder (subdomain enumeration)
- httprobe (alive subdomains and hosts enumeration)
- tee
- meg
- ...
https://www.youtube.com/watch?v=l8iXMgk2nnY
@securation
لیستی از دستورات و ابزار های مورد استفاده:
- assetfinder (subdomain enumeration)
- httprobe (alive subdomains and hosts enumeration)
- tee
- meg
- ...
https://www.youtube.com/watch?v=l8iXMgk2nnY
@securation
YouTube
VIM tutorial: linux terminal tools for bug bounty pentest and redteams with @tomnomnom
In this VIM / BASH Bug Bounty tutorial, Tom Hudson @tomnomnom chats with STÖK, shares his command line bug bounty pentesting recon secrets and Shows you how to use some of his custom tools. Pro webapp pentesting from the command line
You will find Tom here:…
You will find Tom here:…
RedTeam-Checklist.pdf
35 KB
#RedTeam #Checklist
یک چک لیست برای Red Team ها که در سه گام کلی Planning, Execution و Culmination با زیر شاخههای ذیربط ارائه گردیده است که میتواند برای افراد فعال و علاقهمند به حوزه RedTeam خیلی مفید واقع شود.
@securation
یک چک لیست برای Red Team ها که در سه گام کلی Planning, Execution و Culmination با زیر شاخههای ذیربط ارائه گردیده است که میتواند برای افراد فعال و علاقهمند به حوزه RedTeam خیلی مفید واقع شود.
@securation
#HBH #HTTP #Headers
یکی از آسیبپذیری های خیلی خفنی که باهاش حال کردم و سال ۲۰۱۹ کشف شد آسیبپذیری Abusing HBH Request Headers بود. مقالهی زیر یه توضیح کامل ازش هست اما به طور خلاصه آسیبپذیری مذکور برای اینه که شما بتونید Header های پکت HTTP رو با استفاده از اضافه کردن نام هدر به مقدار Connection تو پکت HTTP، حذف کنید.
حتما مقالهی زیر رو برای توضیحات بیشتر بخونید خیلی قشنگه.
https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers
@securation
یکی از آسیبپذیری های خیلی خفنی که باهاش حال کردم و سال ۲۰۱۹ کشف شد آسیبپذیری Abusing HBH Request Headers بود. مقالهی زیر یه توضیح کامل ازش هست اما به طور خلاصه آسیبپذیری مذکور برای اینه که شما بتونید Header های پکت HTTP رو با استفاده از اضافه کردن نام هدر به مقدار Connection تو پکت HTTP، حذف کنید.
حتما مقالهی زیر رو برای توضیحات بیشتر بخونید خیلی قشنگه.
https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers
@securation
#python #secure_coding #coding #code
اگر با کتابخونه subprocess در پایتون کار کرده باشید حتما قطعه کد مقابل رو دیدید:
از لحاظ امنیتی این کد مشکل داره؟
جواب: بله!
اما چرا؟ وقتی شما مقدار shell رو برابر با True قرار بدید subprocess شِل رو در اختیار میگیره و به Shell میگه دستور رو اجرا کن (subshell). در واقع یعنی تمامی متغیر های محیطی (Variables) و تمامی ویژگیهای شل، قبل از اجرای دستور echo $HOME، پردازش میشوند.
یه مثال برای اینکه خودتون به چشم ببینید خروجی رو میتونید اجرا کنید:
اگر با کتابخونه subprocess در پایتون کار کرده باشید حتما قطعه کد مقابل رو دیدید:
import subprocess
print(subprocess.call('echo $HOME', shell=True))
از لحاظ امنیتی این کد مشکل داره؟
جواب: بله!
اما چرا؟ وقتی شما مقدار shell رو برابر با True قرار بدید subprocess شِل رو در اختیار میگیره و به Shell میگه دستور رو اجرا کن (subshell). در واقع یعنی تمامی متغیر های محیطی (Variables) و تمامی ویژگیهای شل، قبل از اجرای دستور echo $HOME، پردازش میشوند.
یه مثال برای اینکه خودتون به چشم ببینید خروجی رو میتونید اجرا کنید:
>>> import subprocess@securation
>>> subprocess.call('echo $HOME')
Traceback (most recent call last):
...
OSError: [Errno 2] No such file or directory
>>>
>>> subprocess.call('echo $HOME', shell=True)
/user/invoxes