Посмотрите printf
параметры и подставьте их вручную,
(39
— одинарная кавычка, '
и 10
— новая строка \n
при интерпретации как %c
), поэтому $a
начинаются как
$a=%c%s%c;printf($a,39,$a,39,10);%c
становится (заменены символы, отмеченные ниже, на ^
)
$a='%s%c;printf($a,39,$a,39,10);%c
^ (first %c replaced)
$a='$a=%c%s%c;printf($a,39,$a,39,10);%c%c;printf($a,39,$a,39,10);%c
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (%s replaced)
$a='$a=%c%s%c;printf($a,39,$a,39,10);%c';printf($a,39,$a,39,10);%c
^ (second %c replaced)
и наконец
$a='$a=%c%s%c;printf($a,39,$a,39,10);%c';printf($a,39,$a,39,10);\n
(last %c replaced) ^^
person
mpapec
schedule
10.10.2013