Pentest Chronicles
The application created a new resource and returned its ID:
The next planned step would be setting the newly created resource quantity to a high number, which was achieved by the following HTTP request:
Server confirmed the change.
The server created a new action and returned its ID:
The last step would be triggering an action. Any action could be manually triggered by such HTTP request:
After sending that request, the application still performed normally, so I decided to send a bit more request. After sending 14 requests more, I noticed that the application stopped responding – every request resulted in HTTP 504 Gateway Timeout error after a minute of waiting. Audit was conducted on the dev environment, and I had access to application metrics and telemetry. After checking some debug information, I noticed that some thread was hanging for over 2 minutes. In the details, there was an information regarding the currently executed method by a thread. The method that in the thread that was taking so long was java.math.BigInteger.Add(BigInteger.java) which confirmed that the application disruption was caused due to attempt of adding a simple 1 to the previously set number.
Recommendations
When creating an application, it is important to correctly choose the required type of the variable. BigInteger should not be used unless it is necessary. In Java, the largest positive Double has a value of 1.79^308 and Float has the largest positive value of 3.40^38F, so if we need to store numbers that exceed the max value of integer there are still other options than a BigInteger. If we need to use them, we should also remember about limiting the use of exponential number format – a few characters can result in tremendous numbers.

In today's world, ensuring the security of our accounts is more crucial than ever. Just as keys protect the doors to our homes, passwords serve as the first line of defense for our data and assets. It's easy to assume that technical individuals, such as developers and IT professionals, always use strong, unique passwords to keep ...

SOCMINT is the process of gathering and analyzing the information collected from various social networks, channels and communication groups in order to track down an object, gather as much partial data as possible, and potentially to understand its operation. All this in order to analyze the collected information and to achieve that goal by making …

PyScript – or rather Python in your browser + what can be done with it? A few days ago, the Anaconda project announced the PyScript framework, which allows Python code to be executed directly in the browser. Additionally, it also covers its integration with HTML and JS code. An execution of the Python code in …