Sigma protocol for AND-composition involving the same secret Say we have two public cyclic groups $G_1$, $G_2$ of corresponding prime orders $p_1$, $p_2$, and known generators $g_1$, $g_2$.
Say $g_3$ is also a generator of $G_2$. 
For publicly known $C_1$ and $C_2$, and secret $r$ and $m$, I want to prove: 
$POK\{(r, m): C_1 = g_1^r \land C_2 = g_2^rg_3^m\}$ 
Note here that $C_2$ is a Pedersen commitment using the same $r$. How can I prove this statmement?

I know proving Discrete-Log is easy using Schnorr's identification protocol [1], proving knowledge of both factors in Pedersen commitment is also possible using Sigma protocols [2], and using a common challenge we can build AND-composition [3].
The challenge here is to prove for the same $r$.

Bonus: how can I prove it in zero-knowledge (instead of with honest-verifier-zero-knowledge)?

[1] https://pdfs.semanticscholar.org/8d69/c06d48b618a090dd19185aea7a13def894a5.pdf 
[2] https://courses.cs.ut.ee/MTAT.07.003/2017_fall/uploads/Main/0907-sigma-protocol-for-pedersen-commitment.pdf 
[3] https://www.math.leidenuniv.nl/~edix/oww/mathofcrypt/schoenmakers/sigma-Leiden2003.pdf
Proving this statement for groups $G_1, G_2$ of different order is a bit tricky. If the groups are of the same order, one can simply use EQ-composition (see [4], which are the lecture notes corresponding to reference [3] above).

For groups of different prime orders $p_1, p_2$, a simple $\Sigma$-protocol runs as follows. Let $n=p_1 p_2$.


Prover sends announcement $(a_1,a_2)$, where $a_1=g_1^u$ and $a_2=g_2^u g_3^v$ with $u\in_R\mathbb{Z}_n$ and $v\in_R\mathbb{Z}_{p_2}$.
Verifier sends challenge $c\in_R\mathbb{Z}_{\min(p_1,p_2)}$.
Prover sends response $(r_1,r_2)$, where $r_1=u+c\,r \bmod n$ and $r_2=v+c\,m \bmod p_2$. Verifier accepts if $g_1^{r_1} = a_1 C_1^c$ and $g_2^{r_1} g_3^{r_2} = a_2 C_2^c$.


To show special soundness, consider accepting conversations $(a_1,a_2;c;r_1,r_2)$ and $(a_1,a_2;c';r'_1,r'_2)$ that share the same announcement $(a_1,a_2)$, but have distinct challenges $c\neq c'$. Hence, we have:
$$g_1^{r_1} = a_1 C_1^c,\quad g_2^{r_1} g_3^{r_2} = a_2 C_2^c,\qquad g_1^{r'_1} = a_1 C_1^{c'},\quad g_2^{r'_1} g_3^{r'_2} = a_2 C_2^{c'}.$$
Dividing these onto each other leads to:
$$C_1 = g_1^{\frac{r_1-r'_1}{c-c'}}, \qquad C_2 = g_2^{\frac{r_1-r'_1}{c-c'}} g_3^{\frac{r_2-r'_2}{c-c'}}.$$
The witness is extracted by setting $r=(r_1-r'_1)/(c-c')\bmod n$ and $m=(r_2-r'_2)/(c-c')\bmod p_2$.

Note that the statement has to be interpreted with care: the values of $r\bmod p_1$ and $r\bmod p_2$ will in general not be equal, so the actual numbers appearing in the exponents of $g_1$ and $g_2$ may be very different from each other!

[4] https://www.win.tue.nl/~berry/CryptographicProtocols/LectureNotes.pdf