Or more abstractly, let $T \in \mathcal{L}(U,V)$ be a linear map over finite dimensional vector spaces, I need to prove that $T^*$ and $T^* T$ have the same range.
The direction $v \in range(T^*T) \rightarrow v \in range(T^*)$ is obvious. I'm stuck on the other direction. Suppose $u\in range(T^*)$, then there exists $v \in V$ such that $u = T^*v$. Now how do I show $u \in range(T^*T)$? (I've proved that $T$ and $T^*T$ have the same nullspace, but that doesn't seem helpful here)
$A$ and $A^TA$ have the same null space. Therefore, the orthogonal complements of their null spaces are the same. It is well-known that the orthogonal complement of any matrix $M$ is the column space of $M^T$, so $A^T$ and $(A^TA)^T=A^TA$ have the same column space.