IMPORTANT:AttackDefense Labs is included with a Pentester Academy subscription! Upgrade Now to access over 1800+ Labs.

Already a Pentester Academy student? Your access will continue uninterrupted. Please use the same Google account to login here.

Not a Pentester Academy student? Try our Free Communitiy Labs

CSWSH and Content Stealing

web-tech-websockets | Level: Easy  | Total Lab Runs: 0 | Premium Lab

Lab Scoreboard

Lab Walkthrough Video:

In this lab, a WebSocket based web application is running on the target server. It uses secure WebSocket (WebSocket over TLS) without any handshake based authentication. However, it only returns the flag when a secret token is passed to it through WebSocketAnother client machine present on the same network connects to the web application periodically and exchange the secret information. 

As an attacker, you have already corrupted the ARP cache of the client machine. So, instead of connecting to the target server, the client machine now tries to connect to the attacker Kali machine when it looks for the web application.

In this scenario, the attacker can perform Cross-Site WebSocket Hijacking (CSWSH) by embedding the WebSocket of the target web application in a locally hosted webpage. Still, in order to get the content posted and received from WebSocket, the attacker has to use Javascript-based hooks using wshook library.

Objective: Perform CSWSH and JavaScript hooking on the client machine to retrieve the flag! 


  • The web application can be accessed at "target-1".
  • Source code of wshook library is kept in /root/Desktop/tools/wshook directory.
  • Client machine makes HTTP requests on port 80 of Kali machine periodically.

1. Flag

The following activities are strictly prohibited on this website unless otherwise explicitly stated as allowed in the mission statement:

  • Using automated scanners
  • Using brute force attacks
  • Denial of Service attacks
  • Attacking other student machines in challenges where you might achieve a shell on the vulnerable system
  • Attacking the lab infrastructure

Users violating the above will be either temporarily or permanently banned from the website. 

If you are unsure about an activity, then please contact support to confirm that it is allowed on our website.

Technical Support for this Lab:

There is a reason we provide unlimited lab time: you can take as much time as you need to solve a lab. However, we realize that sometimes hints might be necessary to keep you motivated!

We currently provide technical support limited to:

  • Giving hints for a lab exercise
  • In rare circumstances, if you have totally given up (NO!!!) then tell you how to solve it. This will be limited to sharing the solution video or lab report
  • A lab exercise fails to load or has errors in it

If you need technical support, please email  clearly mention the name and link of the lab exercise and other essential details. The more descriptive you are, the faster we can help you. We will get back to you within 24 hours or less. 

For adminitrative queries, billing, enterprise accounts etc. please email