OWASP insecure deserialization explained with examples
นอกจากการดูบทความนี้แล้ว คุณยังสามารถดูข้อมูลที่เป็นประโยชน์อื่นๆ อีกมากมายที่เราให้ไว้ที่นี่: ดูความรู้เพิ่มเติมที่นี่
📙 Become a successful bug bounty hunter: https://thehackerish.com/abugbountyhuntingjourneybook
🆓 Download your FREE Web hacking LAB and starting hacking NOW: https://thehackerish.com/owasptop10labvmfree
🌐 Read more on the blog: https://thehackerish.com
💪🏻 Support this work: https://thehackerish.com/howtosupport
Facebook Page: https://www.facebook.com/thehackerish
Follow us on Twitter: https://twitter.com/thehackerish
Listen on Anchor: https://anchor.fm/thehackerish
Listen on Spotify: https://open.spotify.com/show/4Ht8jEbPzyZnfbIlhFG91x
Listen on Google Podcasts: https://podcasts.google.com/?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy8xYTVkYTgxYy9wb2RjYXN0L3Jzcw%3D%3D
Hello and welcome to this exciting tutorial. Today we step up our game with a bug which leads straight to remote code execution. Today’s episode is about insecure deserialization. We are just two steps far away from the end of the OWASP Top 10 vulnerabilities. It’s been a great journey so far, I hope you learned something along the way.
This is the plan for this video:
Insecure deserialization definition: This where you will learn the key terminologies and concepts behind this vulnerability,
Examples of insecure deserialization in different programming languages: We will explore simple examples on PHP, Python and JAVA to help you understand how the vulnerability works.
What is the impact: In this section, you will understand how bad insecure deserialization can be.
How to exploit it with an example? This is where you will learn to go beyond running tools. You will perform white box testing and build custom code to solve a challenge on OWASP WebGoat.
What is insecure deserialization?
Let’s first understand the whole picture here. When you learn a programming language, the first thing you learn is how to define variables, classes and data structures that best suit your needs. Then, you learn how to manipulate them to achieve your needs. So far, they reside in memory, but sometimes, you need to store their states or share them with other systems. That’s where serialization and deserialization come into play.
What is Serialization?
Let’s say that you are playing with a character in a game. While you see the character on the screen, the software sees and manipulates an object residing in memory.
What if the game wants to store the state of that character in a file or share it with other systems? There should be a way to transform the inmemory object into a stream of bytes which can be easily stored and shared. That is what the process of serialization is all about. When the game performs the serialization of an object, we say that the object is serialized.
What is Deserialization?
Deserialization is the opposite of serialization. In fact, it consists of converting the serialized data into an inmemory representation which the software can then manipulate. Continuing on the previous example, when the game wants to retrieve the state of the serialized character object, it needs to deserialize it first.
What can go wrong here?
When a software deserializes usercontrolled data without verification, we call it insecure deserialization. In our game example, an attacker might store a serialized file representing a malicious payload. If the developer doesn’t perform a verification before deserialization, the insecure deserialization will trigger the attacker’s code.
Insecure deserialization impact
A successful attack leads to arbitrary code execution. This means that the impact will damage Confidentiality, Integrity and Availability. However, if the attacker can’t build the right serialized payload, he can still trigger an exception and crash the server, therefore impacting Availability.
Insecure deserialization tools
There are many tools which can assist you when you are hunting for insecure deserialization vulnerabilities. In the case of Java, you can use the Java Deserialization Scanner Burp Suite extension. It allows you to test for different libraries using predefined POP gadget chains. Then, you can use Ysoserial to generate the appropriate payload. However, you noticed how these tools didn’t help much in the previous insecure deserialization WebGoat challenge. Therefore, I think that the most valuable tool for this vulnerability would be a good deal of white box testing, some patience and analysis skills.
Insecure deserialization mitigation
As you might have concluded from what we saw, you should never trust data when you deserialize it. You perform checks on whitelisted classes you expect. This depends on each programming language. For example, Python provides you with the ability to restrict classes. For java, you saw how the WebGoat challenge checks if the serialized data is of type VulnerableTaskHolder. For solutions which don’t depend on a language, think about using data formats like JSON or XML, and use digital signatures. You can find more on that in the owasp insecure deserialization prevention cheat sheet.
OWASP API – API Authentication
สำนักงานคณะกรรมการกำกับหลักทรัพย์และตลาดหลักทรัพย์ ร่วมกับ สมาคม OWASP ประเทศไทย
โดยงานในครั้งนี้จัดในหัวข้อ OWASP API API Authentication (10 กระบวนท่าการพิสูจน์ตัวตนสำหรับเว็บเอพีไอ และความปลอดภัยอื่นๆ ที่เกี่ยวข้อง) โดยนายศิวพงษ์ นิยมพานิช ตำแหน่ง Assistant Security Researcher ให้เกียรติมาบรรยาย ในวันพฤหัสบดีที่ 29 ตุลาคม 2563
ขอความกรุณาทุกท่านที่ชม vdo ย้อนหลัง กรอกแบบสอบถามตาม Link นี้ https://forms.gle/rtb2i1QdW4CZwCCc8 เพื่อดาวน์โหลดไฟล์ประกอบการบรรยายครั้งนี้ และทีมงานจักได้นำความคิดเห็นไปปรับปรุงการจัดงานสัมมนาในครั้งต่อๆ ไป ครับ / ค่ะ 🙂
OWASP Top 10: Injection Attacks
Video 1/10 on the 2017 OWASP Top Ten Security Risks.
John Wagnon discusses the details of the top vulnerability listed in this year’s OWASP Top 10 Security Risks: Injection Attacks. Learn what they are and how to guard against them.
https://devcentral.f5.com/articles/lightboardlessonsowasptop10injectionattacks29135
(Unofficial) OWASP Top 10 Web 2021
สำนักงานคณะกรรมการกำกับหลักทรัพย์และตลาดหลักทรัพย์ ร่วมกับ สมาคม OWASP ประเทศไทย
โดยงานในครั้งนี้จัดในหัวข้อ (Unofficial) OWASP Top 10 Web 2021 โดย คุณสุเมธ จิตภักดีบดินทร์ อุปนายกสมาคม OWASP ประเทศไทย ให้เกียรติมาบรรยาย ในวันพฤหัสบดีที่ 6 เมษายน 2564
ขอความกรุณาทุกท่านที่ชม VDO ย้อนหลัง กรอกแบบสอบถามตาม Link นี้ https://tinyurl.com/4ft7az3f เพื่อดาวน์โหลดไฟล์ประกอบการบรรยายครั้งนี้ และทีมงานจักได้นำความคิดเห็นไปปรับปรุงการจัดงานสัมมนาในครั้งต่อๆ ไป ครับ / ค่ะ 🙂
Cross Site Request Forgery (CSRF or XSRF)
Reuben Paul (@RAPst4r) describes what a Cross Site Request Forgery (CSRF) attack is and how it works.
นอกจากการดูหัวข้อนี้แล้ว คุณยังสามารถเข้าถึงบทวิจารณ์ดีๆ อื่นๆ อีกมากมายได้ที่นี่: ดูบทความเพิ่มเติมในหมวดหมู่Tips