Null space for $AA^{T}$ is the same as Null space for $A^{T}$
Solution 1:
Let $q_i$ be a null vector of $A A^\top$, i.e. $ A A^\top q_i =0 $, then $ 0 = q_i^\top A A^\top q_i = \vert\vert A^\top q_i \vert\vert_2$, and thus $q_i$ is also a null vector of $A^\top$. Thus $\mathrm{rank}(A A^\top) = \mathrm{rank}(A^\top) = \mathrm{rank}(A)$.
Solution 2:
I have found this proof on the Web. I find it easy to read, and I have not found anything clearer on the waters.
We wish to prove that $null(A^TA) \subset null(A)$ Take $x\in R^n$ such that $A^T Ax=0$. Then, as $x$ is orthogonal to every row vector of $A^T A$, and since $A^T A$ is symmetric, then x is orthogonal to every column vectors of $A^TA$.
Thus, $x^T A^T Ax=0$ $\implies$ $(Ax)^T Ax=0$. This implies $Ax.Ax=0$ and $Ax=0$. Which finishes the proof.
http://mathsci.kaist.ac.kr/~schoi/sumlinsec7_5.pdf