
مكوّن إضافي لـ Burp Extender، يجعل كائنات SOAP الثنائية قابلة للقراءة والتعديل.
#WCFDSer-ngng
مكوّن إضافي لـ Burp Extender، يجعل كائنات SOAP الثنائية قابلة للقراءة والتعديل. مبني على العمل الأصلي لـ Brian Holyfield، كل التحية لـ Brian http://blog.gdssecurity.com/labs/2009/11/19/wcf-binary-soap-plug-in-for-burp.html
لماذا؟ هذا الإصدار يصلح خطأً حيث لم يكن التسلسل (serialization) يتم بشكل صحيح. كما يضيف القدرة (الصحيحة) على استخدام الماسح/intruder مع WCF. ويعمل أيضًا مع SQLMap إذا قمت بالنقر بزر الفأرة الأيمن -> إرسال deserialized إلى intruder، ثم نسخ/لصق ذلك في ملف، ثم تشغيل sqlmap -r file.txt مع خيار --proxy.
بشكل أساسي، سيقوم بإلغاء التسلسل (deserialize)، والتعديل، وإعادة التسلسل (reserialize)، والإرسال، و(فقط في حالة الماسح) إلغاء تسلسل أي استجابات تبدو ككائنات WCF (للسماح لـ burp بتحديد أي سلاسل استثناءات، إلخ).
لاحظ أنه يستخدم ترويسة "Via" لتمييز الطلبات التي تحتاج إلى تسلسل (والسماح لها باجتياز فحوصات http المنسقة بشكل صحيح في sqlmap). إذا كنت بحاجة إلى ترويسة via لشيء ما، فسيتعين عليك استخدام شيء آخر، غيّر SERIALIZEHEADER في ملف utils وأعد الترجمة.
1- قم بتشغيل ملف NBFSNetService.exe الذي يستمع على المنفذ 7686 افتراضيًا
2- أضف الامتداد واعرض الطلبات أو الاستجابات المفكوك ترميزها في المحرر
<@d_base64><@_runCommand('valid_token_from_HV_extension')>NBFS.exe base64 encode "<@replace('\r\n','')><@replace('"','\\"')>
SOAP XML Message which will be converted to binary (application/soap+msbin1)
<@/replace><@/replace>"<@/_runCommand><@/d_base64>
وسم Java المخصص runCommand في HackVertor هو:
var result = "";
Runtime rt = Runtime.getRuntime();
String[] commands = input.split(" ");
Process proc = rt.exec(input);
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(proc.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(proc.getErrorStream()));
// Read the output from the command
String s = null;
while ((s = stdInput.readLine()) != null) {
if(result.equals("")){
result = s;
}else{
result += "\r\n" + s;
}
}
// Read any errors from the attempted command
System.out.println("Here is the standard error of the command (if any):\n");
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}
output = result;
لأي مشاكل، انظر في stdout (أي شغّل java -jar burp.jar وانظر في نافذة الكونسول)
تم تضمين خدمة WCF قابلة للاستغلال (وعميل) للتدريب. إنها قابلة للحقن عبر SQL، ولها ملف readme خاص بها.
بعض لقطات الشاشة:
التغيير في repeater:
طلب/استجابة
تم وضع علامة في الماسح
دعم SQLMap