Haroldo não me refiro a SQL Injection, me refiro à XSS (Cross-Site Scripting). O “hacker”, como você chama, não precisa ter acesso ao “item do menu”, e nem acessar o SQL Builder.
O que acontece é que quando se executa uma consulta (SELECT) no SQL Builder, ele não exibe o resultado (na tela) em texto puro… o resultado é interpretado como HTML. Se tiver qualquer conteúdo que possa ser interpretado como HTML, ele vai interpretar. Dessa forma é possível executar código javascript e com isso roubar/falsificar os cookies, ou seja, a sessão (login) do usuário. Além de também abrir espaço para outro problema: CSRF (Cross-Site Request Forgery).
Se quer fazer um teste, insira este valor em uma tabela qualquer e depois faça um SELECT nesse registro (SELECT usando o SQL Builder):
INSERT INTO tabela(campo) VALUES('Tes <script>alert(123)</script> te')
Quando o SQL Builder exibir o valor, o browser vai interpretar o conteúdo como HTML e mostrar a caixa do alert. Claro que esse é só um exemplo…
A mesma coisa acontece se você tem um formulário com input(text), textarea ou campo de upload de arquivos que aceite arquivos com conteúdo de texto (e o arquivo seja salvo em banco de dados). Se o usuário cadastrar algo que possa ser interpretado como HTML, quando fizer o SELECT no SQL Builder, o valor vai ser interpretado.
E sobre estar instalado em um domínio disponível na internet, mesmo que esteja em uma intranet ou computador local, ainda pode ser prejudicado pelo CSRF.
E quando descobri este problema, ainda vi outra coisa que a NetMake precisa tomar conhecimento: a “trava” de quantidade de usuários logados pode ser burlável clonando a sessão do usuário.