The notation $L^2$ for Lebesgue measure is confusing. I denote $\lambda$, $\lambda_2$ the Lebesgue measure on $\mathbb{R}$, $\mathbb{R}^2$. 

The answer is no. 

Fix a discrete measure $\mu$ which gives a positive mass to every rational number in $[0,2]$. Call $\nu$ the image of $\lambda \otimes \mu$ by the map $(x,y) \mapsto (x,y-x)$. 

Given Borel subsets $A$ and $B$ of $[0,1]$ with positive measure, we know that the function $1_A*1_B$ is non-negative, continuous since it is a convolution between two functions in $L^2(\mathbb{R})$, and has a positive integral on $[0,2]$. Therefore, it is positive on some non-empty open subinterval of $[0,2]$. Thus 
\begin{eqnarray*}
\nu(A \times B) 
&=& \int_{\mathbb{R}}\int_{\mathbb{R}} 1_{A \times B}(x,y-x)~d\lambda(x)~ d\mu(y) \\
&=& \int_{\mathbb{R}} (1_A*1_B)(y)~d\mu(y) \\
&>&0.\end{eqnarray*}
Yet, $\nu$ is carried $\{(x,z) \in \mathbb{R} : x+z \in \mathbb{Q}\}$, whose $\lambda_2$ measure is null. 

The measure $(1_{I^2})\nu$ yields a couterexample.