Tags: do not write just a link to original writeup here. please
Rating:
We're given the following source code:
```php
Find a string that has a MD5 digest equal to itself!
Source Code
```
We see that the md5's are compared with == instead of ===, which makes them vulnerable to type juggling vulnerabilities.
In particular, if two strings both start with "0e" and contain numbers afterward, the == operator will always return that they're true. (Both get casted to integers of the form 0 * e ^{the remaining string}, so it returns 0 == 0).
To solve this, I just wrote a quick PHP script to generate strings of this form until one hashed to a hash of this form.
```php