The brims are made of plastic rescued from the packaging for a dress shirt. Other possible sources are plastic spiral notebook covers (not the cardboard ones, though) or blister packaging if the product is big enough to have about 6" x 4" of flat (or gently curved) plastic. The smaller brim would probably fit on a plastic milk or juice jug.
The orange one has a zipper on the crown under which you can put any kind of Sekrit Surprize. The zipper was part of the neckline of the original shirt, which I cut to fit. I also like to put pockets on the crown, as I did with the brown one.
This tutorial shows the construction of the brown hat as I'd already made the orange one. However, the technique is almost exactly the same for both, just the pieces are slightly different sizes.