<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Asad Allah</title>
        <link>https://virgool.io/feed/@AsadAllah</link>
        <description>برنامه نویسی علاقه مند به یادگیری بیشتر /  تخصص در طراحی وب در حوضه های بک اند و فرانت اند  /برنامه نویسی به زبان های python , java,rust,php,....../ هکر وب</description>
        <language>fa</language>
        <pubDate>2026-06-27 21:43:45</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/4902201/avatar/L206dD.jpg?height=120&amp;width=120</url>
            <title>Asad Allah</title>
            <link>https://virgool.io/@AsadAllah</link>
        </image>

                    <item>
                <title>سفر از حفره تا امنیت: کالبدشکافی مرحله‌به‌مرحله SQL Injection در DVWA</title>
                <link>https://virgool.io/@AsadAllah/%D8%B3%D9%81%D8%B1-%D8%A7%D8%B2-%D8%AD%D9%81%D8%B1%D9%87-%D8%AA%D8%A7-%D8%A7%D9%85%D9%86%DB%8C%D8%AA-%DA%A9%D8%A7%D9%84%D8%A8%D8%AF%D8%B4%DA%A9%D8%A7%D9%81%DB%8C-%D9%85%D8%B1%D8%AD%D9%84%D9%87-%D8%A8%D9%87-%D9%85%D8%B1%D8%AD%D9%84%D9%87-sql-injection-%D8%AF%D8%B1-dvwa-ojrdbfsb7ydf</link>
                <description>سیستم آسیب پذیر وب به نام dvwaدر دنیای امنیت وب، هیچ مفهومی به اندازه SQL Injection (SQLi) کلاسیک و در عین حال خطرناک نیست. بسیاری از افراد تنها یاد می‌گیرند که چگونه با استفاده از ابزارهایی مثل sqlmap به یک سایت نفوذ کنند، اما یک متخصص واقعی، کسی است که می‌تواند «کد» را کالبدشکافی کند و بفهمد دقیقاً در کدام خط، امنیت فرو ریخته است.در این مقاله، ما به سراغ آزمایشگاه DVWA (Damn Vulnerable Web Application) می‌رویم تا با بررسی کدهای PHP در سه سطح Low، Medium و High، بفهمیم چگونه یک ورودی ساده می‌تواند کل دیتابیس یک سازمان را به چالش بکشد.🔍 مقدمه: داستان چیست؟فرض کنید یک سایت فروشگاهی دارید که برای نمایش مشخصات محصول، از یک شناسه (ID) در آدرس استفاده می‌کند: product.php?id=1.برنامه برای پیدا کردن اطلاعات، این کد را به دیتابیس می‌فرستد:SELECT first_name, last_name FROM users WHERE user_id = &#039;$id&#039;;مشکل اینجاست: اگر ما به جای عدد 1 از کدهای مخرب استفاده کنیم، آیا دیتابیس متوجه تفاوت بین «داده» و «دستور» می‌شود؟🔴 مرحله اول: سطح Low (جایی که هیچ دفاعی وجود ندارد)در این سطح، برنامه‌نویس تمام اعتماد را به کاربر گذاشته است. کد PHP در DVWA به این صورت است:$id = $_GET[ &#039;id&#039; ];
$query  = &quot;SELECT first_name, last_name FROM users WHERE user_id = &#039;$id&#039;;&quot;;
$result = mysqli_query($con, $query);
🛠 تحلیل کالبدشکافی:در اینجا متغیر $id مستقیماً از ورودی کاربر ($_GET) گرفته شده و بدون هیچ‌گونه فیلتر یا بررسی، درون رشته‌ی کوئری قرار گرفته است.چگونه حمله می‌کنیم؟اگر ما به جای id=1 بنویسیم: id=1&#039; OR &#039;1&#039;=&#039;1کوئری نهایی به این شکل در می‌آید:SELECT first_name, last_name FROM users WHERE user_id = &#039;1&#039; OR &#039;1&#039;=&#039;1&#039;;چون عبارت &#039;1&#039;=&#039;1&#039; همیشه درست (True) است، دیتابیس تمام ردیف‌های جدول کاربران را به ما برمی‌گرداند! این یعنی نفوذ موفقیت‌آمیز.🟡 مرحله دوم: سطح Medium (دفاع نیمه‌تمام)در سطح Medium، برنامه‌نویس کمی هوشیارتر شده و سعی کرده با استفاده از توابعی مثل mysqli_real_escape_string جلوی حمله را بگیرد.$id = $_GET[ &#039;id&#039; ];
$id = mysqli_real_escape_string($con, $id); // تلاش برای پاکسازی
$query  = &quot;SELECT first_name, last_name FROM users WHERE user_id = &#039;$id&#039;;&quot;;
$result = mysqli_query($con, $query);
🛠 تحلیل کالبدشکافی:تابع mysqli_real_escape_string سعی می‌کند کاراکترهایی مثل &#039; (Single Quote) را با یک بک‌اسلش (\&#039;) خنثی کند تا از شکستن کوئری جلوگیری کند. اما آیا این کافی است؟چگونه حمله می‌کنیم؟اگر برنامه طوری تنظیم شده باشد که ورودی را فقط به عنوان یک عدد (Integer) در نظر بگیرد و در کوئری از کوتیشن (&#039;) استفاده نکند (مثلاً WHERE user_id = $id)، حتی با وجود این تابع، ما همچنان می‌توانیم حمله کنیم. در این حالت ما نیازی به کوتیشن نداریم و می‌توانیم مستقیماً بنویسیم:1 OR 1=1همچنین نفوذگران می‌توانند با استفاده از تکنیک‌های Encoding (مثل استفاده از %27 به جای &#039;) یا سوءاستفاده از محدودیت‌های فیلتر، این سد دفاعی را دور بزنند.🟢 مرحله سوم: سطح High (دفاع اصولی و حرفه‌ای)در سطح High، ما با یک برنامه‌نویس حرفه‌ای روبرو هستیم که از استانداردهای امنیتی مدرن استفاده کرده است. در این سطح، از مفهومی به نام Prepared Statements استفاده می‌شود.$id = $_GET[ &#039;id&#039; ];
$stmt = $con-&gt;prepare(&quot;SELECT first_name, last_name FROM users WHERE user_id = ?&quot;);
$stmt-&gt;bind_param(&quot;i&quot;, $id); // تعیین نوع داده به عنوان integer
$stmt-&gt;execute();
$result = $stmt-&gt;get_result();
🛠 تحلیل کالبدشکافی:اینجاست که جادو اتفاق می‌افتد! در روش Prepared Statements:کامپایل اولیه: ابتدا ساختار دستور SQL به دیتابیس فرستاده می‌شود (بدون داده‌های کاربر). دیتابیس می‌فهمد که دستور چیست: “من می‌خواهم از جدول کاربران، نام را بر اساس یک ID بخوانم”.ارسال داده: سپس مقدار $id به عنوان یک «داده‌ی خالص» فرستاده می‌شود.حتی اگر کاربر در $id بنویسد 1&#039; OR &#039;1&#039;=&#039;1 ، دیتابیس به دنبال کاربری می‌گردد که شناسه او دقیقاً رشته‌ی &#039;1&#039; OR &#039;1&#039;=&#039;1&#039; باشد! در واقع دیتابیس دیگر این ورودی را به عنوان «دستور» تفسیر نمی‌کند، بلکه آن را صرفاً یک «رشته متنی ساده» می‌بیند. در اینجا حمله کاملاً متوقف می‌شود.💡 نتیجه‌گیری برای متخصصان و توسعه‌دهندگانما یاد گرفتیم که امنیت در وب، یک انتخاب نیست، بلکه یک ضرورت است:سطح Low به ما یاد داد که اعتماد به ورودی کاربر، بزرگترین گناه در برنامه‌نویسی است.سطح Medium نشان داد که «پاکسازی سطحی» (Sanitization) همیشه کافی نیست و می‌تواند فریبنده باشد.سطح High به ما ثابت کرد که تنها راه نجات، استفاده از Parameterized Queries است.فراموش نکنید: یک هکر فقط به دنبال حفره می‌گردد، اما یک مهندس امنیت، به دنبال بستنِ ریشه این حفره‌هاست.💬 سوال برای بحث:به نظر شما، در پروژه‌های بزرگ و هنوز هم خطای انسانی باعث بروز چنین آسیب‌های ساده‌ای مثل SQL Injection می‌شود؟ یا ابزارهای خودکار (Static Analysis) این مشکل را کاملاً حل کرده‌اند؟ نظرات خود را در کامنت‌ها بنویسید.در قسمت های بعدی می خوام حملات دیگه رو نشون بدم پس تا پست های بعدی خداحافظ</description>
                <category>Asad Allah</category>
                <author>Asad Allah</author>
                <pubDate>Thu, 25 Jun 2026 18:50:24 +0330</pubDate>
            </item>
                    <item>
                <title>زندانی در قفسِ الگوریتم‌ها: آسیب‌های پنهان زندگی دیجیتال</title>
                <link>https://virgool.io/@AsadAllah/%D8%B2%D9%86%D8%AF%D8%A7%D9%86%DB%8C-%D8%AF%D8%B1-%D9%82%D9%81%D8%B3%D9%90-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D9%87%D8%A7-%D8%A2%D8%B3%DB%8C%D8%A8-%D9%87%D8%A7%DB%8C-%D9%BE%D9%86%D9%87%D8%A7%D9%86-%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-%D8%AF%DB%8C%D8%AC%DB%8C%D8%AA%D8%A7%D9%84-uabdzwdyfsqn</link>
                <description>ما در دورانی زندگی می‌کنیم که «واقعیت» دیگر آن چیزی نیست که با چشم می‌بینیم، بلکه چیزی است که در صفحه نمایش گوشی‌مان نمایش داده می‌شود. ما در حال تجربه یکی از بزرگترین آسیب‌های اجتماعی قرن بیست و یکم هستیم: از دست دادن تواناییِ زندگی در لحظه و پذیرش واقعیت.۱. فریبِ «بهترینِ لحظات» (The Highlight Reel Trap)در فضای مجازی، هیچ‌کس از شکست‌هایش پست نمی‌گذارد. هیچ‌کس از روزهایی که تنهاست، یا زمانی که درگیر چالش‌های مالی است، استوری نمی‌گذارد. ما در حال مشاهده‌ی «ویترین» زندگی دیگران هستیم، اما آن را با «دکور» زندگی خودمان مقایسه می‌کنیم.این مقایسه‌ی ناعادلانه، ریشه‌ی اصلی اضطراب، افسردگی و احساس بی‌ارزشی در نسل امروز است. ما فراموش کرده‌ایم که زندگی واقعی، مجموعه‌ای از بالا و پایین‌هاست، نه یک فیدِ بی‌نقص از تصاویر سفر و موفقیت.۲. دیکتاتوریِ الگوریتم‌هابه عنوان کسی که با دنیای کد و تکنولوژی سروکار دارد، می‌دانم که پشت هر اپلیکیشن، الگوریتم‌هایی طراحی شده‌اند که هدفشان فقط یک چیز است: «جذب توجه شما».این الگوریتم‌ها متوجه شده‌اند که احساسات منفی (مثل خشم، حسادت و اضطراب) بسیار بیشتر از آرامش، شما را در اپلیکیشن نگه می‌دارند. بنابراین، آن‌ها ناخودآگاه محتواهایی را به شما نشان می‌دهند که حسادت یا مقایسه را در شما تقویت کند. ما عملاً در یک حلقه (Loop) گیر افتاده‌ایم که در آن تکنولوژی، به جای خدمت به ما، احساسات ما را مدیریت می‌کند تا فقط مصرف‌کننده‌ی بیشتری باشیم.۳. فرسایشِ مهارتِ حضور (The Erosion of Presence)آسیب بزرگ دیگر، از بین رفتن «حضور» است. وقتی در یک مهمانی یا حتی در کنار عزیزترین فرد زندگی‌مان هستیم، اما ذهن ما درگیر چک کردن نوتیفیکیشن‌ها یا فکر کردن به پست بعدی است، ما در واقع در آن لحظه «حضور نداریم». ما بدن‌هایمان را در یک مکان داریم، اما روحمان در فضای مجازی پراکنده است. این قطع شدن پیوند با واقعیت، باعث شده روابط انسانی ما سطحی‌تر و شکننده‌تر از همیشه شود.چگونه از این قفس رها شویم؟راه‌حل این نیست که تکنولوژی را کنار بگذاریم، بلکه باید «هوشیاری دیجیتال» پیدا کنیم:آگاهی از سوگیری: هر بار که احساس حسادت یا کمبود کردید، از خود بپرسید: «آیا این واقعیت است یا فقط یک ویترین است؟»دیتا را مدیریت کنید، اجازه ندهید شما را مدیریت کنند: از قابلیت‌های محدودکننده زمان استفاده کنید.زمان‌های بدون گوشی (No-Phone Zones): زمان‌هایی را در شبانه‌روز تعریف کنید که گوشی در آن اتاق دیگری باشد.ما باید یاد بگیریم که زندگی، اتفاقاتی است که در خارج از کادرِ دوربین می‌افتد، نه آن‌هایی که با یک فیلتر زیبا در اینستاگرام ثبت می‌شوند.شما چقدر فکر می‌کنید فضای مجازی روی نگاه شما به خودتان تاثیر گذاشته است؟ آیا تجربه شده که بعد از گشت‌وگذار در فضای مجازی، احساس بدتری نسبت به زندگی خودتان داشته باشید؟ در کامنت‌ها برای هم بنویسید.</description>
                <category>Asad Allah</category>
                <author>Asad Allah</author>
                <pubDate>Thu, 25 Jun 2026 16:55:37 +0330</pubDate>
            </item>
                    <item>
                <title>هوش مصنوعی ابزاری برای پول درآوردن یا محرک یک استارتاپ؟</title>
                <link>https://virgool.io/@AsadAllah/%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%BE%D9%88%D9%84-%D8%AF%D8%B1%D8%A2%D9%88%D8%B1%D8%AF%D9%86-%DB%8C%D8%A7%D9%85%D8%AD%D8%B1%DA%A9-%DB%8C%DA%A9-%D8%A7%D8%B3%D8%AA%D8%A7%D8%B1%D8%AA%D8%A7%D9%BE-qlxjrnwct23x</link>
                <description>دنیای امروز، دنیای هوش مصنوعی است. هر روز صبح با اخبار جدیدی بیدار می‌شویم: «چطور با ChatGPT در نیم ساعت پول در بیاوریم؟»، «۵ روش برای کسب درآمد از Midjourney».این روش‌ها بد نیستند، اما یک مشکل بزرگ دارند: آن‌ها درآمدزایی هستند، نه ثروت‌آفرینی.اگر شما فقط از هوش مصنوعی استفاده می‌کنید تا یک متن بنویسید یا یک تصویر طراحی کنید و آن را بفروشید، شما در واقع یک “کارگر دیجیتال” هستید. شما دارید از ابزاری استفاده می‌کنید که دیگران هم از آن استفاده می‌کنند، و در نتیجه، رقابت شما با میلیون‌ها نفر دیگر بسیار بالا و حاشیه سودتان بسیار کم است.اما اگر بخواهید واقعاً تغییر کنید، اگر می‌خواهید از سطح “درآمدزایی ساده” به سطح “ثروت‌آفرینی و شهرت” برسید، باید مسیر دیگری را انتخاب کنید: ساختن استارتاپ بر پایه هوش مصنوعی.۱. تفاوت “استفاده کردن” با “ساختن” چیست؟بیایید ساده نگاه کنیم:کاربر هوش مصنوعی: کسی است که می‌رود از ChatGPT می‌پرسد “یک برنامه غذایی برای من بنویس” و آن را می‌فروشد. او در واقع دارد “خدمات” می‌فروشد.استارتاپ‌دار هوش مصنوعی: کسی است که یک اپلیکیشن یا پلتفرم می‌سازد که با استفاده از APIهای هوش مصنوعی، هزاران نفر را به صورت خودکار برنامه‌های غذایی تخصصی بر اساس آزمایش خونشان می‌دهد! او در واقع دارد یک “محصول” (Product) می‌فروشد.در حالت دوم، شما دیگر زمان خود را نمی‌فروشید، بلکه دارید یک سیستم می‌سازید که حتی وقتی خواب هستید، برای شما کار می‌کند و پول می‌سازد.۲. چرا استارتاپ، بلیت شما به سمت شهرت و ثروت است؟وقتی شما یک محصول (Product) بر پایه هوش مصنوعی عرضه می‌کنید، سه اتفاق بزرگ می‌افتد:مقیاس‌پذیری (Scalability): شما می‌توانید یک بار کد را بنویسید و آن را به یک میلیون نفر بفروشید. اما برای نوشتن یک میلیون مقاله، باید یک میلیون بار وقت بگذارید!ارزش افزوده (Value Addition): شما یک مشکل بزرگ را حل می‌کنید. مردم برای حل مشکلات بزرگ، مبالغ سنگین پرداخت می‌کنند، نه برای کارهای ساده‌ای که با یک کلیک انجام می‌شود.برندسازی شخصی و شهرت: کسی که فقط با هوش مصنوعی مقاله می‌نویسد، یک “اپراتور” دیده می‌شود. اما کسی که یک ابزار هوشمند می‌سازد، یک “نوآور” (Innovator) شناخته می‌شود. نام شما در صدر اخبار تکنولوژی می‌رود، نه در لیست فریلنسرها.۳. چگونه شروع کنیم؟ (نقشه راه ساده)شاید فکر کنید ساخت استارتاپ یعنی داشتن میلیون‌ها دلار سرمایه، اما در عصر هوش مصنوعی، این تصور غلط است. شما می‌توانید با همان دانش برنامه‌نویسی یا حتی با ابزارهای No-code شروع کنید:مشکل را پیدا کنید: به دنبال مشکلی بگردید که در آن زمان زیادی تلف می‌شود (مثلاً تحلیل داده‌های مالی، مدیریت زمان، یا آموزش زبان).هوش مصنوعی را به عنوان “مغز” انتخاب کنید: از مدل‌های آماده (مثل GPT-4 یا Claude) استفاده کنید تا هسته‌ی اصلی مشکل را حل کنند.محصول بسازید، نه خدمت: به جای اینکه بگویید “من می‌توانم با هوش مصنوعی برای شما کار کنم”، بگویید “من این ابزار را ساخته‌ام تا کار شما را انجام دهد”.سخن پایانیهوش مصنوعی یک موج بزرگ است. شما می‌توانید روی موج سوار شوید و فقط کمی جابه‌جا شوید، یا می‌توانید با ساختن یک قایق (استارتاپ)، این موج را برای رسیدن به قله‌های دوردست هدایت کنید.بین “پول درآوردن برای گذران زندگی” و “ساختن یک امپراتوری برای تغییر جهان”، انتخاب با شماست.به نظر شما، بزرگترین مانع برای اینکه یک برنامه‌نویس از سطح فریلنسری به سطح استارتاپی برسد چیست؟ در کامنت‌ها با هم بحث کنیم.</description>
                <category>Asad Allah</category>
                <author>Asad Allah</author>
                <pubDate>Thu, 25 Jun 2026 15:38:17 +0330</pubDate>
            </item>
                    <item>
                <title>کدهای شما چطور به هکر کمک می‌کنند؟</title>
                <link>https://virgool.io/@AsadAllah/%DA%A9%D8%AF%D9%87%D8%A7%DB%8C-%D8%B4%D9%85%D8%A7-%DA%86%D8%B7%D9%88%D8%B1-%D8%A8%D9%87-%D9%87%DA%A9%D8%B1-%DA%A9%D9%85%DA%A9-%D9%85%DB%8C-%DA%A9%D9%86%D9%86%D8%AF-w5kvtkzzk7ct</link>
                <description>بسیاری از برنامه نویس ها فکر می کنند اگر کدی بنویسند که “کار کند”، یعنی کارشان تمام شده است. اما از نگاه یک متخصص امنیت یا باگ بانتی، کد شما فقط یک مسئله نیست؛ بلکه یک نقشه راه برای حمله است.در این مقاله، میخواهم از تجربه ی خودم در دنیای باگ بانتی بگویم و چند از رایج ترین اشتباهاتی را بررسی کنم که من به عنوان یک هکر، اولین چیزهایی هستند که برای پیدا کردن راه ورود به یک سیستم، به دنبالشان میگردم.۱. اعتماد کورکورانه به ورودی کاربر (The Golden Rule: Never Trust User Input)بزرگترین اشتباهی که من در مسابقات CTF و در دنیای واقعی با آن روبرو شده ام، اعتماد به ورودی های کاربر است. وقتی شما یک فرم ثبت نام، یک فیلد جستجو یا حتی یک پارامتر در URL دارید، آنجا دقیقاً نقطه ای است که من با آن شروع میکنم.از نظر برنامه نویس: “من فقط یک نام کاربری میگیرم، چه آسیبی می تواند داشته باشد؟”از نظر هکر: “من به جای نام کاربری، یک قطعه کد SQL یا یک اسکریپت می گذارم تا ببینم آیا دیتابیس شما یا مرورگر کاربر قربانی من می شود یا خیر!”مثال های عملی:حمله SQL Injection:اگر برنامه نویس ورودی را فیلتر نکند، من می توانم با وارد کردن عبارت زیر، از منطق دیتابیس عبور کنم و بدون پسورد وارد شوم1&#039; OR &#039;1&#039;=&#039;1حمله XSS (Cross-Site Scripting):اگر دیدم فیلد ورودی (مثلاً فیلد کامنت) نسبت به اسکریپت ها آسیب پذیر است، از این کد برای اجرای دستورات جاوااسکریپت در مرورگر بقیه استفاده میکنم:نمایش کدalert&#40;&#039;Hacked!&#039;&#41;💡 راه حل: همیشه از Input Validation و Parameterized Queries استفاده کنید تا از حملاتی مثل SQL Injection و XSS جلوگیری کنید.۲. مدیریت ضعیف نشست ها و توکن ها (Broken Authentication)برنامه نویس ها گاهی در مدیریت Sessionها یا JWTها (JSON Web Tokens) اشتباه می کنند. اگر توکن های شما قابل پیش بینی باشند یا در URL نمایش داده شوند، من به راحتی می توانم هویت یک کاربر دیگر را جعل کنم.از نظر هکر: “اگر الگوریتم ساخت توکن شما ضعیف باشد، من می توانم توکن مدیر سایت را تولید کنم و بدون نیاز به پسورد، وارد سیستم شوم!”💡 راه حل: از کتابخانه های استاندارد و امن برای مدیریت نشست ها استفاده کنید و هرگز اطلاعات حساس را در URL یا کدهای سمت کلاینت (Client-side) قرار ندهید.۳. پیام های خطای بیش از حد راهنما (Information Leakage)این یکی از لذت بخش ترین بخش ها برای یک هکر است! وقتی کدی را اجرا می کنید و به جای یک پیام ساده مثل “خطایی رخ داد”، با یک Stack Trace طولانی یا مشخصات دیتابیس و ورژن سرور روبرو می شوید، شما عملاً دارید به من نقشه ساختمان را می دهید.از نظر برنامه نویس: “این پیام خطا خیلی کمک می کند تا بفهمم مشکل از کجاست!”از نظر هکر: “ممنون! حالا دقیقاً میدانم از چه نسخه ای از پایتون یا چه نوع دیتابیسی استفاده میکنید و کدام اکسپلویت (Exploit) برای شما جواب می دهد.”مثال اشتباه:در فرم ورود اگر ایمیل یا رمز عبور اشتباه باشد، نباید بگویید: «ایمیل شما پیدا نشد» یا «رمز عبور اشتباه است». چون این یعنی من تایید گرفتم که این ایمیل در سایت هست و می توانم با خیال راحت رمز آن را بشکنم.مثال درست:باید بنویسید: «ایمیل یا رمز عبور اشتباه است.» (بدون اینکه مشخص شود کدام یک مشکل دارد).نحوه اجرا sql injection به صورت تصویر :نحوه اجرا xss به صورت تصویر :سخن پایانیامنیت، یک مرحله نیست، بلکه یک فرآیند است. اگر می خواهید برنامه نویس خوبی باشید، باید یاد بگیرید که مثل یک هکر فکر کنید. یادگیری امنیت، باعث نمی شود کد شما کند شود؛ بلکه باعث میشود کد شما “قابل اعتماد” شود.شما در پروژه های خود چطور با امنیت برخورد میکنید؟ آیا تا به حال با اشتباه امنیتی در کدهایتان روبرو شده اید؟ در کامنت ها برایم بنویسید خوشحال می شوم بدانم :)</description>
                <category>Asad Allah</category>
                <author>Asad Allah</author>
                <pubDate>Thu, 25 Jun 2026 15:09:45 +0330</pubDate>
            </item>
                    <item>
                <title>از هک کردن مودم همسایه تا شکار باگ‌های میلیاردی</title>
                <link>https://virgool.io/@AsadAllah/%D8%A7%D8%B2-%D9%87%DA%A9-%DA%A9%D8%B1%D8%AF%D9%86-%D9%85%D9%88%D8%AF%D9%85-%D9%87%D9%85%D8%B3%D8%A7%DB%8C%D9%87-%D8%AA%D8%A7-%D8%B4%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7%DA%AF-%D9%87%D8%A7%DB%8C-%D9%85%DB%8C%D9%84%DB%8C%D8%A7%D8%B1%D8%AF%DB%8C-pkexvw6oe0lt</link>
                <description>همه چیز از یک کنجکاوی ساده و کمی شیطنت‌آمیز در کودکی شروع شد. آن زمان، تمام هدف من این بود که چطور می‌توانم مودم همسایه‌ها را هک کنم و از اینترنت آن‌ها استفاده کنم! اما وقتی با واقعیتِ دشوارِ نبودِ منابع آموزشی مواجه شدم، مسیرم تغییر کرد.مجبور شدم به سراغ ریشه‌ها بروم: برنامه‌نویسی.در ابتدا فکر می‌کردم دارم از مسیر اصلی منحرف می‌شوم، اما بعداً فهمیدم که در واقع دارم زیربنای اصلی امنیت را می‌سازم. وقتی برنامه‌نویس وب شدم، نگاه من به کدها عوض شد. دیگر فقط به دنبال ساختن نبودم، بلکه می‌پرسیدم: «این کد کجا آسیب‌پذیر است؟»با تسلط بر برنامه‌نویسی، ناگهان درهای دنیای امنیت برایم باز شد. مهندسی معکوس، کرک رمز عبور و حملات وب، برای من از مباحث برنامه‌نویسی ملموس‌تر شده بودند. وقتی وارد مسابقات قانونی CTF شدم، متوجه شدم که بدون داشتن تیم یا آموزش‌های رسمیِ صرفِ امنیتی، به دلیل قدرت در برنامه‌نویسی، چالش‌ها را حل می‌کنم. من می‌دانستم مهاجم از کجا حمله می‌کند، چون خودم می‌دانستم سازنده است!کم‌کم آن تفکرات بچگانه جای خود را به یک هدف بزرگتر داد: امنیت قانونی و باگ بانتی.امروز، پس از یک سال یادگیری متمرکز، من دیگر آن بچه کنجکاو نیستم؛ من یک متخصص باگ بانتی هستم که با کشف آسیب‌پذیری‌ها، هم درآمد خوبی کسب می‌کند و هم از این طریق، دنیای دیجیتال را امن‌تر می‌کند. تجربه من به من ثابت کرد که برنامه‌نویسی، سریع‌ترین راه برای تبدیل شدن به یک هکر حرفه‌ای است.</description>
                <category>Asad Allah</category>
                <author>Asad Allah</author>
                <pubDate>Thu, 25 Jun 2026 14:36:46 +0330</pubDate>
            </item>
            </channel>
</rss>