## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-DRUNKENSHELLS-CVE-2021-2471
# CVE-2021-2471 - MySQL Connector/J рдореЗрдВ XXE
Oracle MySQL рдХреЗ MySQL Connectors рдЙрддреНрдкрд╛рдж рдореЗрдВ рднреЗрджреНрдпрддрд╛ (рдШрдЯрдХ: Connector/J)ред рдкреНрд░рднрд╛рд╡рд┐рдд рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдг 8.0.26 рдФрд░ рдЙрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХреЗ рд╣реИрдВред
рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХреЗ рд╕рдлрд▓ рд╣рдорд▓реЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдорд╣рддреНрд╡рдкреВрд░реНрдг рдбреЗрдЯрд╛ рддрдХ рдЕрдирдзрд┐рдХреГрдд рдкрд╣реБрдВрдЪ рдпрд╛ рд╕рднреА MySQL Connectors рд╕реБрд▓рдн рдбреЗрдЯрд╛ рддрдХ рдкреВрд░реНрдг рдкрд╣реБрдВрдЪ рдФрд░ MySQL Connectors рдХрд╛ рд╣реИрдВрдЧ рдпрд╛ рдмрд╛рд░-рдмрд╛рд░ рдХреНрд░реИрд╢ (рдкреВрд░реНрдг DOS) рдХрд░рдиреЗ рдХреА рдЕрдирдзрд┐рдХреГрдд рдХреНрд╖рдорддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
### рдЕрд╕реНрд╡реАрдХрд░рдг:
рдпрд╣ рднреЗрджреНрдпрддрд╛ Alibaba Cloud Security Team рдХреЗ Xu Yuanzhen рдФрд░ Alibaba рдХреЗ Hongkun Chen рджреНрд╡рд╛рд░рд╛ рдкрд╛рдИ рдЧрдИ рдереАред
рдпрд╣ PoC рдХреЗрд╡рд▓ рд╢реЛрдз рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рд▓рдХреНрд╖реНрдпреЛрдВ рдкрд░ рд╣рдорд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рди рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ exploit рдХрд░рдиреЗ рдХреА рд╕реНрдкрд╖реНрдЯ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред
### рд╡рд┐рдХреНрд░реЗрддрд╛ рдкреНрд░рдХрдЯреАрдХрд░рдг:
рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХреНрд░реЗрддрд╛ рдХрд╛ рдкреНрд░рдХрдЯреАрдХрд░рдг рдФрд░ рд╕рдорд╛рдзрд╛рди рдпрд╣рд╛рдБ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
### рдкреНрд░реВрдл рдСрдл рдХреЙрдиреНрд╕реЗрдкреНрдЯ:
XXE рднреЗрджреНрдпрддрд╛ рдореЗрдВ рдПрдХ XML рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг DTD Entities рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ MysqlSQLXML рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рддрдм рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддреА рд╣реИ рдЬрдм getSource() рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ mysql-connector-java-8.0.26.jar рдХреЗ рдХреЛрдб рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдм DOMSource рдХреНрд▓рд╛рд╕ рдХреЛ getSource() рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ DocumentBuilder рдХреЛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрджрд┐ рдХреЛрдИ рд╣рдорд▓рд╛рд╡рд░ builder рдХреЛ рдкрд╛рд░рд┐рдд inputSource рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ XXE рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддрд╛ рд╣реИ:
root@kitploit:~
public <T extends Source> T getSource(Class<T> clazz) throws SQLException {
try {
this.checkClosed();
this.checkWorkingWithResult();
InputSource reader;
if (clazz != null && !clazz.equals(SAXSource.class)) {
SQLException sqlEx;
if (clazz.equals(DOMSource.class)) {
try {
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
builderFactory.setNamespaceAware(true);
DocumentBuilder builder = builderFactory.newDocumentBuilder();
if (this.fromResultSet) {
inputSource = new InputSource(this.owningResultSet.getCharacterStream(this.columnIndexOfXml));
} else {
inputSource = new InputSource(new StringReader(this.stringRep));
}
return new DOMSource(builder.parse(inputSource));