First of all add this entry in hosts file    ai.htb

Save the file.

I used to generate audio files and I created a test file:

As I said earlier, we don’t know what does it mean by “query” but it can be a SQL query. When I created another audio file that says it's a test I got a SQL error because of ' in it's:

Now try this

one open single quote union select database open parenthesis close parenthesis comment database

Now upload this file and we get this result

Password : H,Sq9t6}a<)?q93_

We got this

root      89984 18.8  5.4 3137572 110120 ?      Sl   22:44   0:06 /usr/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-9.0.27/conf/ -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -agentlib:jdwp=transport=dt_socket,address=localhost:8000,server=y,suspend=n -Dignore.endorsed.dirs= -classpath /opt/apache-tomcat-9.0.27/bin/bootstrap.jar:/opt/apache-tomcat-9.0.27/bin/tomcat-juli.jar -Dcatalina.base=/opt/apache-tomcat-9.0.27 -Dcatalina.home=/opt/apache-tomcat-9.0.27 org.apache.catalina.startup.Bootstrap start

A quick search on that port and how it’s related to tomcat revealed that it’s used for debugging, jdwp is running on that port

By looking at the process again we can also see this parameter given to the java binary:


I searched for exploits for the jdwp service and found this exploit. I uploaded the python script on the box and I added the reverse shell payload to a file and called it then I ran the exploit:

On another terminal open another session

On previous session we get the output command successfully launch.