Another day another executor
After 2 hours of release I’ve already found a detection
I’ll work on finding more detection later
local HttpService = game:GetService("HttpService")
while task.wait() do
local suc, response = pcall(HttpService.RequestInternal, HttpService)
if not suc and response:find("blocked function") then
warn("Detected :money_mouth:", response)
end
end
It’s not that hard to bypass Hyperion, the hardest part is going undetected and not making stupid mistakes like these, why the hell are u using the normal HttpService if you’re making an executor?
Sending an request to roblox.com from the executor, and accessing the Cookies from there.
This was intended (by the Wave developer team) to stop malicious threat actors from releasing scripts that maliciously log your cookies, and, to stop developers, in the event they successfully ENV Takeover, to do the same.
Can’t the same thing be done using a custom HttpService then? A sandboxed version so developers and both script creators cannot access important things such as cookies.
Wave runs on Level 7 (I believe), by nature, due to that level now script devs have access to HttpService.RequestInternal aswell as other services which can be used to grab cookies and other stuff.
Wave took the approach of making a, quite blatantly, hook to make sure it doesn’t get called by making it error with a custom error message.
Interesting, well instead of returning a custom error message, why didn’t they return the original error message (if it exists) or modify the engine API or the VM to make it return nil basically?
What they should’ve done is add an caller check, so the hook would only function if called from an executor environment and otherwise return original behavior.
yeah theoretically would work but undetected executors don’t use this Httpservice so they won’t get flagged. And also does this script affect performance? I’d assume it tanks performance if it checks requests in a while task.wait() loop
The reason why this works is due to the developers not adding a caller check to their security (preventing scripts from doing malicious things). This only works for wave because they are the ONLY executor to not have proper checks.
They intentionally don’t check the caller because hookmetamethod can be used to run the malicious code on a thread not owned by the executor, which would bypass the protection.
This is basically impossible to fix in Lua itself without creating some sort of detection.