Uma ferramenta de análise estática para PHP.
Pseudo-excluir o código PHP para detectar vulnerabilidades.
Tem os seguintes recursos:
As seguintes vulnerabilidades podem ser verificadas:
Os resultados do teste são emitidos como relatórios HTML.
O relatório de inspeção descreve a rota da chamada do ponto em que o valor de entrada do usuário é atribuído primeiro ao ponto em que é usado em uma função perigosa.
Foi confirmado para funcionar nos seguintes ambientes:
A execução gradlew build cria o diretório PhpScan-1.0-SNAPSHOT.
Este exemplo explica como inspecionar um plug-in CMS.
phpscan-1.0-SNAPSHOT/bin/phpscan for executado, ele inspecionará os arquivos PHP no diretório do plug-in.As configurações de operação são feitas usando o Setting.Properties.
Especifica o caminho para o diretório em que os arquivos PHP a serem inspecionados estão localizados.
Você deve inserir o Entry_Point_Path ou o Entry_Point_Parent_Path.
Usado quando existem múltiplos entrada_point_paths.
Você pode inspecionar o grupo Entry_Point_Path colocando o grupo Entry_Point_Path em um diretório e especificando o caminho do diretório nesta entrada.
Por exemplo, se você deseja inspecionar vários plugins ao mesmo tempo, especifique o caminho para o diretório em que os diretórios do plug -in estão localizados.
Você deve inserir o Entry_Point_Path ou o Entry_Point_Parent_Path.
Especifique o caminho para o diretório em que os arquivos PHP necessários para executar o arquivo php a serem inspecionados estão localizados.
Os arquivos PHP neste diretório não estão sujeitos a inspeção.
Por exemplo, se você estiver inspecionando um plug-in CMS, especifique o caminho para o diretório no próprio CMS neste item.
Se não estiver especificado, um dos valores Entry_Point_Path e ENTRADE_POINT_PARENT_PATH é usado.
Especifique o caminho para o arquivo php.ini.
Estes são campos necessários.
Especifique o caminho do arquivo de texto que contém o caminho do arquivo php a ser excluído da inspeção.
Especifique os caminhos a serem excluídos da verificação usando expressões regulares.
Vários itens podem ser especificados separados por vírgulas.
Especifique o nome da função se o seu aplicativo implementar sua própria função que escape de uma string em uma instrução SQL.
Vários itens podem ser especificados separados por vírgulas.
Especifique o nome da função se o seu aplicativo implementar sua própria função que escapa de strings HTML.
Vários itens podem ser especificados separados por vírgulas.
Especifica as categorias de vulnerabilidades a serem excluídas da inspeção.
A categoria especificada não será exibida no relatório de inspeção.
Os valores possíveis são os seguintes:
Vários itens podem ser especificados separados por vírgulas.
Isso lista a extensão reconhecida como um arquivo php.
Vários itens podem ser especificados separados por vírgulas.
Se não for especificado, duas extensões, PHP e INC, serão reconhecidas como arquivos PHP.
Especifica a estrutura, o CMS que o aplicativo está usando.
Ao especificar isso, você pode melhorar a abrangência do teste.
Os valores possíveis são os seguintes:
Vários itens podem ser especificados separados por vírgulas.
Todas as vulnerabilidades listadas nos sites a seguir, itens relacionados ao PHP foram descobertos no PhpScan.
http://jvndb.jvn.jp/search/index.php?mode=_vulnerability_search_ia_vulnsearch&lang=ja&useSynony=1&keywork=%90%f3%88%E4%81%40%8C%92
Não é compatível com os recursos do PHP7.
Este software é lançado sob a licença do MIT, consulte License.txt.