Mostrando postagens com marcador PHP. Mostrar todas as postagens
Mostrando postagens com marcador PHP. Mostrar todas as postagens

quinta-feira, 11 de junho de 2015

Boa tarde pessoal, venho aqui hoje explicar para vocês um pouco sobre expressões regulares , quero tirar algumas das dúvidas, pois muitos ainda tem muita dificuldade quando trabalham com isto , tanto em ambiente de servidores com htaccess ou quando estão trabalhando com programação PHP.

Estarei criando um pequeno post para vocês sobre este assunto , e desmistificar um pouco sobre o assunto.

As expressões regulares servem para uma infinidade de tarefas , é difícil trazer uma lista , pois elas são uteis sempre que você precisar validar um padrão de texto que pode ser uma variável como:

 Data, horário , número de IP, endereço de e-mail , endereço de internet , nome de usuario e senha , etc ...

E mais uma infinidade de outros padrões.

Expressões regulares são muito usados no ambiente de segurança da informação para identificar padrões de ataques por SQL , XSS ou alguma coisa do tipo , relacionado ao ambiente WEB.

Um exemplo prático:

Você tem uma lista diária de acesso de usuários que entraram em seu sistema, onde consta , em cada linha , o horário de acesso e o login do usuário, algo como:

04:10 ernesto
08:30 ricardo
10:32 patricia
14:59 gabriel
16:27 carla
22:23 marcelo

Como fazer para buscar automaticamente apenas os usuários que acessaram o sistema apenas no periodo da tarde?

Você tem várias opções, desde procurar uma a uma manualmente, ou criar um programa que compare os primeiros 5 caracteres de cada linha , criando uma comparação , mas falando de algo prático e rápido, com expressão regular isto seria apenas.

^1[2-8].

e o problema estaria resolvido.

No fim das contas as expressões regulares facilitam muito na agilidade de desenvolvimento e na segurança também , o que também ajuda na questão do processamento back-end do servidor o que deixa ele muito mais leve.


para não se aprolongar neste post , eu estarei dando continuação dele , explicando como funciona cada simbolo, e como criar expressões regulares de forma eficaz , melhorando assim o desempenho de servidores.

quinta-feira, 21 de maio de 2015



Falha que afeta sistemas com PHP permite uma injeção SQL no banco de dados.

Resumo


Programas afetados: PHP Collab, XAMPP, Apache, MySQL

Sistemas afetados: Windows

Versões afetadas: Windows (7,Server 2008, Server 2012), PHP (5.x), XAMPP (todas), Apache (todas), MySQL (todas)

Solução


Aguardar uma atualização e/ou desativar o recurso.

Explorando


1- Usando a "dork" abaixo é possível encontrar os sites possivelmente vulneráveis

filetype:php inurl:"/general/login.php?PHPSESSID="

2- Navegue até

http://site.alvo/phpcollab/topics/deletetopics.php?project=

3- Execute uma injeção de SQL ou use o link em um programa para esse fim



"Conhecimento não é crime, crime é o que você faz com ele."

quinta-feira, 17 de julho de 2014

RIPS é uma ferramenta desenvolvida para encontrar vulnerabilidades em aplicações PHP usando análise de código estático. O RIPS pode detectar desde funções vulneráveis até tentativas de usuários maliciosos de alterar o código a construção da aplicação.

A ferramenta está atualmente com o desenvolvimento interrompido, uma nova versão está sendo trabalhada mas apenas como protótipo acadêmico no momento, não disponível publicamente, mas mesmo assim vale dar uma olhada no que tem disponível.

Segue algumas features da ferramenta que está pública no momento:

vulnerabilities
  • Code Execution
  • Command Execution
  • Cross-Site Scripting
  • Header Injection
  • File Disclosure
  • File Inclusion
  • File Manipulation
  • LDAP Injection
  • SQL Injection
  • Unserialize with POP
  • XPath Injection
  • ... other
code audit interface
  • scan and vulnerability statistics
  • grouped vulnerable code lines (bottom up or top down)
  • vulnerability description with example code, PoC, patch
  • exploit creator
  • file list and graph (connected by includes)
  • function list and graph (connected by calls)
  • userinput list (application parameters)
  • source code viewer with highlighting
  • active jumping between function calls
  • search through code by regular expression
  • 8 syntax highlighting designs
  • ... much more
static code analysis
  • fast
  • tokenizing with PHP tokenizer extension
  • taint analysis for 232 sensitive sinks
  • inter- and intraprocedural analysis
  • handles very PHP-specific behaviour
  • handles user-defined securing
  • reconstruct file inclusions
  • detect blind/non-blind exploitation
  • detect backdoors
  • 5 verbosity levels
  • over 100 testcases
  • ... much more
Para mais informações visite a página oficial do RIPS.

quinta-feira, 16 de maio de 2013

Olá!

A alguns dias eu postei varias aplicações web vulneráveis para testar e aprender com elas, mas a maioria das perguntas que chegaram foi "como que eu acesso elas". Para resolver essas dúvidas estou criando esse post, ensinando como criar um servidor LAMP para "hospedar" localmente suas aplicações.


Vamos precisar de:

  • Debian/Ubuntu based distro
  • Apache 2 - Linux Web serve
  • MySQL 5 - MySQL Database Server
  • PHP4/5 - PHP Scripting Language
  • phpMyAdmin - Web-based database admin software.

Antes de começar, saiba que um Servidor LAMP quer dizer Linux + Apache + MySQL + PHP/Perl together.

Primeiramente, vamos preparar o sistema operacional para nosso servidor. Vou usar nesse tuto uma distro Linux baseada em Debian/Ubuntu. Pode usar uma vm para o servidor e outra para o atacante, funciona bem. O servidor pode ter apenas 256MB de RAM, não precisaremos mais que isso. Esse é o mínimo, se quiser pode usar mais, menos que isso o MySQL começará a mandar erros.

Vamos fazer toda a instalação pelo apt-get, com isso, poupamos tempo e não temos que nos preocupar com problemas de instalação, configurações e dependencias de pacote. Antes de vermos os comandos, saiba que isto vai fazer seu site ser acessível apenas internamente, para que ele seja acessível para toda a internet você precisa de um servidor dedicado.

E vamos então aos comandos. Usaremos praticamente só terminal para instalar e configurar tudo. O primeiro comando é para nos certificar que está tudo certinho com o sistema, e caso falte algo baixar os pacotes necessários do Debian. Para isso usaremos o comando:

apt-get update

Instalando Apache + PHP


O Apache é um dos mais famosos servidores web para Linux, com apenas alguns comandos conseguiremos configurar o apache para rodar com PHP 4 ou PHP 5.

Se você quiser instalar o PHP 4 use o seguinte comando:
apt-get install apache2 php4 libapache2-mod-php4

Para instalar o PHP5, use o mesmo comando, mudando apenas o "4"pelo "5". O comando ficará assim:
apt-get install apache2 php5 libapache2-mod-php5

O arquivo de configuração do Apache fica no diretório /etc/apache2/apache2.conf e o diretório do seu site em /var/www.

Para testar se o php está instalado e funcionando, crie um arquivo chamado teste.php na pasta /var/www com a função phpinfo() exatamente como mostrado abaixo:
vim /var/www/test.php
# test.php
<?php phpinfo(); ?>


Para saber se funcionou, no browser, digite http://seu_ip/teste.php, se tudo estiver correto você verá todas as configurações default do seu php.

Instalando Banco de Dados MySQL


Quase sempre um banco de dados é necessário para uma aplicação web. Lembrando, use mais de 256MB de RAM para evitar problemas. O seguinte comando instala o servidor e o cliente MySQL:
apt-get install mysql-server mysql-client php5-mysql

Nota: Se você instalou anteriormente o php4, você terá que fazer uma pequena modificação no comando:

apt-get install mysql-server mysql-client php4-mysql



O arquivo de configuração do mysql fica no diretório /etc/mysql/my.conf.


Criando usuários e mudando a senha do root no MySQL


Por default o mysql cria um usuário root sem senha, você precisa mudar isso!

Para mudar a senha:

mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD('nova-senha') WHERE user='root';
mysql> FLUSH PRIVILEGES;

Nunca use o root, sempre crie um usuário para conectar ao banco em um script PHP. Você também pode fazer isso por um painel, como o phpMyAdmin para criar e mudar facilmente permissões de usuário, vamos instalar o phpmyadmin no decorrer dessa configuração.

Instalação do phpMyAdmin


PhpMyAdmin é uma interface web muito boa para organizar e administrar bancos de dados com o apache. Administrar bancos de dados é muito mais fácil com o phpmyadmin do que com tabelas, colunas e tudo mais do terminal, caso preferir pode seguir pela interface web.

Tudo o que precisamos fazer é digitar o comando:
apt-get install phpmyadmin

O arquivo de configuração do phpmyadmin está do diretório /etc/phpmyadmin.

Para que tudo funcione no apache precisamos adicionar uma linha ao arquivo /etc/apache2/apache2.conf:

Include /etc/phpmyadmin/apache.conf

Agora reinicie o apache com o seguinte comando:
/etc/init.d/apache2 restart

Para acessar o painel do phpMyAdmin acesse http://seu_ip/phpmyadmin

E era isso! MySQL e phpMyAdmin estão funcionando também. Agora é só configurar suas aplicações e começar seus estudos!

Para mais informações acesse: http://www.mysql-apache-php.com/

Bons estudos!
Subscribe to RSS Feed Follow me on Twitter!