Changes for page Engine_XalanJ
on 2012/01/11 23:21
on 2012/01/10 11:23
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 1 added, 2 removed)
Details
- Page properties
-
- Content
-
... ... @@ -5,17 +5,16 @@ 5 5 6 6 1.0 7 7 8 + 8 8 == Command line == 9 9 10 10 $> java org.apache.xalan.xslt.Process -in foo.xml -xsl foo.xsl 11 11 12 -__Note__ : xml-apis.jar, xercesImpl.jar and xalan*.jar must be in the $CLASSPATH 13 - 14 14 == Identification strings == 15 15 16 -| =xsl:vendor-url|http:~/~/xml.apache.org/xalan-j17 -| =xsl:vendor|Apache Software Foundation18 -| =xsl:version|1.015 +| xsl:vendor-url|http:~/~/xml.apache.org/xalan-j 16 +| xsl:vendor|Apache Software Foundation 17 +| xsl:version|1.0 19 19 20 20 == Special features == 21 21 ... ... @@ -22,32 +22,67 @@ 22 22 * File creation 23 23 * Code execution 24 24 * JDBC connectivity 25 -* Java properties disclosure26 -* Javaenvironment disclosure24 +* Java properties 25 +* CheckEnv() 27 27 28 -== Java properties disclosure==27 +== CheckEnv() == 29 29 30 -The xsl:system-property() standard function can becalledwithnonstandardarguments,mappedtoJava properties.29 +The following code will display some information about the execution context : 31 31 32 -|=Namespace|=Extension function|=PoC|=Sample output 33 -|http:~/~/xml.apache.org/xalan|checkEnvironment()|[[xalanj-checkenv.xsl>>attach:xalanj-checkenv.xsl]]|[[xalanj-checkenv-output.txt>>attach:xalanj-checkenv-output.txt]] 31 +[[checkenv.xsl>>attach:checkenv.xsl]] 34 34 35 - == Java environment disclosure ==33 +TODO 36 36 37 - ThecheckEnvironment() extension function (documented[[here>>http://xml.apache.org/xalan-j/faq.html#faq-N10064||rel="__blank"]]) will display some information about the execution context (packages, paths, versions, ...).35 +=== Code === 38 38 39 -|=Namespace|=Extension function|=PoC|=Sample output 40 -|http:~/~/xml.apache.org/xalan|checkEnvironment()|[[xalanj-checkenv.xsl>>attach:xalanj-checkenv.xsl]]|[[xalanj-checkenv-output.txt>>attach:xalanj-checkenv-output.txt]] 37 +##<?xml version="1.0"?> 38 +<xsl:stylesheet xmlns:xsl="http:~/~/www.w3.org/1999/XSL/Transform" 39 + xmlns:xalan="http:~/~/xml.apache.org/xalan" 40 + exclude-result-prefixes="xalan" 41 + version="1.0">## 41 41 42 -== Java code execution == 43 + <xsl:output indent="yes"/> 44 + <xsl:template match="/"> 45 + (% style="color:red" %)<xsl:copy-of select="xalan:checkEnvironment()"/> 43 43 44 -The attached code will display the current date using a newly created "java.util.Date" object. This should be enough to demonstrate Java code execution. 47 + </xsl:template> 48 +\\</xsl:stylesheet> 45 45 50 +=== Output === 46 46 47 -|=Namespace|=Extension function|=PoC|=Sample output 48 -|http:~/~/xml.apache.org/xalan/java/java.util.Date|new()|[[xalanj-java-date.xsl>>attach:xalanj-java-date.xsl]]|Current date: 49 -Wed Jan 11 22:45:07 CET 2012 52 +<?xml version="1.0" encoding="UTF-8"?><checkEnvironmentExtension> 53 +<EnvironmentCheck version="$Revision$"> 54 +<environment> 55 +<item key="version.DOM.draftlevel">2.0fd</item> 56 +<item key="java.class.path">:/usr/share/java/xalan2.jar:/usr/share/java/xml-apis.jar:/usr/share/java/xercesImpl.jar:/usr/share/java/xalan25.jar:/usr/share/java/bsf-2.4.0.jar</item> 57 +<item key="version.JAXP">1.1 or higher</item> 58 +<item key="java.ext.dirs">/usr/lib/jvm/java-6-openjdk/jre/lib/ext:/usr/java/packages/lib/ext</item> 59 +<item key="version.xerces2">Xerces-J 2.9.1</item> 60 +<item key="version.xerces1">not-present</item> 61 +<item key="version.xalan2_2">Xalan Java 2.7.1</item> 62 +<item key="version.xalan1">not-present</item> 63 +<item key="version.ant">not-present</item> 64 +<item key="java.version">1.6.0_20</item> 65 +<item key="version.DOM">2.0</item> 66 +<item key="version.crimson">not-present</item> 67 +<item key="sun.boot.class.path">/usr/lib/jvm/java-6-openjdk/jre/lib/resources.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/jsse.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/jce.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/charsets.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/netx.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/plugin.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/rhino.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/modules/jdk.boot.jar:/usr/lib/jvm/java-6-openjdk/jre/classes</item> 68 +<foundJar desc="apis.jar-apparent.version" name="xml">xml-apis.jar present-unknown-version</foundJar> 69 +<foundJar desc="apis.jar-path" name="xml">/usr/share/java/xml-apis.jar</foundJar> 70 +<foundJar desc="apparent.version" name="xercesImpl.jar">xercesImpl.jar WARNING.present-unknown-version</foundJar> 71 +<foundJar desc="path" name="xercesImpl.jar">/usr/share/java/xercesImpl.jar</foundJar> 72 +<item key="version.SAX">2.0</item> 73 +<item key="version.xalan2x">Xalan Java 2.7.1</item> 74 +</environment> 75 +<status result="OK"/> 76 +</EnvironmentCheck> 77 +</checkEnvironmentExtension> 50 50 79 +== Java code execution == 80 + 81 +The following code will display the current date : 82 + 83 +TODO 84 + 51 51 == Execution of external commands == 52 52 53 53 The following code will execute the command "touch /tmp/hello" :
- xalanj-checkenv-output.txt
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.NicolasGregoire - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.5 KB - Content
-
... ... @@ -1,31 +1,0 @@ 1 -<?xml version="1.0" encoding="UTF-8"?><checkEnvironmentExtension> 2 - <EnvironmentCheck version="$Revision$"> 3 - <environment> 4 - <item key="version.DOM.draftlevel">2.0fd</item> 5 - <item key="java.class.path">/usr/share/java/xalan2.jar:/usr/share/java/xml-apis.jar:/usr/share/java/xercesImpl.jar:/usr/share/java/serializer.jar:/usr/share/java/xsltc.jar</item> 6 - <item key="version.JAXP">1.1 or higher</item> 7 - <item key="java.ext.dirs">/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/ext:/usr/java/packages/lib/ext</item> 8 - <item key="version.xerces2">Xerces-J 2.9.1</item> 9 - <item key="version.xerces1">not-present</item> 10 - <item key="version.xalan2_2">Xalan Java 2.7.1</item> 11 - <item key="version.xalan1">not-present</item> 12 - <item key="version.ant">not-present</item> 13 - <item key="java.version">1.6.0_26</item> 14 - <item key="version.DOM">2.0</item> 15 - <item key="version.crimson">not-present</item> 16 - <item key="sun.boot.class.path">/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/resources.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/rt.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/jsse.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/jce.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/charsets.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/modules/jdk.boot.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/classes</item> 17 - <foundJar desc="apis.jar-apparent.version" name="xml">xml-apis.jar present-unknown-version</foundJar> 18 - <foundJar desc="apis.jar-path" name="xml">/usr/share/java/xml-apis.jar</foundJar> 19 - <foundJar desc="apparent.version" name="xercesImpl.jar">xercesImpl.jar WARNING.present-unknown-version</foundJar> 20 - <foundJar desc="path" name="xercesImpl.jar">/usr/share/java/xercesImpl.jar</foundJar> 21 - <foundJar desc="apparent.version" name="serializer.jar">serializer.jar present-unknown-version</foundJar> 22 - <foundJar desc="path" name="serializer.jar">/usr/share/java/serializer.jar</foundJar> 23 - <foundJar desc="apparent.version" name="xsltc.jar">xsltc.jar present-unknown-version</foundJar> 24 - <foundJar desc="path" name="xsltc.jar">/usr/share/java/xsltc.jar</foundJar> 25 - <item key="version.SAX">2.0</item> 26 - <item key="version.xalan2x">Xalan Java 2.7.1</item> 27 - </environment> 28 - <status result="OK"/> 29 - </EnvironmentCheck> 30 -</checkEnvironmentExtension> 31 -
- xalanj-checkenv.xsl
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.NicolasGregoire - Size
-
... ... @@ -1,1 +1,0 @@ 1 -310 bytes - Content
-
... ... @@ -1,11 +1,0 @@ 1 -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 2 - xmlns:xalan="http://xml.apache.org/xalan" 3 - version="1.0"> 4 - 5 - <xsl:output method="xml" indent="yes" xalan:indent-amount="4"/> 6 - <xsl:template match="/"> 7 - <xsl:copy-of select="xalan:checkEnvironment()"/> 8 - </xsl:template> 9 - 10 -</xsl:stylesheet> 11 -
- checkenv.xsl
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.NicolasGregoire - Size
-
... ... @@ -1,0 +1,1 @@ 1 +324 bytes - Content
-
... ... @@ -1,0 +1,14 @@ 1 +<?xml version="1.0"?> 2 + 3 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 + xmlns:xalan="http://xml.apache.org/xalan" 5 + exclude-result-prefixes="xalan" 6 + version="1.0"> 7 + 8 + <xsl:output indent="yes"/> 9 + <xsl:template match="/"> 10 + <xsl:copy-of select="xalan:checkEnvironment()"/> 11 + </xsl:template> 12 + 13 +</xsl:stylesheet> 14 +