مقدمه
تهدیدهای امنیتی بطور مداوم پیچیده تر می شوند ، بنابراین توسعه دهندگان و ادمین های سیستم ها باید در دفاع و آزمایش امنیت برنامه های خود رویکردی پیشگیرانه اتخاذ کنند.
روشی متداول برای آزمایش امنیت برنامه های مشتری یا خدمات شبکه، fuzzing است که شامل ارسال مکرر داده های نامعتبر یا نادرست به برنامه و تجزیه و تحلیل پاسخ آن است. این کار برای کمک به اینکه برنامه در برابر ورودی غیر منتظره که ممکن است شامل داده های نادرست یا حملات واقعی باشد، چقدر مقاومت و استحکام دارد مفید است.
Radamsa یک ابزار fuzzing منبع باز است که می تواند موارد آزمایش را بر اساس داده های ورودی مشخص شده توسط کاربر ایجاد کند. Radamsa کاملاً قابل سندیت است و تاکنون در یافتن آسیب پذیری در برنامه های واقعی مانند Gzip موفق بوده است.
در این آموزش ، Radamsa را با استفاده از موارد تست خود ، برای فوز تست خط فرمان و برنامه های مبتنی بر شبکه، نصب و استفاده خواهید کرد.
هشدار: Radamsa ابزاری برای آزمایش نفوذ است که به شما امکان می دهد آسیب پذیری ها یا نقاط ضعف سیستم ها یا برنامه های خاص را شناسایی کنید. شما نباید از آسیب پذیری های یافت شده با Radamsa برای هر نوع رفتار بی احتیاط ، آسیب یا سوء استفاده مخرب استفاده کنید. از لحاظ اخلاقی آسیب پذیری ها باید به نگهدارنده برنامه آسیب دیده گزارش شود و بدون اجازه صریح در معرض دید عموم قرار نگیرد.
پیش نیازها
قبل از شروع این راهنما به موارد زیر نیاز خواهید داشت:
یک سرور مجازی Ubuntu 18.04 که با دنبال کردن راهنمای راه اندازی سرور مجازی اولیه با Ubuntu 18.04نصب شده باشد، و شامل یک کاربر sudo غیر ریشه و فایروال فعال برای مسدود کردن پورت های غیر ضروری باشد.
یک خط فرمان یا برنامه مبتنی بر شبکه که می خواهید آن را امتحان کنید ، به عنوان مثال Gzip ، Tcpdump ، Bind ، Apache ، jq یا هر برنامه دیگری که مورد نظر شماست. به عنوان نمونه برای اهداف این آموزش ، از jq استفاده خواهیم کرد.
هشدار: Radamsa می تواند باعث شود برنامه ها یا سیستم ها به صورت ناپایدار یا crash اجرا شوند ، بنابراین فقط Radamsa را در محیطی که برای این کار آماده هستید مانند سرور اختصاصی اجرا کنید. لطفاً قبل از انجام fuzz testing در برابر آن ، از داشتن اجازه کتبی صریح از صاحب سیستم اطمینان حاصل کنید.

پس از آماده شدن ، به عنوان کاربر غیر ریشه وارد سرور مجازی خود شوید.
مرحله 1 – نصب Radamsa
در مرحله اول ، Radamsa را دانلود و کامپایل می کنید تا در سیستم خود شروع به استفاده از آن کنید. کد منبع Radamsa در منبع رسمی GitLab موجود است.
با به روز کردن فهرست بسته محلی شروع کنید تا تغییرات جدید بالادست را منعکس کنید:
$ sudo apt update
سپس بسته های gcc ، git ، make و wget لازم جهت تهیه کد منبع را در یک باینری قابل اجرا نصب کنید:
$ sudo apt install gcc git make wget

apt پس از تأیید نصب ، بسته های مشخص شده و کلیه وابستگی های مورد نیاز آنها را دانلود و نصب خواهد کرد.
در مرحله بعد ، یک نسخه از کد منبع را برای Radamsa با کلون کردن آن از منبع میزبان در GitLab ، دانلود می کنید:
$ git clone https://gitlab.com/akihe/radamsa.git

به این ترتیب یک دایرکتوری به نام radamsa شامل کد منبع برای برنامه ایجاد خواهید کرد. برای شروع کامپایل کد به فهرست راهنما بروید:
$ cd radamsa
در مرحله بعد ، می توانید مراحل کامپایل را با استفاده از make انجام دهید:
$ make

سرانجام ، می توانید باینری Radamsa کامپایل شده را با PATH $ خود نصب کنید:
$ sudo make install

پس از اتمام این کار ، می توانید نسخه نصب شده را بررسی کنید تا مطمئن شوید که همه چیز کار می کند:
$ radamsa –version

خروجی شما شبیه به زیر خواهد بود:
Output
Radamsa 0.6

اگر خطای radamsa: command not found را مشاهده کردید، دوبار بررسی کنید که تمام وابستگی های لازم نصب شده اند و در هنگام کامپایل خطایی وجود ندارد.
اکنون که Radamsa را نصب کردید ، می توانید برخی از موارد نمونه آزمایشی را ایجاد کنید تا ببینید که Radamsa چگونه کار می کند و برای چه چیزی می تواند مورد استفاده قرار گیرد.
مرحله 2 – ارائه موارد Fuzzing Test
اکنون که Radamsa نصب شده است ، می توانید از آن برای تولید برخی موارد Fuzzing Test استفاده کنید.
نمونه آزمایشی بخشی از داده هاست که به عنوان ورودی برای برنامه ای که تست می کنید استفاده می شود. به عنوان مثال ، اگر در حال آزمایش یک برنامه بایگانی مانند Gzip هستید ، مورد آزمایشی ممکن است یک آرشیو فایلی باشد که می خواهید آن را فشرده سازی کنید.
توجه: Radamsa داده های ورودی را با طیف گسترده ای از روش های غیر منتظره از جمله تکرار شدید ، bit flips ، تزریق کاراکتر کنترل و موارد دیگر دستکاری می کند. این کار ممکن است باعث شود که بخش پایانه شما متوقف یا ناپایدار شود ، بنابراین قبل از ادامه این کار آگاه باشید.
در مرحله اول ، یک متن ساده را به Radamsa منتقل کنید تا ببینید چه اتفاقی می افتد:
$ echo “Hello, world!” | radamsa

این کار داده های ورودی را دستکاری (یا فوز) می کند و یک نمونه آزمایشی را تولید می کند ، به عنوان مثال:
Output
Hello,, world!

در این حالت ، Radamsa یک کاما اضافی بین Hello و world اضافه کرد. ممکن است تغییر مهمی به نظر نرسد، اما در برخی از برنامه ها ممکن است باعث تفسیر نادرست داده ها شود.
بیایید دوباره با اجرای همان دستور امتحان کنیم. خروجی متفاوتی را مشاهده خواهید کرد:
Output
Hello, ”””’wor’d!

این بار ، چندین تک نقل قول (‘) به رشته وارد شد ، از جمله علامتی که روی l در world قرار گرفت. این مورد تست خاص به احتمال زیاد منجر به ایجاد مشکلاتی در برنامه خواهد شد ، زیرا اغلب از نقل قول های تک / دوتایی برای جدا کردن بخش های مختلف داده در یک لیست استفاده می شود.
بیایید یک بار دیگر امتحان کنیم:
Output
Hello, $+$PATH\u0000`xcalc`world!

در این مورد Radamsa یک رشته ورود پوسته ای را درج کرده است ، که برای تست آسیب پذیری های ورود فرمان در برنامه ای که شما آزمایش می کنید ، مفید خواهد بود.
شما از Radamsa برای fuzz رشته ورودی و تولید یک سری موارد آزمایشی استفاده کرده اید. در مرحله بعد ، از Radamsa برای fuzz کردن یک برنامه خط فرمان استفاده خواهید کرد.
مرحله 3 – Fuzzing برنامه خط فرمان
در این مرحله ، از Radamsa استفاده می کنید تا یک برنامه خط فرمان را fuzz کرده و در مورد هرگونه کرشی که رخ می دهد گزارش دهید.
تکنیک دقیق fuzzing هر برنامه بسیار متفاوت است و روشهای مختلف برای برنامه های مختلف موثرتر خواهد بود. اما در این آموزش از مثال jq استفاده خواهیم کرد که یک برنامه خط فرمان برای پردازش داده های JSON است.
ممکن است برای هر برنامه مشابهی تا زمانی که از اصول کلی گرفتن برخی شکل های داده های ساختاری یا بدون ساختار تبعیت میکند، استفاده کنید، کاری با آن انجام دهید و سپس نتیجه ای دریافت کنید. به عنوان مثال این مثال همچنین با Gzip ، Grep ، bc ، tr و غیره کار می کند.
اگر jq را قبلاً نصب نکردید ، می توانید آن را با استفاده از apt نصب کنید:
$ sudo apt install jq
اکنون jq نصب خواهد شد.
برای شروع fuzzing ، یک فایل نمونه JSON ایجاد کنید که از آن به عنوان ورودی Radamsa استفاده خواهید کرد:
$ nano test.json

سپس داده های JSON نمونه زیر را به فایل اضافه کنید:
test.json
{
“test”: “test”,
“array”: [
“item1: foo”,
“item2: bar”
]
}

اگر می خواهید صحت دستور JSON را بررسی کنید می توانید این فایل را با استفاده از jq تجزیه کنید:
$ jq . test.json

اگر JSON معتبر باشد ، jq فایل را در خروجی صادر می کند. در غیر اینصورت خطایی نمایش داده می شود که می توانید در صورت لزوم برای اصلاح دستور استفاده کنید.
در مرحله بعد ، فایل JSON تست را با استفاده از Radamsa فوز کنید و سپس آن را به jq منتقل کنید. این باعث خواهد شد که jq مورد آزمایش فوز شده / دستکاری شده را به جای داده های معتبر اصلی JSON بخواند:
$ radamsa test.json | jq

اگر Radamsa داده های JSON را به شکلی fuzz کند که هنوز از نظر نحوی معتبر باشد ، jq داده ها را به خروجی می فرستد ، اما با هر تغییری که Radamsa در آن ایجاد کرده است.
از طرف دیگر ، اگر Radamsa باعث بی اعتبار بودن داده های JSON شود ، jq خطای مربوطه را نشان می دهد. مثلا:
Output
parse error: Expected separator between values at line 5, column 16

نتیجه جایگزین این خواهد بود که jq قادر به پردازش درست داده های فوز شده نیست و باعث کرش یا سوء رفتار آن می شود. این همان چیزی است که در fuzzing واقعاً به دنبال آن هستید ، زیرا ممکن است نشانگر آسیب پذیری امنیتی مانند سرریز بافر یا تزریق فرمان باشد.
برای آزمایش کارآمدتر در برابر آسیب پذیری هایی از این دست ، می توان از اسکریپت Bash برای خودکارسازی فرایند fuzzing استفاده کرد ، از جمله تولید موارد تست ، انتقال آنها به برنامه هدف و گرفتن هر خروجی مربوطه.
فایلی با نام jq-fuzz.sh ایجاد کنید:
$ nano jq-fuzz.sh

محتوای دقیق اسکریپت بسته به نوع برنامه مورد نظر شما و داده های ورودی متفاوت خواهد بود ، اما در مورد jq و سایر برنامه های مشابه ، متن زیر کافی است.
اسکریپت را در فایل jq-fuzz.sh کپی کنید:
jq-fuzz.sh
#!/bin/bash
while true; do
radamsa test.json > input.txt
jq . input.txt > /dev/null 2>&1
if [ $? -gt 127 ]; then
cp input.txt crash-`date +s%.%N`.txt
echo “Crash found!”
fi
don

این اسکریپت حاوی یک while است تا محتویات به صورت مکرر حلقه شود. هر بار که اسکریپت حلقه شود ، Radamsa یک فایل آزمایشی را بر اساس test.json تولید می کند و آن را در input.txt ذخیره می کند.
فایل آزمایشی input.txt از طریق jq اجرا می شود ، آن هم با استفاده از همه خروجی های استاندارد و خطا که به / dev / null هدایت می شوند تا از پر شدن صفحه ترمینال جلوگیری شود.
در آخر ، مقدار خروجی jq بررسی می شود. اگر مقدار خروجی از 127 بیشتر باشد ، نشانگر پایان مخرب (کرش) است ، سپس داده های ورودی برای بررسی در تاریخ بعدی در فایلی به نام crash ذخیره می شوند – به دنبال آن تاریخ فعلی در ثانیه ها و نانو ثانیه های یونیکس می آید.
اسکریپت را به عنوان قابل اجرا علامت گذاری کنید و آن را برای اجرا تنظیم کنید تا به طور خودکار تست فوزی jq را شروع کند:
$ chmod +x jq-fuzz.sh

$ ./jq-fuzz.sh
می توانید CTRL + C را در هر زمان صادر کنید تا اسکریپت خاتمه یابد. سپس می توانید با استفاده از ls ​​برای نمایش فهرست دایرکتوری حاوی فایلهای کرش شده ای که ایجاد شده اند، بررسی کنید که آیا کرشی یافت شده است یا خیر.
ممکن است بخواهید داده های ورودی JSON خود را بهبود بخشید زیرا احتمالاً استفاده از یک فایل ورودی پیچیده تر باعث بهبود کیفیت نتایج fuzzing می شود. از استفاده از یک فایل بزرگ یا فایلی که حاوی تعداد زیادی از داده های تکراری است ، خودداری کنید – یک فایل ورودی ایده آل اندازه کوچکی دارد ، اما همچنان ممکن است تا سر حد امکان عناصر پیچیده بسیاری داشته باشد. به عنوان مثال ، یک فایل ورودی خوب شامل نمونه هایی از داده های ذخیره شده در تمام قالب ها ، از جمله رشته ها ، اعداد صحیح ، بولی ها ، لیست ها و موضوعات ، و همچنین در صورت امکان داده های تو در تو می باشد.
شما از Radamsa برای fuzz کردن یک برنامه خط فرمانی استفاده کرده اید. در مرحله بعد ، از Radamsa برای fuzz کردن درخواست ها برای خدمات شبکه استفاده خواهید کرد.
مرحله 4 – فوز کردن درخواست ها برای خدمات شبکه
Radamsa همچنین می تواند برای fuzzing سرویس های شبکه ، یا به عنوان مشتری یا سرور مجازی شبکه ، مورد استفاده قرار گیرد. در این مرحله ، از Radamsa برای fuzzing سرویس شبکه استفاده خواهید کرد که Radamsa به عنوان مشتری عمل می کند.
هدف از fuzzing خدمات شبکه ، آزمایش چگونگی انعطاف پذیری یک سرویس شبکه خاص برای مشتریانی است که داده های ناقص و / یا مخرب را ارسال می کنند. بسیاری از خدمات شبکه مانند سرور مجازی های وب یا سرور مجازی های DNS معمولاً در معرض اینترنت قرار دارند ، به این معنی که آنها یک هدف مشترک برای مهاجمان هستند. یک سرویس شبکه ای که به اندازه کافی در برابر دریافت داده های نادرست مقاوم نیست ممکن است کرش کند یا حتی بدتر از آن این که در وضعیت باز از کار بیفتد و به مهاجمان اجازه دهد داده های حساس مانند کلیدهای رمزگذاری یا داده های کاربر را بخوانند.
روش خاص برای fuzzing خدمات شبکه بسته به خدمات شبکه در آن بسیار متفاوت است، با این حال در این مثال ما از Radamsa استفاده خواهیم کرد تا یک سرور مجازی اصلی وب که محتوای HTMLاستاتیک را ارائه می دهد ، fuzz کند.
در مرحله اول ، شما باید سرور مجازی وب را تنظیم کنید تا از آن برای آزمایش استفاده کنید. شما می توانید این کار را با استفاده از سرور مجازی توسعه داخلی که همراه با بسته php-cli است انجام دهید. همچنین برای آزمایش سرور مجازی وب خود به curl نیاز دارید.
اگر php-cli و / یا curl نصب نکردید ، می توانید آنها را با استفاده از apt نصب کنید:
$ sudo apt install php-cli curl
بعد ، دایرکتوری ایجاد کنید تا فایل های سرور مجازی وب خود را در آن ذخیره کنید و به داخل آن بروید:

$ mkdir ~/www

$ cd ~/www
سپس ، یک فایل HTML ایجاد کنید که حاوی متن نمونه است
$ nano index.html

موارد زیر را به فایل اضافه کنید:
index.html
<h1>Hello, world!</h1>

اکنون می توانید سرور مجازی وب PHP خود را اجرا کنید. لازم است بتوانید ضمن استفاده از بخش ترمینال دیگر ، ورود به سیستم سرور مجازی وب را مشاهده کنید ، بنابراین یک بخش ترمینال و SSH دیگر را برای این کار باز کنید:
$ cd ~/www

$ php -S localhost:8080

این دستور خروجی شبیه به زیر را در پی خواهد داشت:
Output
PHP 7.2.24-0ubuntu0.18.04.1 Development Server started at Wed Jan 1 16:06:41 2020
Listening on http://localhost:8080
Document root is /home/user/www
Press Ctrl-C to quit.

اکنون می توانید به بخش ترمینال اصلی خود برگردید و آزمایش کنید که وب سرور مجازی با استفاده از curl کار می کند یا نه:
$ curl localhost:8080

با این کار نمونه فایل index.html که قبلاً ایجاد کرده اید به خروجی فرستاده می شود:
Output
<h1>Hello, world!</h1>

سرور مجازی وب شما فقط باید به صورت محلی قابل دسترسی باشد ، بنابراین نباید هیچ درگاهی در فایروال خود برای آن باز کنید.
اکنون که سرور مجازی وب تستی خود را تنظیم کرده اید ، می توانید با استفاده از Radamsa ، آن را fuzz کنید.
ابتدا باید یک نمونه HTTP نمونه ایجاد کنید تا از آن به عنوان داده ورودی برای Radamsa استفاده شود. یک فایل جدید برای ذخیره در آن ایجاد کنید:
$ nano http-request.txt

سپس ، درخواست HTTP نمونه زیر را در فایل کپی کنید:
http-request.txt
GET / HTTP/1.1
Host: localhost:8080
User-Agent: test
Accept: */*

در مرحله بعد ، می توانید از Radamsa برای ارسال این درخواست HTTP به سرور مجازی وب محلی خود استفاده کنید. برای انجام این کار ، باید از Radamsa به عنوان سرویس دهنده TCP استفاده کنید ، که می تواند با مشخص کردن آدرس IP و پورت برای اتصال به آن انجام شود:
$ radamsa -o 127.0.0.1:8080 http-request.txt

توجه: توجه داشته باشید كه استفاده از Radamsa به عنوان مشتری TCP به طور بالقوه باعث می شود كه داده های نادرست / مخرب از طریق شبکه منتقل شوند. این مسئله ممکن است مشکل ساز شود ، بنابراین باید فقط به شبکه هایی که مجاز به آزمایش آنها هستید دسترسی داشته باشید یا ترجیحا فقط از آدرس localhost (127.0.0.1) استفاده کنید.
در نهایت ، اگر گزارش های خروجی را برای سرور مجازی وب محلی خود مشاهده کنید ، خواهید دید که این درخواست ها را دریافت کرده است ، اما به احتمال زیاد آنها را به عنوان نامعتبر / نادرست پردازش نکرده است.
گزارش های خروجی در پنجره ترمینال دوم شما قابل مشاهده خواهند بود:
Output
[Wed Jan 1 16:26:49 2020] 127.0.0.1:49334 Invalid request (Unexpected EOF)
[Wed Jan 1 16:28:04 2020] 127.0.0.1:49336 Invalid request (Malformed HTTP request)
[Wed Jan 1 16:28:05 2020] 127.0.0.1:49338 Invalid request (Malformed HTTP request)
[Wed Jan 1 16:28:07 2020] 127.0.0.1:49340 Invalid request (Unexpected EOF)
[Wed Jan 1 16:28:08 2020] 127.0.0.1:49342 Invalid request (Malformed HTTP request)

برای دستیابی به نتایج بهینه و اطمینان از ثبت کرش ها ، بهتر است یک اسکریپت اتوماسیون مشابه آنچه در مرحله 3 استفاده شده است بنویسید. همچنین باید از یک فایل ورودی پیچیده تر استفاده کنید ، که ممکن است حاوی اضافاتی مانند هدرهای HTTP بیشتر باشد.
با استفاده از Radamsa که به عنوان یک سرویس دهنده TCP عمل می کند ، یک سرویس شبکه را fuzz کرده اید. در مرحله بعد ، یک سرویس دهنده شبکه را با Radamsa به عنوان سرور مجازی fuzz می کنید.
مرحله 5 – Fuzzing برنامه های مشتری شبکه
در این مرحله ، از Radamsa برای آزمایش fuzz کردن یک برنامه مشتری شبکه استفاده خواهید کرد. این کار با رهگیری پاسخ های یک سرویس شبکه و fuzz کردن آنها قبل از دریافت توسط مشتری حاصل می شود.
هدف از این نوع fuzzing ، آزمایش میزان مقاومت برنامه های مشتری شبکه در برابر دریافت داده های نادرست یا مخرب از خدمات شبکه است. به عنوان مثال ، آزمایش یک مرورگر وب (مشتری) کهHTML ناقص از یک سرور مجازی وب (سرویس شبکه) دریافت میکند یا آزمایش یک مشتری DNS که پاسخ DNS نادرست از یک سرور مجازی DNS دریافت منماید.
همانند مورد fuzzing برنامه های خط فرمان یا خدمات شبکه، تکنیک دقیق برای fuzzing هر برنامه سرویس دهنده شبکه بطور قابل توجهی متفاوت است ، اما در این مثال از Whois استفاده خواهید کرد که یک برنامه ارسال یا دریافت ساده مبتنی بر TCP است.
از برنامه whois برای ارسال درخواست به سرور مجازی های WHOIS و دریافت سوابق WHOIS به عنوان پاسخ استفاده می شود. WHOIS روی درگاه TCP 43 با متن واضح کار می کند ، و آن را به عنوان کاندیدای خوبی برای آزمایش fuzz مبتنی بر شبکه تبدیل می کند.
اگر قبلاً whois  را که نداشته اید ، می توانید آن را با استفاده از apt نصب کنید:
$ sudo apt install whois
در مرحله اول ، به نمونه پاسخ whoisنیاز خواهید داشت که از آن به عنوان داده ورودی استفاده کنید. شما می توانید این کار را با ایجاد درخواست whois و ذخیره کردن خروجی در یک فایل انجام دهید. شما می توانید از هر دامنه مورد نظر خود در اینجا استفاده کنید زیرا برنامه whois را بصورت محلی و با استفاده از داده های نمونه محلی آزمایش می کنید:
$ whois example.com > whois.txt
در مرحله بعد ، باید Radamsa را به عنوان سرور مجازی  تنظیم کنید که نسخه های fuzz شده این پاسخ whois را ارائه می دهد. هنگامی که Radamsa در حالت سرور مجازی کار می کند ، می توانید استفاده از ترمینال خود را ادامه دهید ، بنابراین توصیه می شود برای این کار بخش ترمینال و اتصال SSH دیگری را به سرور مجازی خود باز کنید:
اکنون Radamsa در حالت سرور مجازی TCP در حال اجرا است و هر زمان که اتصال به سرور مجازی برقرار شود ، بدون توجه به دریافت اطلاعات درخواست ، یک نسخه فازی از whois.txt را ارائه می دهد.
اکنون می توانید به آزمایش برنامه مشتری whois بروید. برای هر دامنه مورد نظر خود باید یک درخواست whois عادی را تهیه کنید (لازم نیست همان اطلاعاتی باشد که برای نمونه داده ها است) ، اما با whois به سرور مجازی محلی Radamsa خود اشاره کردید:
$ whois -h localhost:4343 example.com
پاسخ، داده های نمونه شما خواهد بود اما توسط Radamsa فوز شده است. تا زمانی که Radamsa در حال اجرا است می توانید به درخواست های خود به سرور مجازی محلی ادامه دهید و هر بار پاسخ فوز شده متفاوت را ارائه می دهد.
مانند fuzzing خدمات شبکه ، برای بهبود کارآیی این آزمایش کلاینت شبکه و اطمینان از یافت هر گونه کرش ، بهتر است یک اسکریپت اتوماسیون مشابه آنچه در مرحله 3 استفاده می شود بنویسید.
در این مرحله آخر ، از Radamsa برای انجام آزمایش fuzzing یک برنامه مشتری شبکه استفاده کردید.
نتیجه
در این مقاله Radamsa را تنظیم کرده اید و از آن برای فوز کردن یک برنامه خط فرمان ، یک سرویس شبکه و یک مشتری شبکه استفاده کردید. اکنون دانش بنیادی لازم برای آزمایش fuzzing برنامه های خود را دارید ، امیدوارم که نتیجه آن استحکام و مقاومت آنها در مقابل حمله باشد.
اگر می خواهید در مورد Radamsa بیشتر بدانید ، توصیه میشود فایل Radamsa README را با جزئیات مرور کنید ، زیرا حاوی اطلاعات فنی بیشتر و نمونه هایی از چگونگی استفاده از این ابزار است:
فایل README Radamsa
همچنین ممکن است بخواهید برخی از ابزارهای دیگر fuzzing مانند American Fuzzy Lop (AFL) را که یک ابزار فوز پیشرفته است و برای آزمایش برنامه های باینری با سرعت و دقت بسیار بالا طراحی شده است ، بررسی کنید:
American Fuzzy Lop

 

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

چگونگی استفاده از migrations و seeders دیتابیس –  نحوه نصب Docker Compose در Debian 10

نحوه نصب R روی اوبونتو 18.04  – چگونه می توان با کتابخانه (library) درخواست ها در پایتون شروع به کار کرد

چگونه می توان هاست های مجازی Apache را در اوبونتو 18.04 –  نحوه اجرای صفحه گذاری در MySQL با PHP روی اوبونتو 18.04

نصب پشته Nginx، MySQL، PHP LEMP در CentOS 8  –  نحوه تنظیم پلتفرم Eclipse Theia Cloud IDE در CentOS 7

نحوه نصب پشته یا استک Nginx ، MySQL ، PHP LEMPبسته بندی برنامه Laravel 6 برای توسعه با Docker Compose

مراحل ایمن سازی Apache HTTP در FreeBSD 12   –  بهینه سازی درخواست های MySQL با ذخیره سازی ProxySQL در اوبونتو 16

درک Objectهای Map و Set در JavaScriptاستفاده از Ansible برای نصب و راه اندازی وردپرس با LAMP در اوبونتو 18

نحوه راه اندازی Eclipse Theia Cloud IDE در اوبونتو  –  چگونه می توان پلتفرم كد سرور Cloud IDE را در اوبونتو 18.04

نحوه استفاده از Cron برای خودکارسازی کارها در CentOS 8  – چگونه می توان از رول های ansible برای انتزاع محیط زیرساختی

نحوه نوشتن کد ناهمگام (غیر همزمان) در Node.js  –  نحوه پیکربندی یک خوشه Galera با MySQL در سرورهای اوبونتو 18

راه اندازی اولیه سرور با CentOS 8  –  تهیه نسخه پشتیبان و بازیابی یک خوشه Kubernetes

نحوه تنظیم کلیدهای SSH در CentOS 8  –  نحوه نصب و استفاده از PostgreSQL در CentOS 7

نحوه ساختن یک برنامه Node.js با Docker  Quickstart –  چگونه می توان پلتفرم Eclipse Theia Cloud IDE را روی اوبونتو

چگونه می توان هاست های مجازی Apache را در اوبونتو  –   مدیریت DNS با استفاده از DNSControl در Debian 10

نحوه تایید صحت رمز عبور با Apache در اوبونتو 18.04  –  چگونه می توان پلتفرم Cloud IDE کد سرور را روی CentOS 7

نحوه نصب و استفاده از TimescaleDB در CentOS 7 –  نحوه نصب Apache Kafka در Debian 10

نحوه تایید صحت رمز عبور با Apache در اوبونتو 18.04 –  نحوه نصب وردپرس با OpenLiteSpeed ​​در اوبونتو 18.04

استفاده از Cron برای خودکارسازی کارها در اوبونتو 18

نصب و استفاده ازRadamsa برای فوز کردن برنامه ها روی Ubuntu 18  –

نحوه راه اندازی Eclipse Theia Cloud IDE Platform در Debian 10  –

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکاخرید سرور مجازی ارزان هلندvpsخرید vps هلندخرید سرور مجازی آمریکاخرید vps فرانسهتست vpsسرور مجازی تستسرور مجازی ویندوزارزانترین vpsخرید وی پی اسvps ارزان – 

برچسب‌ها:, ,