2016-03-14 3 views
1

Я пытаюсь дезинфицировать переменные GET, но Accuncrix по-прежнему жалуется.Sanitizing GET Request и результат сканирования

Поэтому я посещаю страницу, а URL содержит параметры. Я передаю эти параметры между страницами. Для этого я что-то вроде следующего

<a class="navbar-brand" href="https://someDomain/someFolder/someFile.php?WT.var1=<?php echo $_GET['WT_var1']; ?>&var2=<?php echo $_GET['var2']; ?>&var3=<?php echo $_GET['var3']; ?>&var4=<?php echo $_GET['var4']; ?>" title="logo"><img src="logo.png"></a> 

У меня есть много ссылок, как это на странице, и когда я первый побежал страницу он был восприимчив к поперечному скриптингу, потому что я не санировать ГЮ Запросы. Поэтому в верхней части страницы я положил

<?php 
    $_GET['WT_var1'] = htmlspecialchars($_GET['WT_var1']); 
    $_GET['var2'] = htmlspecialchars($_GET['var2']); 
    $_GET['var3'] = htmlspecialchars($_GET['var3']); 
    $_GET['var4'] = htmlspecialchars($_GET['var4']); 
?> 

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

URL encoded GET input WT.var1 was set to 1}body{acu:Expre/**/SSion(prompt(926954))} 
The input is reflected inside a text element. 

И эксплойт выглядит так

/someFolder/someFile.php?WT.var1=1%7dbody%7bacu:Expre/**/SSion(prompt(941830))%7d&var2=&var3=&var4= 

Это не показывает облагороженная URL, хотя? Это что-то мне нужно исправить или это ложно/отрицательно?

Благодаря

ответ

2

htmlspecialchars() кодирует переменную для вывода в виде содержания в HTML-страницы. Если вам нужно передать свои переменные по URL-адресу, вам нужно urlencode(().

Так, например:

...someFolder/someFile.php?WT.var1=<?php echo urlencode($_GET['WT_var1']); ?>&var2... 
+0

ли я до сих пор держать htmlspecialchars на месте или удалить все это вместе? thanks –

+1

@kate_hudson Вы должны удалить его как общее правило очистки и использовать его только при эхо-тексте в браузере, где он является частью содержимого страницы. Например, содержимое внутри тега абзаца. – jeroen