Skip to content

Instantly share code, notes, and snippets.

View vernetto's full-sized avatar

Pierluigi Vernetto vernetto

View GitHub Profile
function getWindowIdList() {
const token = "pluto=";
const cookieValue = document.cookie.split(';')
.map(c => c.trimStart())
.find(c => c.startsWith(token));
if (cookieValue) {
const jsonString = cookieValue.substring(token.length);
try {
The line that raises a red flag for "Code Injection" vulnerability is:
javascript
Copy code
return eval(c.substring(token.length, c.length));
The use of eval() is dangerous, especially when it is working with data that can be manipulated by an attacker, such as cookie values. In this case, an attacker can set a malicious cookie named "pluto" which, when processed by the getWindowIdList() function, will execute arbitrary code via the eval() function.
To fix this, you should remove the eval() function and parse the cookie value in a safe manner. Assuming that the value after "pluto=" in the cookie is a JSON array, you can use JSON.parse() to safely convert the string to an array:
javascript
switchEntityId: function(entityId) {
// Step 1: Validate the entityId. This is just a basic example, adapt as needed.
if (!isValidEntityId(entityId)) {
console.error('Invalid entityId:', entityId);
return;
}
// Steps 2 & 3: Use URL and URLSearchParams to safely manipulate the URL
let currentUrl = new URL(window.location.href);
let urlParams = new URLSearchParams(currentUrl.search);
The phenomenon of warming being more pronounced in the Arctic than the Antarctic is often referred to as Arctic amplification. There are several reasons for this:
Ice-Albedo Feedback: The Arctic has seen significant melting of sea ice. As ice melts, it exposes darker ocean water, which absorbs more solar radiation, leading to more warming and more ice melt. This positive feedback loop is known as the ice-albedo effect. The Antarctic, on the other hand, is a large landmass covered by a thick layer of ice, and much of the sea ice that forms in the winter melts in the summer, so this feedback loop isn't as strong.
Geography and Ocean Currents: The Arctic is an ocean surrounded by land, while the Antarctic is a continent surrounded by ocean. This leads to differences in ocean currents and heat transport. The currents around Antarctica isolate the continent from global weather patterns, helping to keep it colder.
Atmospheric Heat Transport: The Arctic is warmed by atmospheric heat transport from lower latitudes
in a web application that has been upgraded from Spring 4 to Spring 5, we notice that the sessionId changes from request to request, even when we load static files. This doesn't happen if the static file is in the browser cache.
ChatGPT
In a correctly functioning web application, the session ID should remain constant for a particular user session, not changing from request to request. If you observe that the session ID is changing from request to request after upgrading from Spring 4 to Spring 5, this indicates that there might be an issue with session management in your application. Here are a few things to check:
Session Creation Policy: In Spring Security, the session creation policy might be causing a new session to be created for every request. You should check this setting. By default, Spring Security will create a session when necessary (if the session does not already exist). However, it's possible that this policy has been changed.
Cookies Settings: The JSESSIONID is usually stored in a cookie. I
User
I have some JUnit tests who compare a constant to the value of a property of bean. When the test fails, I want to be able to change automatically the Java code, so that the constant reflects the value read from the bean. How can I achieve that?
ChatGPT
You can achieve this by creating a tool that modifies the Java code based on JUnit test results. Here is a simple idea for you:
Reflection API: Use the Java Reflection API to get the value of a bean property. You can use this to update the value of the constant in your Java code.
JUnit TestListener: Implement a custom TestListener that will be triggered whenever a test fails. In the TestListener, you can identify which constant and what new value it should be updated to.
Java Parser: There are several Java parsers available like JavaParser, Roaster, etc. which can parse Java code into an Abstract Syntax Tree (AST). Once you have the AST, you can walk it, find the constant that you need to update and then update its value.
@vernetto
vernetto / todo
Last active August 5, 2023 08:00
TODO
https://www.epam.com/services/artificial-intelligence
https://kb.epam.com/display/EPMLND/Learning+and+Development
https://www.coursera.org/learn/generative-ai-with-llms/home/week/1
https://www.coursera.org/learn/neural-networks-deep-learning/lecture/rz9xJ/why-deep-representations
# AI-900: