PDA

Просмотр полной версии : Уязвимость в Php


ОТЕЦ
27.09.2006, 20:10
Уязвимость связанная с некорректной обработкой функции mysql_error() при обработке результатов SQL-запросов, пишет uinc.ru. Используя эту уязвимость, вы можите передать подобной функции некорректные параметры и, в случае, если результаты передаются пользователю, можно вызвать CSS (Cross Site Scripting). Уязвимости подвержены версии PHP4 < 4.4.4 PHP5 < 5.1.6.
описание уязвимости:
mysql_error() can lead to Cross Site Scripting attacks
================================================== ======
Affected.scr..: PHP4 <= 4.4.4 PHP5 <= 5.1.6
Advisory.ID...: 11060920
Risk.level....: Low
Vendor.Status.: Unpatched
Src.download..: http://www.php.net/
Adv.link......: acid-root.new.fr/advisories/11060920.txt
================================================== ======


==[ OVERVIEW
============
PHP: Hypertext Preprocessor is an open source server side
programming language extensively used for web scripts and to
process data passed via the Common Gateway Interface from
HTML forms etc. PHP can be written as scripts that reside on
the server and may produce HTML output that downloads to the
web browser. Alternatively, PHP can be embedded within HTML
pages that are then saved with a .php file extension. The PHP
sections of the page are then parsed by the PHP engine on the
server and the PHP code stripped out before the page is
downloaded to the web browser. The name is a bit of a
programming joke (if there is sucha thing) since it's a
recursive acronym i.e. the P in PHP stands for PHP.


==[ DETAILS
===========
The goal of the mysql_error() function is to return the error
text from the last MySQL function. This function can lead to
Cross Site Scripting attacks. To conduct this attack, some
parameters are required. If an mysql function use a bad parameter
provided by the attacker and if the mysql_error() result is
returned to the user, this can be exploited to conduct Cross
Site Scripting attack. This can be useful if the attacker has
a restricted access to an mysql function.


==[ POC/EXPLOIT
===============
<?php //?db=<script>alert(666)</script>
$link = mysql_connect("localhost", "root", "");
mysql_select_db($db, $link);
echo mysql_errno($link) . ": " . mysql_error($link). "\n";
?>


==[ LINKS
=========
Mysql functions list.: http://www.php.net/manual/en/ref.mysql.php
Discussion on php.net: http://bugs.php.net/bug.php?id=38733


==[ SOLUTION
============
No response from PHP Team.


==[ TIMELINE
============
06. Sept. 2006 - Vendor contacted
20. Sept. 2006 - Public disclosure


==[ CONTACT
===========
Author: DarkFig
Web...: www.acid-root.new.fr
E-mail: gmdarkfig gmail com (fr/en)

blackybr
27.09.2006, 20:21
угу.. т.е. имея доступ к заливке пхп скрипта на серв, мы можем вызвать ксс.. очень нужная вещь )

k1b0rg
27.09.2006, 21:19
sql+xss есть такая бяка

blackybr
27.09.2006, 21:36
2k1b0rg ты про ту что в ксакепе описывали?
ну ды ксудя по тому описанию можно было провести обычную ксс... зачем мутить юнион селект + ксс. мб конечно я не особо воткнул, но по-моему бредово