mirror of
https://github.com/michaelrsweet/mxml.git
synced 2024-11-24 11:25:30 +00:00
Merge pull request #306 from DarkRelay-Security-Labs/DarkRelayLabs-AFL-feature
Implemented AFL Fuzzing
This commit is contained in:
commit
83e9b0a6bc
@ -411,6 +411,12 @@ testmxml-vg: $(LIBOBJS) testmxml.o
|
|||||||
|
|
||||||
testmxml.o: mxml.h
|
testmxml.o: mxml.h
|
||||||
|
|
||||||
|
# Fuzz-test the library <>
|
||||||
|
.PHONY: afl
|
||||||
|
afl:
|
||||||
|
$(MAKE) -$(MAKEFLAGS) CC="afl-clang-fast" COMMONFLAGS="-g" clean all
|
||||||
|
test afl-output || rm -rf afl-output
|
||||||
|
afl-fuzz -x xml.dict -i afl-input -o afl-output -V 600 -e xml -t 5000 ./testmxml @@ temps.xml
|
||||||
|
|
||||||
#
|
#
|
||||||
# Analyze code with the Clang static analyzer <https://clang-analyzer.llvm.org>
|
# Analyze code with the Clang static analyzer <https://clang-analyzer.llvm.org>
|
||||||
|
29
afl-input/test.xml
Normal file
29
afl-input/test.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<group>
|
||||||
|
<option>
|
||||||
|
<keyword type="opaque">InputSlot</keyword>
|
||||||
|
<default type="opaque">Auto</default>
|
||||||
|
<text>Media Source</text>
|
||||||
|
<order type="real">10.000000</order>
|
||||||
|
<choice>
|
||||||
|
<keyword type="opaque">Auto</keyword>
|
||||||
|
<text>Auto Tray Selection</text>
|
||||||
|
<code type="opaque" />
|
||||||
|
</choice>
|
||||||
|
<choice>
|
||||||
|
<keyword type="opaque">Upper</keyword>
|
||||||
|
<text>Tray 1</text>
|
||||||
|
<code type="opaque"><</MediaPosition 0>>setpagedevice</code>
|
||||||
|
</choice>
|
||||||
|
<choice>
|
||||||
|
<keyword type="opaque">Lower</keyword>
|
||||||
|
<text>Tray 2</text>
|
||||||
|
<code type="opaque"><</MediaPosition 1>>setpagedevice</code>
|
||||||
|
</choice>
|
||||||
|
</option>
|
||||||
|
<integer>123</integer>
|
||||||
|
<string>Now is the time for all good men to come to the aid of their
|
||||||
|
country.</string>
|
||||||
|
<!-- this is a comment -->
|
||||||
|
<![CDATA[this is CDATA 0123456789ABCDEF]]>
|
||||||
|
</group>
|
72
xml.dict
Normal file
72
xml.dict
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
#
|
||||||
|
# AFL dictionary for XML
|
||||||
|
# ----------------------
|
||||||
|
#
|
||||||
|
# Several basic syntax elements and attributes, modeled on libxml2.
|
||||||
|
#
|
||||||
|
# Created by Michal Zalewski <lcamtuf@google.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
attr_encoding=" encoding=\"1\""
|
||||||
|
attr_generic=" a=\"1\""
|
||||||
|
attr_href=" href=\"1\""
|
||||||
|
attr_standalone=" standalone=\"no\""
|
||||||
|
attr_version=" version=\"1\""
|
||||||
|
attr_xml_base=" xml:base=\"1\""
|
||||||
|
attr_xml_id=" xml:id=\"1\""
|
||||||
|
attr_xml_lang=" xml:lang=\"1\""
|
||||||
|
attr_xml_space=" xml:space=\"1\""
|
||||||
|
attr_xmlns=" xmlns=\"1\""
|
||||||
|
|
||||||
|
entity_builtin="<"
|
||||||
|
entity_decimal=""
|
||||||
|
entity_external="&a;"
|
||||||
|
entity_hex=""
|
||||||
|
|
||||||
|
string_any="ANY"
|
||||||
|
string_brackets="[]"
|
||||||
|
string_cdata="CDATA"
|
||||||
|
string_col_fallback=":fallback"
|
||||||
|
string_col_generic=":a"
|
||||||
|
string_col_include=":include"
|
||||||
|
string_dashes="--"
|
||||||
|
string_empty="EMPTY"
|
||||||
|
string_empty_dblquotes="\"\""
|
||||||
|
string_empty_quotes="''"
|
||||||
|
string_entities="ENTITIES"
|
||||||
|
string_entity="ENTITY"
|
||||||
|
string_fixed="#FIXED"
|
||||||
|
string_id="ID"
|
||||||
|
string_idref="IDREF"
|
||||||
|
string_idrefs="IDREFS"
|
||||||
|
string_implied="#IMPLIED"
|
||||||
|
string_nmtoken="NMTOKEN"
|
||||||
|
string_nmtokens="NMTOKENS"
|
||||||
|
string_notation="NOTATION"
|
||||||
|
string_parentheses="()"
|
||||||
|
string_pcdata="#PCDATA"
|
||||||
|
string_percent="%a"
|
||||||
|
string_public="PUBLIC"
|
||||||
|
string_required="#REQUIRED"
|
||||||
|
string_schema=":schema"
|
||||||
|
string_system="SYSTEM"
|
||||||
|
string_ucs4="UCS-4"
|
||||||
|
string_utf16="UTF-16"
|
||||||
|
string_utf8="UTF-8"
|
||||||
|
string_xmlns="xmlns:"
|
||||||
|
|
||||||
|
tag_attlist="<!ATTLIST"
|
||||||
|
tag_cdata="<![CDATA["
|
||||||
|
tag_close="</a>"
|
||||||
|
tag_doctype="<!DOCTYPE"
|
||||||
|
tag_element="<!ELEMENT"
|
||||||
|
tag_entity="<!ENTITY"
|
||||||
|
tag_ignore="<![IGNORE["
|
||||||
|
tag_include="<![INCLUDE["
|
||||||
|
tag_notation="<!NOTATION"
|
||||||
|
tag_open="<a>"
|
||||||
|
tag_open_close="<a />"
|
||||||
|
tag_open_exclamation="<!"
|
||||||
|
tag_open_q="<?"
|
||||||
|
tag_sq2_close="]]>"
|
||||||
|
tag_xml_q="<?xml?>"
|
Loading…
Reference in New Issue
Block a user