Preheat oven to 350°F. Line a 9x13" baking pan with foil and spray with cooking spray. Set aside.
In a medium bowl, whisk together flour, cocoa, baking soda, and salt. Set aside.
Using an electric mixer fitted with a paddle attachment, mix together the oil, sugar, and vanilla until well combined. Add the dry ingredients and stir. Fold in the zucchini. Let the mixture sit for a few minutes so the batter can absorb the moisture from the zucchini. Then, if your mixture is still very powdery, add up to 5 tablespoons water (start with 1 tablespoon and work up from there, stirring well after each addition). The batter will be very thick but shouldn't be powdery. (It partially depends on how wet your zucchini is!) Add walnuts, if desired. You may need to use your hands to work the water in instead of a spoon. The dough is super thick, like cookie dough. Do not add too much water! Spread in prepared pan.
Bake 25-30 minutes until the brownies spring back when gently touched.
To make the frosting: Whisk butter, cocoa, salt, and powdered sugar. Whisk in milk and vanilla. Spread over cooled brownies. Cut into squares and chill to semi-set. The frosting hardens slightly on the top but stays wet and gooey underneath.
These brownies are best stored in an airtight container and eaten within 2 days. Chill them to make them last an extra day. They're what I call "fork" brownies because they are so gooey.
*NOTE* People have been saying these brownies are cakey. Every time I've made them they turn out super fudgy like in the photos. The problem is how much water you add. It's hard to say how much to add because every time I've made these I've added a different amount. It really does depend on your zucchini. The batter will be very thick and need help spreading in the pan. If your batter is at all liquidy or thin you're going to get a more cakey brownie.