Let $a<b$ be real numbers. Let $f:[a,b]\to\mathbb{R}$ be a continuous non-negative function. Suppose $\int_{[a,b]}f=0,\text{ then }f(x)=0 \forall x\in[a,b]$
Proof: Suppose for the sake of contradiction $\exists x_0\in[a,b] \text{ such that } f(x_0)= D> 0$
Since the function is continuous at $x_0$, we have $$\forall \epsilon>0, \exists \delta>0 \text{ such that } |f(x)-f(x_0)|\leq\epsilon\text{ whenever } x\in[a,b]\cap(x_0-\delta,x_0+\delta)$$ choose $\delta=\delta_1$ such that $\epsilon=D/2$, then we can say: $$-D/2 \leq f(x)-f(x_0)\leq D/2$$ $$-D/2 \leq f(x) - D$$ $$f(x)\geq D/2>0$$ This implies that $\int_{[a,b]\cap(x_0-\delta_1,x_0+\delta_1)}f >0$
Now since $\int_{[a,b]} f = 0$. we have
$$\int_{[a,b]}f=\int_{[a,x_0-\delta_1]}f+ \int_{(x_0-\delta_1, x_0+\delta_1)} f + \int_{[x_0+\delta_1,b]}f=0$$ $$\int_{[a,x_0-\delta_1]}f+\int_{[x_0+\delta_1,b]}f<-D/2,$$ but this is a contradiction since $f(x)\geq 0$ and hence $\int_{[a,x_0-\delta_1]}f+\int_{[x_0+\delta_1,b]}f\geq 0$
Is my proof correct?
Your proof looks completely right to me. In fact, it's the one I was planning to write if the question hadn't included a proof.
The only thing I'd change is to say that the integral, over the reduced interval, is at least $\frac{D}{2} 2\delta = \delta D > 0$. It's always nice to see a concrete estimate like that.
I might also simplify a little and start out by observing that $\int_{[0, a]} f = 0$ for any $0 < a < 1$ because $f$ is nonnegative, so the integrals from $0$ to $a$ and $a$ to $1$ must be nonnegative, but they sum to zero, and hence are both zero. Further such reasoining shows that $\int_I f = 0$ for any subtinterval of $[0, 1]$.
Once you've done that, you can stop your proof just before "This implies" by just saying "and now we've exhibited an interval over which the integral is positive, a contradiction."