unbrowse 2.8.2 → 2.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +5 -6
- package/package.json +1 -1
- package/runtime-src/execution/index.ts +9 -9
package/dist/cli.js
CHANGED
|
@@ -11161,12 +11161,11 @@ async function executeEndpoint(skill, endpoint, params = {}, projection, options
|
|
|
11161
11161
|
return `${c.name}=${v}`;
|
|
11162
11162
|
}).join("; ");
|
|
11163
11163
|
headers["cookie"] = cookieStr;
|
|
11164
|
-
|
|
11165
|
-
|
|
11166
|
-
|
|
11167
|
-
|
|
11168
|
-
|
|
11169
|
-
}
|
|
11164
|
+
const csrfCookie = cookies.find((c) => /^(ct0|csrf_token|_csrf|csrftoken|XSRF-TOKEN|_xsrf)$/i.test(c.name));
|
|
11165
|
+
if (csrfCookie) {
|
|
11166
|
+
const v = csrfCookie.value.startsWith(") && csrfCookie.value.endsWith(") ? csrfCookie.value.slice(1, -1) : csrfCookie.value;
|
|
11167
|
+
headers["x-csrf-token"] = v;
|
|
11168
|
+
headers["x-xsrf-token"] = v;
|
|
11170
11169
|
}
|
|
11171
11170
|
}
|
|
11172
11171
|
if (endpoint.csrf_plan && cookies.length > 0) {
|
package/package.json
CHANGED
|
@@ -1880,15 +1880,15 @@ export async function executeEndpoint(
|
|
|
1880
1880
|
headers["cookie"] = cookieStr;
|
|
1881
1881
|
|
|
1882
1882
|
// CSRF token auto-detection (bird pattern): many sites require CSRF tokens
|
|
1883
|
-
// as both a cookie AND a header.
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1883
|
+
// as both a cookie AND a header. The cookie value is always fresher than
|
|
1884
|
+
// any stored vault header, so it ALWAYS overrides.
|
|
1885
|
+
const csrfCookie = cookies.find((c) =>
|
|
1886
|
+
/^(ct0|csrf_token|_csrf|csrftoken|XSRF-TOKEN|_xsrf)$/i.test(c.name)
|
|
1887
|
+
);
|
|
1888
|
+
if (csrfCookie) {
|
|
1889
|
+
const v = csrfCookie.value.startsWith(') && csrfCookie.value.endsWith(') ? csrfCookie.value.slice(1, -1) : csrfCookie.value;
|
|
1890
|
+
headers["x-csrf-token"] = v;
|
|
1891
|
+
headers["x-xsrf-token"] = v;
|
|
1892
1892
|
}
|
|
1893
1893
|
}
|
|
1894
1894
|
|