> For the complete documentation index, see [llms.txt](https://blog.s1rn3tz.ovh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blog.s1rn3tz.ovh/pentest-web/analyse-statique/perl.md).

# Perl

## Identifier les entrées utilisateurs

| Fonction                         | Description                                                                                                                                                                                                                         |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>param </p><p>param\_fetch</p> | <p>Appelé sans paramètre, param renvoie la liste des noms de paramètres de la requête.<br><br>Appelé avec un nom de paramètre, il renvoie la valeur de celui-ci.<br><br>param\_fetch renvoie un tableau des noms de paramètres.</p> |
| Vars                             | Renvoie un mappage de hachage des noms de paramètres aux valeurs                                                                                                                                                                    |
| <p>cookie </p><p>raw\_cookie</p> | <p>Permet de définir et recevoir la valeur d'un nom de cookie.<br><br>raw\_cookie permet de recevoir la valeur brute de l'en-tête Cookie: sans aucun parsing.</p>                                                                   |
| <p>self\_url </p><p>url</p>      | Retourne l'url courante.                                                                                                                                                                                                            |
| query\_string                    | Retourne la chaîne de caractères complète de la requête.                                                                                                                                                                            |
| referer                          | Retourne la valeur de l'en-tête Referer:                                                                                                                                                                                            |
| request\_method                  | Retourne la méthode HTTP de la requête                                                                                                                                                                                              |
| user\_agent                      | Retourne la valeur de l'en-tête User-Agent:                                                                                                                                                                                         |
| <p>http </p><p>https</p>         | Retourne la liste des variables d'environnement découlant de la requête.                                                                                                                                                            |
| ReadParse                        | Créé un tableau nommé %in contenant les noms et valeurs de chaque paramètres de la requête.                                                                                                                                         |

## SQLi

Vérifier les interaction avec la / les base(s) de donées via les commandes:

* DBI
* ODBC
* SQL
* SELECT
* EXECUTE
* QUERY
* INSERT

## Path traversal

* open()
* sysopen()

## LFI

* require()
* do()

## OS injection

* open()
* system()
* exec()
* qx
* le bactick (\`)

## Execution de code dynamique

* eval()
* /e

## XSS

Vérifier **l'absence** des methodes suivantes:

* HTML::Entities::encode()
* URI::Escape::uri\_encode()
* HTML::Entities
* URI::Escape
* Apache::TaintRequest
