From dcd03435692fed71aa9ef401be91627be3d39815 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sat, 31 May 2025 11:57:52 +0900 Subject: [PATCH] Dist conflicts resolve --- .gitignore | 225 ++++++++++++++++++++- dist/plugin_package.zip | Bin 3712 -> 0 bytes dist/plugin_package/manifest.json | 21 -- dist/plugin_package/oauth-backend/index.js | 83 -------- 4 files changed, 224 insertions(+), 105 deletions(-) delete mode 100644 dist/plugin_package.zip delete mode 100644 dist/plugin_package/manifest.json delete mode 100644 dist/plugin_package/oauth-backend/index.js diff --git a/.gitignore b/.gitignore index 3c3629e..648628f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,224 @@ -node_modules +# Created by https://www.toptal.com/developers/gitignore/api/node,macos,windows,linux +# Edit at https://www.toptal.com/developers/gitignore?templates=node,macos,windows,linux + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +### Node Patch ### +# Serverless Webpack directories +.webpack/ + +# Optional stylelint cache + +# SvelteKit build / generate output +.svelte-kit + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +#!dist/ +dist/* +packages/frontend/dist +packages/backend/dist +#!dist/*.zip + +# End of https://www.toptal.com/developers/gitignore/api/node,macos,windows,linux \ No newline at end of file diff --git a/dist/plugin_package.zip b/dist/plugin_package.zip deleted file mode 100644 index 9573ba39c2928d42322ad80411c36ddf032212da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3712 zcmWIWW@h1H;9y{2*ub?9^vsfs z(j<@q{cMZ+a5!Q}z&wE=k(yUhR9TRpnO6ex3MBlYiu5z{Qc^4QvWgMr7nSCfWI|#hE3qsQ z61YlW2i9^aD8zEr26(e`Twb>F&RIqV1`vj%15os%rvp9)1_o67AZoFt88HmCFt_RJ zD-@U0jq5b$dxMS7vTOeo=`+wL(Erer{%QYOz9Mu|it0LajntQGTw1 zQd+T+HB6BfNUk8UBm*i3Vj^Voi=o2#AT4EyMG8f!g{7&*CBBIT3bqRRS_%&F@d2Sh zuJQ2-TKWokspSg3i3J*()?8_&dC8y@rjVJJS)x&#lC24j&*GG9z0|VQypm$Q{5;RR zlGLK))Pj;Ah@l#Z#g%!<3Lw=+Iv|@g6>ROm+7uK@iYlQj1%>4Nyy6mt(xRN;lA_GK zbOl?GTD|ntlF*_YklmofgQQBq7VNOlARi659!+a-3@RuTr(_%Hfeg&gN!82APuEC@ z24|H3aAJ&AfV(j@1!N1z?^X&b)o_Dq6W~T=rYUGBmKNpcfx-}!`t&mMl5 zF<1cZAc(G_)RfGk)Z~)TqD%!_s2QNZ(ollQ#FrLjD#3Muy#bR7Ey~31mZH=`&lE(+ zd!`@)9+5=!ic?E8z$!t}33mqEDu@G>g%=FB>#GLrjq8uwkk_8oi&{PWce0*k#l>)@Wo+$`P zSS)}d$Vvgm3oXh-R)XY3kQxXV6d2GHUJDB@oCfgu7#K_Rg`F|$M=tyr(TD6=HhEi)%o17@s_ zf>*G=pI$LIpJt|2YCwWWMT2rZp@k5I;L6VSU1}(Z`4GcgvCse>j!34sG`4rhgh&Pc^ zFeFYul{d%{>9AS}TCtSoW#{FW=OHQ6{8d zzs$KA7(h6{n~_O`0nuSYZo-2)Y@h}_0;6=_U|K=a*xL9YaRvqf1_lNWCd?K;s { - try { - const urlString = req.getUrl(); - const url = new URL(urlString); - sdk2.console.log(`[OAuthPlugin] Intercepted request: ${urlString}`); - if (!url.pathname.includes("/authorize") && !url.pathname.includes("/auth")) return; - const params = new URLSearchParams(url.search); - const redirectUri = params.get("redirect_uri"); - if (!redirectUri) return; - const reqId = req.getId(); - requestMap.set(reqId, redirectUri); - const clientId = params.get("client_id") ?? "(missing)"; - const responseType = params.get("response_type") ?? "(missing)"; - const isScan = params.has("scan"); - if (isScan) return; - const output = { - original_url: urlString, - client_id: clientId, - redirect_uri: redirectUri, - response_type: responseType - }; - try { - const filePath = path.join(os.tmpdir(), "oauth-fuzz-input.json"); - await fs.writeFile(filePath, JSON.stringify(output, null, 2)); - } catch (err) { - await sdk2.findings.create({ - title: "[fs] Write Failed", - description: `Could not write to file: ${err}`, - request: req, - reporter: "oauth-open-redirect-detector" - }); - } - await sdk2.findings.create({ - title: "[ ] OAuth2 Authorization Request Collected", - description: `client_id: ${clientId} -redirect_uri: ${redirectUri} -response_type: ${responseType}`, - request: req, - reporter: "oauth-open-redirect-detector" - }); - } catch (err) { - sdk2.console.error(`Error in onInterceptRequest: ${err}`); - } - }); - sdk.events.onInterceptResponse(async (sdk2, req, resp) => { - try { - const reqId = req.getId(); - const url = new URL(req.getUrl()); - const status = resp.getCode(); - const location = resp.getHeader("location")?.[0]; - const params = new URLSearchParams(url.search); - const isScan = params.has("scan"); - if (!isScan) { - requestMap.delete(reqId); - return; - } - if (status >= 300 && status < 400 && location) { - const redirectUri = requestMap.get(reqId) ?? "(unknown)"; - await sdk2.findings.create({ - title: "[+] Redirect URI Misconfiguration Detected", - description: `Status: ${status} -Location: ${location} -Original Redirect URI: ${redirectUri} -Request URL: ${url.href}`, - request: req, - reporter: "oauth-open-redirect-detector" - }); - } - requestMap.delete(reqId); - } catch (err) { - sdk2.console.error(`Error in onInterceptResponse: ${err}`); - } - }); -} -export { - init -};