The author is wrong and you're right--photons have no (rest) mass. You can create schemes where it will seem like photons have mass--for instance, if you have two identical photons travelling in opposite directions enclosed in a box, it will appear that the box is holding a mass equal to the two photons' energy.
But, fundamentally, photons have no mass, and while they are affected by gravitational fields (for example, in the famous Arthur Eddington light bending observation), they travel in a fundamentally different way than massive particles (for example, there are no stable orbits of a photon around a black hole).
EDIT:
This actually is much simpler than I thought it was going to be after putting a bit of thought in (note that in everything below, $M$ is code for $\frac{GM}{c^{2}}$ and $t$ is code for $ct$). From the time translation invariance of the schwarzschild metric, we know that the conserved energy of any motion is:
$$E = {\dot t}(1-\frac{2M}{r})$$
Furthermore, the null condition for a radially inward/outward light ray is:
$$0 = -{\dot t}^{2}(1-\frac{2M}{r}) + \frac{{\dot r}^{2}}{1-\frac{2M}{r}}$$
Which we can easily solve (assuming $r \neq 2M$), finding $r = Es + r_{0}$
Where $E$ is still the energy and $r_{0}$ is the radius where we start measuring the null parameter $s$${}^{1}$
Plugging this result back into our equation for $\dot t$, solving for $t$ and integrating, we find:
$$t = Es + r_{0} -2M + 2M\ln(Es +r_{0}-2M) + C$$
Where C is an integration constant. Now, we note that if $s=0$ when $r=2M$, this implies that $r_{0}=2M$, but then, this implies that $t=-\infty$, and we conclude that there is no outgoing null geodesic connecting the horizon to any $r>2M$ (note that, strictly, I should be using coordinates that aren't singular on the horizon like these, but the result would still follow, because if you were using the proper null coordinates, you'd still have $E = {\dot t}(1-\frac{2M}{r})$, which is the source of this problem.
${}^{1}$Note that we are free to rescale $s\rightarrow \lambda s + k$ and none of our results will change except perhaps a rescaling of the integration constants $r_{0}$ and $C$