WebKit RegExp Exploit addrof() walk-through

preview_player
Показать описание
Part 4: We finally look at the actual exploit code. We start by understanding the addrof() primitive used to leak the address of a JavaScript object in memory.

-=[ 🕴️Advertisement ]=-

-=[ ❤️ Support ]=-

-=[ 🔴 Stuff I use ]=-

-=[ 🐕 Social ]=-

-=[ 📄 P.S. ]=-

All links with "*" are affiliate links.
LiveOverflow / Security Flag GmbH is part of the Amazon Affiliate Partner Programm.

#browserexploitation
Рекомендации по теме
Комментарии
Автор

It's awesome that you not just show the exploit but also show the real issue of the compiler and optimize the exploit.

christian
Автор

That "well known" killed me 😂

bennesp
Автор

Really great video. I love your way of making these scripts even more efficient.

onkz
Автор

Well-known Symbols: In addition to user-defined symbols, JavaScript has some built-in symbols. These represent internal language behaviors which were not exposed to developers in <ES5>.

kevinjohansson
Автор

Missed a golden opportunity to make the video 6 seconds longer...

tsoer
Автор

This channel s so informative. You are really a great teacher.

bigmistqke
Автор

I'm learning so much more about JS through these videos. (I'm kinda scared of languages with pointers)

thatanimeweirdo
Автор

How can someone even think of that? Did he take a look at the slow and fast functions by mistake and noticed the lack of checks?
It's fascinating how random discoveries can be.

AxelMontini
Автор

Its amazing how they managed to make JavaScript fast.

victornpb
Автор

2:06 You don't have to leave your JavaScript interpreter to convert from float to hex. You can do it in one line of js:

new Uint32Array(new

pereJobs
Автор

That's awesome! Thanks for looking into it. Really interesting stuff there. I wonder how many other bugs are hidden in those optimizations. One can't think of every edge-case, right?

EinTypOhneHandle
Автор


It doesn't mean "well known by programmers" 😅

pereJobs
Автор

Being able to pass arbitrary objects into internal execution engine code is simply not acceptable, but you're telling me that this huge vulnerability can be patched with a simple type check? If only we had a language feature that would help us find these mistakes. Wait. It actually exists (but not in js lol) and it's called strong typing.

BALAGE
Автор

The video should have been 6 seconds longer...

MrTare
Автор

Huh, so... Why does the regex implementation not bail when `.lastIndex` isn't a number? Seems like a stupid use of oven gloves...

Asdayasman
Автор

Neat, so they didn't really fix it.

japrogramer
Автор

Dynamically typed languages are so annoying...

gabiold
Автор

JS. the. world's. leading. prg. language.

bandie
Автор

The technical details of exploit

/ \
___/ Me

sontapaajokulainen
Автор

So, even after it is patched if you are able to take the faster router you can still perform the exploit. Fascinating.

capkenway