SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
OWASP Top Ten
Quickstart Your Security Awareness
Allon Mureinik
Senior Manager, Seeker Node.js and .NET Agents
Synopsys, Inc.
allon.mureinik@synopsys.com
@mureinik
https://www.linkedin.com/in/mureinik/
© 2020 Synopsys, Inc. 2OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
Setting Expectations
http://montypython.com/
© 2020 Synopsys, Inc. 3OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
Security is everyone's responsibility
https://thenounproject.com/term/security/957678
© 2020 Synopsys, Inc. 4OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
But it starts with the developer
https://thenounproject.com/term/developer/94089
© 2020 Synopsys, Inc. 5OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
OWASP
https://owasp.org/
© 2020 Synopsys, Inc. 6OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
OWASP Top Ten
https://owasp.org/www-project-top-ten/
1. Injection
2. Broken Authentication
3. Sensitive Data Exposure
4. XML External Entities (XXE)
5. Broken Access Control
6. Security Misconfiguration
7. Cross-Site Scripting (XSS)
8. Insecure Deserialization
9. Using Components with Known Vulnerabilities
10.Insufficient Logging and Monitoring
© 2020 Synopsys, Inc. 7OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
OWASP Top Ten
https://owasp.org/www-project-top-ten/
1. Injection
2. Broken Authentication
3. Sensitive Data Exposure
4. XML External Entities (XXE)
5. Broken Access Control
6. Security Misconfiguration
7. Cross-Site Scripting (XSS)
8. Insecure Deserialization
9. Using Components with Known Vulnerabilities
10.Insufficient Logging and Monitoring
© 2020 Synopsys, Inc. 8OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
A1:2017 Injection
https://thenounproject.com/term/injection/1827356
© 2020 Synopsys, Inc. 9OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
SQL Injection
https://xkcd.com/327/
© 2020 Synopsys, Inc. 10OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
Log Injection
app.post('/logi', function(req, res) {
// We trust our users, every login will be successful!
const username = req.body.username;
// Enterprise-grade logging FTW!
console.log(username + ' logged in.');
res.end('Logged in with the honor system');
});
© 2020 Synopsys, Inc. 11OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
Log Injection - demo
© 2020 Synopsys, Inc. 12OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
A4:2017 XML External Entities (XXE)
https://thenounproject.com/term/xml/3123782
© 2020 Synopsys, Inc. 13OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
XXE Injection
app.use(bodyParser.text({type: '*/*'}));
app.post('/xxe', function(req, res) {
const parsed = libxmljs.parseXml(req.body, {noent: true});
const name = parsed.get('//name').text();
res.end('Name is: ' + name);
});
© 2020 Synopsys, Inc. 14OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
XXE Injection - demo
© 2020 Synopsys, Inc. 15OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
A7:2017 Cross-Site Scripting (XSS)
https://thenounproject.com/term/html/101165
© 2020 Synopsys, Inc. 16OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
Stored XSS
app.get('/xss', function (req, res) {
db.all('SELECT comment FROM comments ORDER BY ts DESC', [], function(err, rows) {
const comments = rows.map(r => r.comment).join('<br/>');
const body =
`<html lang="en">
<body>
How is DevConf.US so far?<br/>
<form action="/xss" method="post">
<input name="comment" type="text">&nbsp;<input type="submit">
</form>
<br/>
Here's what others are saying:<br/>
${comments}
</body>
</html>`;
res.send(body);
});
});
© 2020 Synopsys, Inc. 17OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
Stored XSS (cont.)
app.post('/xss', function (req, res) {
db.run('INSERT INTO comments(comment) VALUES (?)',
[req.body.comment],
function (err) {
if (err) {
return console.log(err.message);
}
});
res.writeHead(302, {
'Location': 'xss'
});
res.end();
});
© 2020 Synopsys, Inc. 18OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
Stored XSS - demo
© 2020 Synopsys, Inc. 19OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
Summary
https://thenounproject.com/term/brief/935656
© 2020 Synopsys, Inc. 20OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
•OWASP Top-10 Project:
https://owasp.org/www-project-top-ten/
•Source code for the demos:
https://github.com/mureinik/owasp-top10-demo
•curl, used throughout the demos:
https://curl.haxx.se/
Some useful links
© 2020 Synopsys, Inc. 21OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0)
Questions?
https://thenounproject.com/term/questions/1195076/
Thank You
Contact
allon.mureinik@synopsys.com
@mureinik
https://www.linkedin.com/in/mureinik/

Mais conteúdo relacionado

Mais de Allon Mureinik

Mais de Allon Mureinik (13)

This DoS goes loop-di-loop
This DoS goes loop-di-loopThis DoS goes loop-di-loop
This DoS goes loop-di-loop
 
How open source made me a better manager
How open source made me a better managerHow open source made me a better manager
How open source made me a better manager
 
Automatic for the People
Automatic for the PeopleAutomatic for the People
Automatic for the People
 
Automatic for the people
Automatic for the peopleAutomatic for the people
Automatic for the people
 
Mockito - How a mocking library built a real community
Mockito - How a mocking library built a real communityMockito - How a mocking library built a real community
Mockito - How a mocking library built a real community
 
Mockito - how a mocking library built a real community (August Penguin 2017)
Mockito - how a mocking library built a real community (August Penguin 2017)Mockito - how a mocking library built a real community (August Penguin 2017)
Mockito - how a mocking library built a real community (August Penguin 2017)
 
Reversim Summit 2016 - Ja-WAT
Reversim Summit 2016 - Ja-WATReversim Summit 2016 - Ja-WAT
Reversim Summit 2016 - Ja-WAT
 
Virtualization Management The oVirt Way (August Penguin 2015)
Virtualization Management The oVirt Way (August Penguin 2015)Virtualization Management The oVirt Way (August Penguin 2015)
Virtualization Management The oVirt Way (August Penguin 2015)
 
Step by Step - Reusing old features to build new ones
Step by Step - Reusing old features to build new onesStep by Step - Reusing old features to build new ones
Step by Step - Reusing old features to build new ones
 
oVirt 3.5 Storage Features Overview
oVirt 3.5 Storage Features OverviewoVirt 3.5 Storage Features Overview
oVirt 3.5 Storage Features Overview
 
Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...
Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...
Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...
 
Live Storage Migration in oVirt (Open Storage Meetup May 2013)
Live Storage Migration in oVirt (Open Storage Meetup May 2013)Live Storage Migration in oVirt (Open Storage Meetup May 2013)
Live Storage Migration in oVirt (Open Storage Meetup May 2013)
 
Retro Testing (DevConTLV Jan 2014)
Retro Testing (DevConTLV Jan 2014)Retro Testing (DevConTLV Jan 2014)
Retro Testing (DevConTLV Jan 2014)
 

Último

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Último (20)

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 

DevConf.US 2020 - OWASP Top -10 - Allon Mureinik

  • 1. OWASP Top Ten Quickstart Your Security Awareness Allon Mureinik Senior Manager, Seeker Node.js and .NET Agents Synopsys, Inc. allon.mureinik@synopsys.com @mureinik https://www.linkedin.com/in/mureinik/
  • 2. © 2020 Synopsys, Inc. 2OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) Setting Expectations http://montypython.com/
  • 3. © 2020 Synopsys, Inc. 3OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) Security is everyone's responsibility https://thenounproject.com/term/security/957678
  • 4. © 2020 Synopsys, Inc. 4OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) But it starts with the developer https://thenounproject.com/term/developer/94089
  • 5. © 2020 Synopsys, Inc. 5OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) OWASP https://owasp.org/
  • 6. © 2020 Synopsys, Inc. 6OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) OWASP Top Ten https://owasp.org/www-project-top-ten/ 1. Injection 2. Broken Authentication 3. Sensitive Data Exposure 4. XML External Entities (XXE) 5. Broken Access Control 6. Security Misconfiguration 7. Cross-Site Scripting (XSS) 8. Insecure Deserialization 9. Using Components with Known Vulnerabilities 10.Insufficient Logging and Monitoring
  • 7. © 2020 Synopsys, Inc. 7OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) OWASP Top Ten https://owasp.org/www-project-top-ten/ 1. Injection 2. Broken Authentication 3. Sensitive Data Exposure 4. XML External Entities (XXE) 5. Broken Access Control 6. Security Misconfiguration 7. Cross-Site Scripting (XSS) 8. Insecure Deserialization 9. Using Components with Known Vulnerabilities 10.Insufficient Logging and Monitoring
  • 8. © 2020 Synopsys, Inc. 8OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) A1:2017 Injection https://thenounproject.com/term/injection/1827356
  • 9. © 2020 Synopsys, Inc. 9OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) SQL Injection https://xkcd.com/327/
  • 10. © 2020 Synopsys, Inc. 10OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) Log Injection app.post('/logi', function(req, res) { // We trust our users, every login will be successful! const username = req.body.username; // Enterprise-grade logging FTW! console.log(username + ' logged in.'); res.end('Logged in with the honor system'); });
  • 11. © 2020 Synopsys, Inc. 11OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) Log Injection - demo
  • 12. © 2020 Synopsys, Inc. 12OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) A4:2017 XML External Entities (XXE) https://thenounproject.com/term/xml/3123782
  • 13. © 2020 Synopsys, Inc. 13OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) XXE Injection app.use(bodyParser.text({type: '*/*'})); app.post('/xxe', function(req, res) { const parsed = libxmljs.parseXml(req.body, {noent: true}); const name = parsed.get('//name').text(); res.end('Name is: ' + name); });
  • 14. © 2020 Synopsys, Inc. 14OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) XXE Injection - demo
  • 15. © 2020 Synopsys, Inc. 15OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) A7:2017 Cross-Site Scripting (XSS) https://thenounproject.com/term/html/101165
  • 16. © 2020 Synopsys, Inc. 16OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) Stored XSS app.get('/xss', function (req, res) { db.all('SELECT comment FROM comments ORDER BY ts DESC', [], function(err, rows) { const comments = rows.map(r => r.comment).join('<br/>'); const body = `<html lang="en"> <body> How is DevConf.US so far?<br/> <form action="/xss" method="post"> <input name="comment" type="text">&nbsp;<input type="submit"> </form> <br/> Here's what others are saying:<br/> ${comments} </body> </html>`; res.send(body); }); });
  • 17. © 2020 Synopsys, Inc. 17OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) Stored XSS (cont.) app.post('/xss', function (req, res) { db.run('INSERT INTO comments(comment) VALUES (?)', [req.body.comment], function (err) { if (err) { return console.log(err.message); } }); res.writeHead(302, { 'Location': 'xss' }); res.end(); });
  • 18. © 2020 Synopsys, Inc. 18OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) Stored XSS - demo
  • 19. © 2020 Synopsys, Inc. 19OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) Summary https://thenounproject.com/term/brief/935656
  • 20. © 2020 Synopsys, Inc. 20OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) •OWASP Top-10 Project: https://owasp.org/www-project-top-ten/ •Source code for the demos: https://github.com/mureinik/owasp-top10-demo •curl, used throughout the demos: https://curl.haxx.se/ Some useful links
  • 21. © 2020 Synopsys, Inc. 21OWASP Top Ten – Quickstart Your Security Awareness (Allon Mureinik, DevConf.US 2020, cc-by-sa-4.0) Questions? https://thenounproject.com/term/questions/1195076/