note 102603 added to function.class-alias
[email protected] Wed, 23 Feb 2011 22:26:44 -0800
| Newsgroups | php.notes |
|---|---|
| Message-ID | <[email protected]> |
paul [dot] kotets [at] gmail [dot] com:
I've got a nice code injection attack for your "replacement" function for class_alias:
<?php
if (!function_exists('class_alias')) {
function class_alias($original, $alias) {
eval('abstract class ' . $alias . ' extends ' . $original . ' {}');
}
}
$alias = 'some_class extends existingClass {function _print(){ print 1;}}; some_class::_print(); class my_class';
class_alias( 'existingClass', $alias );
// prints "1" - and thats safe!!! imagine what could be done if exploited.
?>
----
Server IP: 69.147.83.197
Probable Submitter: 58.167.252.166
----
Manual Page -- http://www.php.net/manual/en/function.class-alias.php
Edit -- https://master.php.net/note/edit/102603
Del: integrated -- https://master.php.net/note/delete/102603/integrated
Del: useless -- https://master.php.net/note/delete/102603/useless
Del: bad code -- https://master.php.net/note/delete/102603/bad+code
Del: spam -- https://master.php.net/note/delete/102603/spam
Del: non-english -- https://master.php.net/note/delete/102603/non-english
Del: in docs -- https://master.php.net/note/delete/102603/in+docs
Del: other reasons-- https://master.php.net/note/delete/102603
Reject -- https://master.php.net/note/reject/102603
Search -- https://master.php.net/manage/user-notes.php