Server Side Request forgery


Server side request forgery uses the vulnerable web server to interact with its internal servers  based on the attacker’s request
Generally the access to the internal nodes on the server i.e.: intranet is not publicly available any direct communication attempt would be objected by the fire wall , but the server would have unrestricted access to the intranet as it is the one which has to save the parameter in another server typically a database server, application server etc
So, In order to interact with the servers in the intranet of the server we design payloads to establish communication in our normal http requests, so the server would be executing the payloads on our behalfs so the packets would be accessed by the intranet server
A typical scenario is the port scanning of various servers present in the intranet
For example if a parameter contains a database field in the request such as username or password we inject the portscanning mechanism into the normal http request , as a result the server on receiving the request would start scanning
This scenario is possible when the user input is not carefully sanitized at the server end
Depending on the mechanism of the payload and the implementation of ports three types of responses are expected through port scanning :
1.       Open (Error based messages)
2.       Closed
3.       Open (Blind )
So, the above approach is different from traditional portscanning in the way :
·         The communication is through server, there is no direct communication to the user to the port scanning machine
·         The request sent to the server is HTTP methods instead of TCP packets in traditional port scanning

To perform this port scanning functionality we have a predetermined module called SKANDA which comes as a bundle with the IRONWASP scanner tool
The steps to be performed to scan the ports using SKANDA are as follows:
Ø  Connect IRONWASP as proxy to the browser through which communication is taking place
Ø  Navigate to the web page in browser and send the request to the server as done normally
Ø  Go to the proxy logs on IRON wasp tool which are present in ‘Logs’ section of the menu
Ø  Right click the request which is used for port scanning the application and click on “Run Module on the request”->Exploitation ->Skanda
Ø  In The GUI window click on ‘Next Step’ ,select the parameter to be used and click ‘Next Step’ until finish button is visible
Ø  In the CLI window enter the option 1 for port scan and 2 for network discovery and press ‘ÉNter’
Ø  Click on 1 for predefined list of ports and 2 for all the ports
Ø  Click ‘Done’
Ø  SKanda will process all the ports and display which ports are closed or open

In addition to SKANDA for IRONWASP, Acunetix web vulnerability scanner version 9 with Acumonitor also has the functionality to check and verify the SSRF vulnerability in an application


Comments

Popular posts from this blog

Exploliting SQL injection flaws using SQLMap

Importance of enabling Secure and HTTPOnly flag for cookies

My encounter with successful social engineering attack