
एक 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
क्यों? यह रिलीज़ एक बग को ठीक करती है जहाँ सीरियलाइज़ेशन ठीक से नहीं हो रहा था। यह WCF के साथ स्कैनर/इंट्रूडर का उपयोग करने की (उचित) क्षमता भी जोड़ता है। यह SQLMap के साथ भी काम करता है यदि आप राइट क्लिक करें -> send deserialized to intruder, और फिर उसे कॉपी/पेस्ट करके एक फ़ाइल में डालें, फिर --proxy विकल्प के साथ sqlmap -r file.txt चलाएँ।
मूल रूप से, यह डी-सीरियलाइज़, संशोधित, फिर से सीरियलाइज़, आगे भेजेगा और (केवल स्कैनर के मामले में) किसी भी प्रतिक्रिया को डी-सीरियलाइज़ करेगा जो WCF ऑब्जेक्ट्स जैसी दिखती हैं (ताकि burp को किसी भी अपवाद स्ट्रिंग आदि को फ़्लैग करने की अनुमति मिल सके)।
नोट: यह "Via" हेडर का उपयोग करता है ताकि उन अनुरोधों को चिह्नित किया जा सके जिन्हें सीरियलाइज़ेशन की आवश्यकता है (और इसे sqlmap में उचित रूप से स्वरूपित http जाँच पास करने दे)। यदि आपको किसी चीज़ के लिए via हेडर की आवश्यकता है, तो आपको कुछ और उपयोग करना होगा, utils फ़ाइल में SERIALIZEHEADER बदलें और पुनः संकलित करें।
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>
HackVertor में runCommand कस्टम Java टैग है:
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 है।
कुछ स्क्रीनशॉट:
रीपीटर में बदलाव:
अनुरोध/प्रतिक्रिया
स्कैनर में फ़्लैग किया गया
SQLMap समर्थित