Как исправить эксплойты в PHP?

У нас есть кто-то, кто использует наш веб-сайт и предоставляет средства для совершения покупок, фактически не внося деньги. При запуске сканера Vega для поиска уязвимостей кажется, что почти на всех наших страницах открыты эксплойты для внедрения в оболочку.

Программа говорит, что следующие 2 запроса (в основном на любой странице, потому что этот код PHP находится в header.php) делают нас уязвимыми.

GET /web-hosting.php?cid=1`true`
GET /web-hosting.php?cid=1"`true`"GET /style.css?1=null`true`
GET /style.css?1=null"`true`"

Глядя на код header.php, я заметил, что связанные CSS-файлы имеют после них «? 1». Я не кодировал этот сайт, поэтому я не уверен, что они присутствовали всегда, но нет веских причин для размещения этого параметра там? Кажется, это просто открывает нам возможности для подвигов.

<link rel="stylesheet" type="text/css" href="reset.css?1" />
<link rel="stylesheet" type="text/css" href="style.css?1" />
<link rel="stylesheet" type="text/css" href="style-custom.css?1" />

РЕДАКТИРОВАТЬ

Вот код, который используется в заголовке, который принимает в качестве параметра cid.php.

<?php
// Enter WHMCS Folder location  eg "whmcs"$location = "customers";require("".$location."/dbconnect.php");
if (isset($_REQUEST['cid'])) $_SESSION['currency'] = $_REQUEST['cid'];

?>

Я не слишком знаком с инъекциями оболочки, однако я не совсем понимаю, как это имеет смысл. Я попытался ввести URL в браузере, но он только что загрузил страницу. Что они на самом деле делают и как их можно исправить?

2

Решение

Вы можете попробовать отфильтровать входные данные (что вы всегда должны делать в любом случае). MySQL Real Escape String, приведенная ниже, скоро станет устаревшим кодом, но пока может работать. http://php.net/manual/en/function.mysql-real-escape-string.php

<?php
//...
if (isset($_REQUEST['cid']))
$_SESSION['currency'] = mysql_real_escape_string($_REQUEST['cid']);

?>

Вы можете захотеть отфильтровать переменную cid, убедившись, что она не слишком длинная, не содержит специальных символов, соответствует шаблону и т. Д.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]