<div dir="ltr">I would suggest that you structure your network in such a way that your SQL server has to make use of an HTTP Proxy that requires authentication in order to connect to the public internet. Also force it to use an internal DNS server, then monitor that DNS server logs to see if someone is trying to exfiltrate your data over DNS.<div><br></div><div>Also see if you can disable any functions that could help an attacker such as WAIT FOR DELAY on MS SQL Server.</div><div><br></div><div>I highly reccomend that you read the Database Hacker's Handbook.</div><div><br></div><div>Regards.</div><div>Timo</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 29, 2015 at 10:33 PM, Dinis Cruz <span dir="ltr"><<a href="mailto:dinis.cruz@owasp.org" target="_blank">dinis.cruz@owasp.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi, anybody here has experience on detecting SQL injection on an high-volume SQL Server by looking at the SQL Queries errors?<div><br></div><div>I know some guys (like ETSY) are doing this, but when I was talking with the DBAs today they couldn't find an easy way to do it at the SQL server.</div><div><br></div><div>The logic is that there should be no SQL compilation errors in the Production SQL server, so any errors that occur should either be:</div><div><br></div><div>a) a nasty bug</div><div>b) an SQL Injection being triggered by accident</div><div>c) an SQL Injection attack</div><div><br></div><div>Since it is really hard for an attacker to perform an SQL Injection without triggering an SQL Error ONCE, monitoring for SQL errors is a great way to proactively detect attacks (which is what Dan and Zane talk about in this video¬†<a href="https://www.youtube.com/watch?v=jQblKuMuS0Y" target="_blank">https://www.youtube.com/watch?v=jQblKuMuS0Y</a>)</div><div><br></div><div>Ideally this should be detected at SQL Server level since that will make sure that all possible scenarios are covered. The alternative is to try to detect it via AppDynamics, or on the server logs, or at the Java code (which will require code changes).</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Dinis</div></font></span></div>
<br>_______________________________________________<br>
OWASP-Leaders mailing list<br>
<a href="mailto:OWASP-Leaders@lists.owasp.org">OWASP-Leaders@lists.owasp.org</a><br>
<a href="https://lists.owasp.org/mailman/listinfo/owasp-leaders" rel="noreferrer" target="_blank">https://lists.owasp.org/mailman/listinfo/owasp-leaders</a><br>
<br></blockquote></div><br></div>