A command is a string which is evaluated by a command processor. The most general form for a command is:
!command_processor_class_name
argument
...argument
where command_processor_class_name
is the fully qualified name of the Java™ class which implements the command processor (implements interface com.xmlmind.xmleditapp.genericincl.Processor
).
Out of the box, XXE comes with two command processors:
This command processor allows to execute shell commands (i.e. shell scripts or .bat
files).
Example:
!com.xmlmind.xmleditapp.genericincl.ShellExec %C/date.sh
However typing "!com.xmlmind.xmleditapp.genericincl.ShellExec
" is very tedious, that's why when "!command_processor_class_name
" is missing, this is equivalent to having a "!com.xmlmind.xmleditapp.genericincl.ShellExec
" prefix:
%C/date.sh
This command processor allows to include all or part of text files.
Example:
!com.xmlmind.xmleditapp.genericincl.Verbatim programlisting main.c
However typing "!com.xmlmind.xmleditapp.genericincl.Verbatim
" is very tedious, that's why "!!
" is equivalent to having a "!com.xmlmind.xmleditapp.genericincl.Verbatim
" prefix:
!! programlisting main.c