ben hayak - black hat | home... inittableattacktest function inittable(jsondata) { //dosomething in ...

80
Ben Hayak Security Researcher [email protected] Twitter: @BenHayak

Upload: others

Post on 11-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

Ben Hayak Security Researcher

[email protected]

Twitter: @BenHayak

Page 2: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 3: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 4: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 5: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 6: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 7: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 8: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 9: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 10: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 11: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 12: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 13: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 14: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 15: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

Attacker

Bank

Page 16: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

• Document Access • Object Access • Ajax Requests • Data Leakage

Page 17: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

• <img src=“[[URL]]”> • <link rel href=“[[URL]]”> • <script src=“[[URL]]”> [[External resources]]

Go Ahead

Page 18: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 19: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 20: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 21: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

//XML.. <xml> <person> <name>john</name> <credit>34</credit> </person> </xml>

Page 22: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 23: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

var person = {“name”:”John”,”credit”:34}

Page 24: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

person.name == “John” person.credit == 34

1. person = RequestData

2. {“name”:”John”,”credit”:34}

Page 25: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

Easy

Fast Light

Page 26: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

www.telize.com/geoip?callback=getgeoip

Page 27: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

http://benhayak.com

Page 28: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

http://benhayak.com

Page 29: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

http://benhayak.com

Page 30: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

• <img src=“[[URL]]”> • <link rel href=“[[URL]]”> • <script src=“[[URL]]”> [[External resources]]

Go Ahead

Page 31: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

<script src= “http://external/geo?callback=getgeoip”>

Page 32: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 33: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 34: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 35: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 36: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 37: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 38: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 39: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 40: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 41: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 42: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 43: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 44: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

SOM

E

Page 45: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

.

Page 46: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 47: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 48: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 49: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

SOM

E

Page 50: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 51: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 52: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 53: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 54: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 55: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

<script src= “http://emailservice/contacts?callback= ” >

initTable Test Attack

Function initTable(jsondata) { //doSomething in www.google.com (example) }

Page 56: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

text/javascript

Page 57: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

AttackerInput();

Page 58: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 59: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 60: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 61: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 62: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 63: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

Callback=<XSS>aaa

Only [A-Za-z0-9.] allowed

Callback=;alert()

Page 64: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

Setup the Environment

Page 65: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

1. Redirect MAIN

Page 66: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

Share

1. Redirect MAIN

Page 67: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

Share

2. Redirect placeholder to SOME

Page 68: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

Share

2. Redirect placeholder to SOME

Are you sure?

Yes No

Page 69: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

Are you sure?

Yes No

3. Redirect 2nd placeholder to SOME

Page 70: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

Your Album is now Public

Mission Accomplished

Page 71: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 72: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 73: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

We don’t need them

Page 74: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

We only need alphanumeric and a dot

Page 75: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

We can use Windows

Page 76: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

Use a popup bypass

Page 77: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

No restrictions when using windows

Page 78: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }
Page 79: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }

Ben Hayak Security Researcher

[email protected]

Twitter: @BenHayak

Page 80: Ben Hayak - Black Hat | Home... initTableAttackTest Function initTable(jsondata) { //doSomething in  (example) }