Aladdin Mubaied

Building a Successful Career in Information Security

0 minute read Published:

So You Want To Play With Ducks?

3 minute read Published:

Blog Post by Aladdin Mubaied

Today, we all heard the news about the serious security bug in macOS. Basically, anyone running the latest version of macOS High Sierra 10.13.1 is vulnerable.

What is the bug?

So if you simply type “root” as a username, leave the password field blank in your login screen, click “unlock” button twice, you’ll immediately gain full root access on any macOS machine.

Amateria Smashthestack Level0

4 minute read Published:

Amateria Smashthestack Level0

Blog Post by Aladdin Mubaied

One of the things I enjoy doing on the weekends is solving some wargame challenges. One of the sites that host interesting challenges for beginners is smashthestack.org. The site contains many wargames that simulate real-world software vulnerabilities.

Malloc me the wrong way, and I'll crash your heap!

9 minute read Published:

Malloc me the wrong way, and I'll crash your heap!

Blog Post by Aladdin Mubaied

I always get fascinated by the dynamic memory allocation in modern operating systems. it’s quite interesting to understand the different components involved in handling special requirements such as space allocation, portability, memory fragmentation, error detection and so on. Dynamic memory allocation was created mainly to solve the problem of allocating memory while the program is running as opposed to telling the program how much memory required ahead of time.

If there's already a payload! Can I borrow it?

6 minute read Published:

If there's already a payload! Can I borrow it?

Blog Post by Aladdin Mubaied

Back in the old days, nothing is exciting as finding a stack-based buffer overflow, simply because you can exploit it by throwing your shellcode directly on the stack and return to it. However, modern memory protections such as NX/DEP prevent us from executing our shellcode in the memory - you can write your shellcode, but you can’t return to it. The reason for that is because that region of the stack is marked as non-executable. To give you a sense of that, if you’re on Linux, simply run the following command:

Libtiff and Libjpeg segfault them all!!

7 minute read Published:

Libtiff and Libjpeg segfault them all!!

Blog Post by Aladdin Mubaied

As a security enthusiast, one of the things I really enjoy about code breaking is finding subtle bugs in modern softwares. As someone could imagine, searching for those bugs is a hectic and daunting task. For example, you could spend hours and maybe days manually reviewing kernel code for the sake of finding just one null pointer dereference. Although this manual technique takes a lot of time, it’s no doubt very essential when hunting for complex logic flaws that static and dynamic scanners can’t detect. The other approach that most hackers prefer is finding bugs through a technique called “fuzzing”!