Book Image

IoT Penetration Testing Cookbook

Book Image

IoT Penetration Testing Cookbook

Overview of this book

IoT is an upcoming trend in the IT industry today; there are a lot of IoT devices on the market, but there is a minimal understanding of how to safeguard them. If you are a security enthusiast or pentester, this book will help you understand how to exploit and secure IoT devices. This book follows a recipe-based approach, giving you practical experience in securing upcoming smart devices. It starts with practical recipes on how to analyze IoT device architectures and identify vulnerabilities. Then, it focuses on enhancing your pentesting skill set, teaching you how to exploit a vulnerable IoT device, along with identifying vulnerabilities in IoT device firmware. Next, this book teaches you how to secure embedded devices and exploit smart devices with hardware techniques. Moving forward, this book reveals advanced hardware pentesting techniques, along with software-defined, radio-based IoT pentesting with Zigbee and Z-Wave. Finally, this book also covers how to use new and unique pentesting techniques for different IoT devices, along with smart devices connected to the cloud. By the end of this book, you will have a fair understanding of how to use different pentesting techniques to exploit and secure various IoT devices.
Table of Contents (12 chapters)

Preventing injection attacks


Injection attacks are one of the top vulnerabilities in any web application but especially in IoT systems. In fact, injection has been rated in the top 2 of the OWASP Top 10 since 2010. There are many types of injection attacks such as operating system (OS) command injection, cross-site scripting (for example, JavaScript injection), SQL injection, log injection, as well as others such as expression language injection. In IoT and embedded systems, the most common types of injection attacks are OS command injection; when an application accepts an untrusted user input and passes that value to perform a shell command without input validation or proper escaping and cross-site scripting (XSS). This recipe will show you how to mitigate command injection attacks by ensuring all untrusted data and user input is validated, sanitized, and alternative safe functions are used.

How to do it...

Command injection vulnerabilities are not difficult to test for statics and dynamics...