PHP Security – Nem tudo que é publicado deve ser seguido
Enviado por Wagner Elias (weliasΘconviso·com·br):
“Uma análise de códigos publicados em um livro de segurança em php que possuem falhas. Os códigos possuem falhas que podem passar desapercebidos por programadores menos experientes, mas que são um prato cheio para usuários mal intencionados. Uma lição de que é necessário validar as fontes e questionar o que lhe apresentam como solução.” [referência: wagnerelias.com]
• Publicado por Augusto Campos em
2010-03-05
Eu continuo sendo da opinião que PHP só deveria ser permitido sobre a estrita vigilância de programadores experientes.
É que qualquer pseudo-especialista pode publicar um livro e dizer que é especialista, principalmente quando o livro é grosso e/ou é escrito em inglês.
Já vi isso acontecer com livros de Java também, onde o cara escreve que separar a lógica de negócio num bean numa página JSP com a tag jsp:useBean é errado e ainda por cima bota um monte de comandos SQL no meio do código.
Se não me engano, acho que as versões mais recentes do PHP faz a limpeza automático das super globals, get, post…
PHP é igual Windows. Sua segurança depende diretamente do conhecimento de quem usa.
Rapaz, a gente às vezes se ilude mesmo, principalmente quando somos novatos no negócio. Alguns anos atrás, quando comecei com Java, tudo que eu lia sobre ele era “totalmente seguro” e tal, mas… depois vi que a coisa não é bem assim. Continuo com o Java mas não deixo a porta aberta =D.
Nao li o livro, mas o artigo tambem nao esta correto.
O _SERVER nao pode ser manipulado pelo usuario remotamente, sendo que ele eh gerado pelo web server:
http://php.net/manual/en/reserved.variables.server.php
O uso do SCRIPT_NAME eh recomendado pelo manual do PHP:
” ‘SCRIPT_NAME’
Contains the current script’s path. This is useful for pages which need to point to themselves. The __FILE__ constant contains the full path and filename of the current (i.e. included) file.”
Sobre o salt, a implementacao deles eh correta. Inclusive eh desse modo que varios sistemas funcionam (como o proprio Linux e suas senhas).
[Modo Pasquale ON]
s/desapercebidos/despercebidas/g
[Modo Pasquale OFF]
http://www.priberam.pt/DLPO/default.aspx?pal=despercebido
http://www.priberam.pt/DLPO/default.aspx?pal=desapercebido
Também não podemos levar a sério o que foi dito por ele nesse post.
1 – Uso de variáveis Super Globals do Php sem sanitização – página 77
Estou cético que NESSE exemplo isso seja uma vulnerabilidade.
@Welington Braga
Depende, pois se for o PHP4 até posso concordar, mas o PHP5 a história fica um pouco diferente.
Entretanto o que você disse também não foge muito das JSP de java.