Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Server Status Code: 406 Not Acceptable

28-01-2017 11:28

Olá!

Estou realizando testes com o plugin SQL Inject Me, do navegador Firefox.

Surgiram falhas com o resultado “Server Status Code: 406 Not Acceptable”.

Tenho pesquisado a respeito. Encontrei uma explicação neste link http://www.checkupdown.com/status/E406_pt.html, que não compreendi muito bem.

Também encontrei referências ao ModSecurity não estar habilitado, mas acessei o painel de controle no provedor de hospedagem e constatei que está.

Solicitei esclarecimentos ao suporte técnico do provedor de hospedagem e continuarei a pesquisar a respeito, mas é possível me ajudar a compreender melhor essa situação?

Grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17613
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Server Status Code: 406 Not Acceptable

28-01-2017 12:02

Não conhecia esse addon para Firefox.
Baixei ele aqui e fiz um formulário bem simples passando somente o id pelo formulário. Assim:

$sql = "SELECT * FROM dados WHERE id='".$_POST['id']."'"; // CONSULTA

Não gerou nenhum erro. Vou deixar o resultado abaixo:

Test Results
SQL Injection String Tests Summary (15480 results recorded)
Failures:
0
Warnings:
0
Passes:
15480
SQL Injection String Test Results
id
Submitted Form State:

submit:

Results:
This field passed 7740 tests. To see all the passed results, go to Tools->SQL Inject Me->Options and click 'Show passed results in final report' and rerun this test.
submit
Submitted Form State:

id: 1

Results:
This field passed 7740 tests. To see all the passed results, go to Tools->SQL Inject Me->Options and click 'Show passed results in final report' and rerun this test.


Então pode ser o código que você está usando que está provocando esse erro. Que tipo de código está usando?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Server Status Code: 406 Not Acceptable

29-01-2017 11:00

Você diz sobre a consulta quando se refere ao código?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17613
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Server Status Code: 406 Not Acceptable

29-01-2017 11:06

Sim. Pelo que vi no addon o script testa formulários. E vê se não tem nenhuma brecha na consulta.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Server Status Code: 406 Not Acceptable

29-01-2017 12:19

Vou separar o código da consulta do arquivo e posto aqui. Como vejo se tem brecha na consulta?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17613
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Server Status Code: 406 Not Acceptable

29-01-2017 12:24

Tem um vídeo que já postei nesse fórum de segurança mesmo mostrando como evitar o SQL injection

Já no seu código tem que testar o seu script e ver o erro pelo addon para ver a solução a ser tomada.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Server Status Code: 406 Not Acceptable

30-01-2017 15:24

Obrigado. Você me passou o link desse vídeo num tópico antigo.

Eu abri um chamado no HelpDesk do provedor de hospedagem e eles estão analisando.

Continuei a pesquisar a respeito desse erro, e, num fórum estrangeiro dos resultados do Google, alguém tinha uma dúvida idêntica, e o moderador e outros usuários recomendaram o uso de uma ferramenta chamada sqlmqp (http://sqlmap.org/); eu a baixei, instalei (tem de instalar Python 2.6 ou 2.7 no computador para fazer funcionar - se quiser, passo o link de tutoriais de instalação); rodei o programa, e não detectou, aparentemente, o mesmo erro do SQL Inject Me. Mas me parece que as mensagens de erro retornadas são diferentes do plugin do Firefox.

Eu vou fazer outras coisas no código e mais adiante voltarei a isso.

Esse sqlmap apontou vulnerabilidade num valor recebido por $_GET, mas ele não é usado na consulta ao banco de dados. O problema é maior quando o que se recebe por $_GET é usado na consulta ao banco de dados, ou mesmo não sendo usado oferece risco?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17613
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Server Status Code: 406 Not Acceptable

30-01-2017 16:53

O bom é sempre minimizar os riscos.

Por exemplo usar o mysqli_real_escape_string

$nome = mysqli_real_escape_string($con, $_POST['nome']);

Filtrar os tipos dos valores recebidos por GET ou POST

http://php.net/manual/en/function.filter-input.php
http://php.net/manual/en/function.filter-var.php
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Server Status Code: 406 Not Acceptable

30-01-2017 18:27

Esbarrei na situação de ainda estar no PHP 4. Comecei a fazer a conversão para o PHP 5, mas preciso fazer uma publicação antes de concluir a conversão, ainda em PHP 4.

O código que você informou é do PHP 5 e os links do PHP 5.2.0 e 7.

Existe solução semelhante em PHP4?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17613
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Server Status Code: 406 Not Acceptable

30-01-2017 18:34

A melhor forma de saber a versão do PHP que a função roda é fazer o seguinte:

Vai no site do php.net http://php.net/

Na busca do topo na direita coloque por exemplo mysqli_real_escape_string

real_escape_string.jpg

Destaquei em qual versão do PHP a função roda.
0
Você não está autorizado a ver ou baixar esse anexo.
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Server Status Code: 406 Not Acceptable

31-01-2017 12:43

Sim. Fui o que fiz. Mas pesquisei por mysqli_real_escape_string, conforme você informou. E não por mysql_real_escape_string. A segunda admite PHP 4. Fazem a mesma coisa? O código que você informou com a primeira posso utilizar com a segunda? A variável $con é de conexão? É obrigatória? Grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17613
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Server Status Code: 406 Not Acceptable

31-01-2017 12:54

É assim:

mysqli_real_escape_string serve para conexão ao banco de dados feita com MySQLi
mysql_real_escape_string serve para conexão ao banco de dados feita com MySQL


O correto é usar todas as funções específicas para linguagem que está usando para conectar.

$con não sei onde você está usando. Mas para acessar o banco de dados você precisa conectar antes. Sendo assim a conexão é obrigatória.

Creio que seja possível trabalhar com algumas versões do PHP 4 para frente. Se desejar pode tentar criar uma nesse link http://codigosnaweb.com/Conexao-MySQLi_25_1-PHP.html
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Server Status Code: 406 Not Acceptable

31-01-2017 13:04

Desculpe. "Foi" o que fiz, quis dizer. Você pode corrigir isso na minha mensagem anterior?

Você postou uma imagem na resposta anterior, mas tem um alerta de que não estou autorizado a ver ou baixar o arquivo.

Entendi sobre os bancos de dados. Não sabia que eram diferentes.

Tenho um arquivo autônomo de conexão, o qual chamo nos arquivos que usam o banco de dados. Então, posso excluir aquela variável?

Vou ver o link que você passou. Grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17613
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Server Status Code: 406 Not Acceptable

31-01-2017 13:20

Já corrigi o problema da mensagem de alerta para ver a imagem anexada.
A variável você só exclui se não for usar. Qualquer coisa posta o código de conexão que dou uma olhada.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Server Status Code: 406 Not Acceptable

31-01-2017 15:43

Beleza. Vou tentar fazer a variável como você mostrou. Qualquer coisa, postarei. Obrigado.
0
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Server Status Code: 406 Not Acceptable

19-04-2017 20:36

Na sua mensagem 8 você informou o código abaixo:

$nome = mysqli_real_escape_string($con, $_POST['nome']);

Vamos supor que o valor da variável, inicialmente, não será utilizado numa query, mas apenas para efeito de comparação. Entretanto, uma variável gerada nessa comparação possa ser utilizada numa query.

É importante tratar a variável mesmo nessa situação, para evitar que, através de alguma inserção indevida, se consiga alterar o comportamento do código que não uma consulta ao banco de dados, mas que possa ter reflexos, ou não, nessa consulta?

Esse código também pode ser usado para essa finalidade?

Você citou links para umas funções, mas não as compreendi bem.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17613
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Server Status Code: 406 Not Acceptable

20-04-2017 08:15

De preferência é sempre importante proteger a variável mesmo que não possa ser manipulada pelo usuário.

Já os links são filtros de variável pelo nome e pelo tipo.
A ideia de filtrar é verificar se a variável é do tipo desejado. Se não for bloqueia o valor para não passar adiante.

Tipo: email, número, texto, etc.

Ambas funções é importante considerar em caso de verificação de dados.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Server Status Code: 406 Not Acceptable

20-04-2017 11:44

Creio que entendi. Os filtros seriam como a validação de um formulário, por exemplo?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17613
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Server Status Code: 406 Not Acceptable

20-04-2017 14:56

Sim. Pode usar na validação. Como esse exemplo

if (filter_var('уникум@из.рф', FILTER_VALIDATE_EMAIL)) { echo 'VALID'; } else { echo 'NOT VALID'; }

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Server Status Code: 406 Not Acceptable

21-04-2017 09:20

É muita coisa na programação no sentido de segurança e prevenção. Estou perdido quanto ao que é razoável usar no princípio.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17613
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Server Status Code: 406 Not Acceptable

21-04-2017 18:22

Sempre começa pelo básico. Depois tira um tempo para testar a vulnerabilidade. Ai aplica a solução de acordo.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Server Status Code: 406 Not Acceptable

23-04-2017 16:24

Entendi. Obrigado. Estou aprendendo bastante aqui.
1

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado