* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
Para explorar esse tipo de vulnerabilidade, você precisa ser capaz de armazenar tags xsl no lado do servidor e, em seguida, acessar esse conteúdo. Um exemplo desse tipo de vulnerabilidade pode ser encontrado em [https://www.gosecure.net/blog/2019/05/02/esi-injection-part-2-abusing-specific-implementations/](https://www.gosecure.net/blog/2019/05/02/esi-injection-part-2-abusing-specific-implementations/)
Este método é semelhante ao anterior, mas em vez de usar a função `system()`, usamos a função `assert()`. A função `assert()` é usada para verificar se uma expressão é verdadeira ou falsa. Se a expressão for falsa, a função irá gerar um erro fatal e o script irá parar. Se a expressão for verdadeira, a função não fará nada.
O código abaixo usa a função `assert()` para executar o comando `var_dump(scandir('/'))`. O resultado será impresso na página.
```php
<?php
assert(var_dump(scandir('/')) || false);
?>
```
Este método é útil quando a função `system()` está desabilitada, mas a função `assert()` está habilitada. No entanto, é importante lembrar que a função `assert()` pode ser desabilitada em algumas configurações do PHP.
XXE (External Entity Injection) é uma vulnerabilidade que permite que um invasor leia arquivos no servidor. No entanto, em alguns casos, o invasor pode não ter acesso direto ao servidor, mas pode explorar a vulnerabilidade XXE para ler arquivos internos do servidor.
Isso é possível porque o XML pode incluir entidades externas que podem ser carregadas a partir de um URL. Se o servidor estiver configurado para permitir o acesso a recursos internos, o invasor pode explorar essa vulnerabilidade para ler arquivos internos do servidor.
Para explorar essa vulnerabilidade, o invasor precisa enviar um XML malicioso que inclua uma entidade externa que aponte para um arquivo interno do servidor. O servidor tentará carregar o arquivo e, se o invasor tiver sucesso, ele poderá ler o conteúdo do arquivo.
Para se proteger contra essa vulnerabilidade, é importante configurar o servidor para não permitir o acesso a recursos internos. Além disso, é importante validar todas as entradas XML para garantir que elas não contenham entidades externas maliciosas.
Xalan-J é uma implementação do processador XSLT em Java. Ele suporta extensões Java que podem ser usadas em folhas de estilo XSLT. Essas extensões permitem que o processador XSLT chame funções Java definidas pelo usuário durante a transformação. As extensões Java são carregadas dinamicamente pelo processador XSLT durante a transformação.
As extensões Java são definidas em um arquivo JAR separado que é carregado pelo processador XSLT. O arquivo JAR deve conter uma classe que implementa a interface org.apache.xalan.extensions.ExtensionHandler. Essa classe é responsável por manipular as chamadas de função Java feitas pelo processador XSLT.
Um atacante pode explorar uma vulnerabilidade de injeção de código XSLT para carregar uma extensão Java maliciosa durante a transformação. A extensão Java maliciosa pode ser usada para executar código arbitrário no contexto do processo do servidor XSLT. Isso pode levar a um comprometimento completo do servidor.
Para evitar a injeção de código XSLT, é importante validar todas as entradas do usuário que são usadas em folhas de estilo XSLT. As entradas do usuário devem ser validadas para garantir que elas não contenham código malicioso. Além disso, as extensões Java devem ser desativadas ou restritas a um conjunto limitado de classes confiáveis.
**Nesta página, você pode encontrar exemplos de RCE em outras linguagens:** [**https://vulncat.fortify.com/en/detail?id=desc.dataflow.java.xslt\_injection#C%23%2FVB.NET%2FASP.NET**](https://vulncat.fortify.com/en/detail?id=desc.dataflow.java.xslt\_injection#C%23%2FVB.NET%2FASP.NET) **(C#, Java, PHP)**
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.