Code
- install.php ➔ initialize_inputs()
- install.php ➔ load_lang_file()
- install.php ➔ load_database()
- install.php ➔ installExit()
- install.php ➔ Welcome()
- install.php ➔ CheckFilesWritable()
- install.php ➔ DatabaseSettings()
- install.php ➔ ForumSettings()
- install.php ➔ DatabasePopulation()
- install.php ➔ AdminAccount()
- install.php ➔ updateSettingsFile()
- install.php ➔ updateDbLastError()
- install.php ➔ fixModSecurity()
- install.php ➔ template_install_above()
- install.php ➔ template_install_below()
- install.php ➔ template_welcome_message()
- install.php ➔ template_warning_divs()
- install.php ➔ template_chmod_files()
- install.php ➔ template_database_settings()
- install.php ➔ template_forum_settings()
- install.php ➔ template_populate_database()
- install.php ➔ template_admin_account()
- install.php ➔ template_delete_install()
- install.php ➔ DeleteInstall()

'location: http' . ($sec...fault/images/blank.png'can contain request data and is used in response header context(s) leading to a potential security vulnerability.1 path for user data to reach this point
HTTP_HOSTfrom$_SERVERin other/install.php on line 238
Response Splitting Attacks
Allowing an attacker to set a response header, opens your application to response splitting attacks; effectively allowing an attacker to send any response, he would like.
General Strategies to prevent injection
In general, it is advisable to prevent any user-data to reach this point. This can be done by white-listing certain values:
if ( ! in_array($value, array('this-is-allowed', 'and-this-too'), true)) { throw new \InvalidArgumentException('This input is not allowed.'); }For numeric data, we recommend to explicitly cast the data: