first commit
This commit is contained in:
commit
2b76bd949e
32
table.sql
Normal file
32
table.sql
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
|
||||||
|
|
||||||
|
CREATE DATABASE `ctf-zetatech-inc`
|
||||||
|
|
||||||
|
CREATE USER 'cyber-zetatech-inc'@'localhost' IDENTIFIED BY 'wY7nhg7xnzmCcJbfz3Gf89qyU5cvpr';
|
||||||
|
|
||||||
|
GRANT SELECT ON `ctf-zetatech-inc`.* TO `cyber-zetatech-inc`@`localhost`;
|
||||||
|
|
||||||
|
FLUSH PRIVILEGES;
|
||||||
|
|
||||||
|
use ctf
|
||||||
|
|
||||||
|
CREATE TABLE `access` (
|
||||||
|
`id` int NOT NULL AUTO_INCREMENT,
|
||||||
|
`user` varchar(100) NOT NULL,
|
||||||
|
`password` varchar(100) NOT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO `access` (`user`, `password`)
|
||||||
|
VALUES (
|
||||||
|
'admin',
|
||||||
|
'e6c2d84527c9f0af9b6d6fe33fd987b6ef47360e335e71220201e72c4ac5ccf9'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO `access` (`user`, `password`)
|
||||||
|
VALUES (
|
||||||
|
'puppet-master',
|
||||||
|
'31e2d9e7ee8279341dee46986670996145a699937616fd03fe362426b5b47c25'
|
||||||
|
);
|
0
webroot/css/global.css
Normal file
0
webroot/css/global.css
Normal file
675
webroot/css/term.css
Normal file
675
webroot/css/term.css
Normal file
@ -0,0 +1,675 @@
|
|||||||
|
/* Source: https://codepen.io/remsrob/pen/ZRyqNx */
|
||||||
|
|
||||||
|
@import url(https://fonts.googleapis.com/css?family=Share+Tech+Mono);
|
||||||
|
.image-replacement {
|
||||||
|
text-indent: 100%;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden
|
||||||
|
}
|
||||||
|
|
||||||
|
span.amp {
|
||||||
|
font-family: Baskerville, 'Goudy Old Style', Palatino, 'Book Antiqua', serif !important;
|
||||||
|
font-style: italic
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
body,
|
||||||
|
html {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
height: 100%;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
color: #db0e15;
|
||||||
|
font-family: 'Share Tech Mono', monospace;
|
||||||
|
font-size: 26px;
|
||||||
|
font-weight: 300;
|
||||||
|
text-shadow: 0 0 5px rgba(219, 14, 21, .8);
|
||||||
|
background: url(../img/bg.png) #000;
|
||||||
|
position: relative;
|
||||||
|
height: 100vh
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
-webkit-transform: translate(0, -50%);
|
||||||
|
transform: translate(0, -50%)
|
||||||
|
}
|
||||||
|
|
||||||
|
.container.is-success {
|
||||||
|
-webkit-filter: hue-rotate(180deg) brightness(2.7);
|
||||||
|
filter: hue-rotate(180deg) brightness(2.7)
|
||||||
|
}
|
||||||
|
|
||||||
|
.screen::after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
background: url(../img/bottom.png) no-repeat center;
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 500px;
|
||||||
|
height: 28px
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
text-transform: uppercase;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1em;
|
||||||
|
font-weight: 300
|
||||||
|
}
|
||||||
|
|
||||||
|
.title::after,
|
||||||
|
.title::before {
|
||||||
|
content: '';
|
||||||
|
display: inline-block;
|
||||||
|
background: url(../img/top_outer.png);
|
||||||
|
width: 144px;
|
||||||
|
height: 20px;
|
||||||
|
margin: 0 20px
|
||||||
|
}
|
||||||
|
|
||||||
|
.container:not(.is-success) .title.is-success {
|
||||||
|
color: #22edfc
|
||||||
|
}
|
||||||
|
|
||||||
|
.box--outer {
|
||||||
|
position: relative;
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 90%;
|
||||||
|
max-width: 1080px;
|
||||||
|
border-top: #000 18px solid;
|
||||||
|
border-bottom: #000 18px solid;
|
||||||
|
-o-border-image: url(../img/hor_line.png) 17 11 17 round;
|
||||||
|
border-image: url(../img/hor_line.png) 17 11 17 round
|
||||||
|
}
|
||||||
|
|
||||||
|
.box {
|
||||||
|
display: inline-block;
|
||||||
|
text-transform: uppercase;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 1080px
|
||||||
|
}
|
||||||
|
|
||||||
|
.box--inner {
|
||||||
|
display: inline-block;
|
||||||
|
width: calc(100% - 105px);
|
||||||
|
max-width: 1010px
|
||||||
|
}
|
||||||
|
|
||||||
|
.box--inner::after,
|
||||||
|
.box--inner::before {
|
||||||
|
content: '';
|
||||||
|
display: inline-block;
|
||||||
|
background: url(../img/box_inner.png) no-repeat center;
|
||||||
|
max-width: 642px;
|
||||||
|
width: 100%;
|
||||||
|
height: 27px
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
max-height: 600px;
|
||||||
|
min-height: 400px;
|
||||||
|
height: 100%
|
||||||
|
}
|
||||||
|
|
||||||
|
.content .holder {
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
-webkit-transform: translate(0, -50%);
|
||||||
|
transform: translate(0, -50%)
|
||||||
|
}
|
||||||
|
|
||||||
|
.col.col__center,
|
||||||
|
.col.col__left {
|
||||||
|
display: inline-block
|
||||||
|
}
|
||||||
|
|
||||||
|
.col.col__left {
|
||||||
|
width: 130px
|
||||||
|
}
|
||||||
|
|
||||||
|
.col.col__center {
|
||||||
|
width: 350px;
|
||||||
|
margin-right: 130px
|
||||||
|
}
|
||||||
|
|
||||||
|
.label::after {
|
||||||
|
content: ':';
|
||||||
|
margin-left: -15px;
|
||||||
|
display: inline-block
|
||||||
|
}
|
||||||
|
|
||||||
|
#email,
|
||||||
|
#username,
|
||||||
|
#password {
|
||||||
|
border: 2px solid #d7001e;
|
||||||
|
margin: 10px 0;
|
||||||
|
padding: 10px;
|
||||||
|
width: auto;
|
||||||
|
max-width: 100%;
|
||||||
|
overflow: visible;
|
||||||
|
outline: 0;
|
||||||
|
background: 0 0;
|
||||||
|
color: inherit;
|
||||||
|
font: inherit;
|
||||||
|
line-height: normal
|
||||||
|
}
|
||||||
|
|
||||||
|
#email::-moz-selection,
|
||||||
|
#username::-moz-selection,
|
||||||
|
#password::-moz-selection {
|
||||||
|
background: #000
|
||||||
|
}
|
||||||
|
|
||||||
|
#email::selection,
|
||||||
|
#username::selection,
|
||||||
|
#password::selection {
|
||||||
|
background: #000
|
||||||
|
}
|
||||||
|
|
||||||
|
#login {
|
||||||
|
border: none;
|
||||||
|
margin: 20px;
|
||||||
|
padding: 10px 40px;
|
||||||
|
width: auto;
|
||||||
|
overflow: visible;
|
||||||
|
outline: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
background: 0 0;
|
||||||
|
color: inherit;
|
||||||
|
font: inherit;
|
||||||
|
line-height: normal;
|
||||||
|
-webkit-font-smoothing: inherit;
|
||||||
|
-moz-osx-font-smoothing: inherit;
|
||||||
|
-webkit-appearance: none;
|
||||||
|
background: rgba(219, 14, 21, .2);
|
||||||
|
text-transform: uppercase;
|
||||||
|
transition: .1s;
|
||||||
|
}
|
||||||
|
|
||||||
|
#login:hover,
|
||||||
|
#login:active {
|
||||||
|
background: rgba(219, 14, 21, .25);
|
||||||
|
}
|
||||||
|
|
||||||
|
#content em {
|
||||||
|
color: #c99c31;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width:1260px) {
|
||||||
|
.title::after,
|
||||||
|
.title::before {
|
||||||
|
width: 42px;
|
||||||
|
height: 18px
|
||||||
|
}
|
||||||
|
.col.col__center,
|
||||||
|
.col.col__left {
|
||||||
|
display: block;
|
||||||
|
width: auto;
|
||||||
|
margin: 0
|
||||||
|
}
|
||||||
|
.box--outer::after,
|
||||||
|
.box--outer::before {
|
||||||
|
display: none
|
||||||
|
}
|
||||||
|
.title::after,
|
||||||
|
.title::before {
|
||||||
|
margin: 0 5px
|
||||||
|
}
|
||||||
|
.content {
|
||||||
|
height: 440px
|
||||||
|
}
|
||||||
|
.box::after,
|
||||||
|
.box::before {
|
||||||
|
height: 500px
|
||||||
|
}
|
||||||
|
#login {
|
||||||
|
margin-bottom: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width:600px) {
|
||||||
|
.container {
|
||||||
|
font-size: .8em
|
||||||
|
}
|
||||||
|
.title::after,
|
||||||
|
.title::before {
|
||||||
|
width: 4%;
|
||||||
|
height: 18px
|
||||||
|
}
|
||||||
|
.box--outer {
|
||||||
|
-o-border-image: url(../img/hor_line.png) 17 330 17 round;
|
||||||
|
border-image: url(../img/hor_line.png) 17 330 17 round
|
||||||
|
}
|
||||||
|
.box::after,
|
||||||
|
.box::before {
|
||||||
|
width: 22px;
|
||||||
|
background: url(ver-line-mobile.png) no-repeat center;
|
||||||
|
background-size: contain
|
||||||
|
}
|
||||||
|
.box--inner {
|
||||||
|
width: calc(100% - 44px)
|
||||||
|
}
|
||||||
|
#email,
|
||||||
|
#username,
|
||||||
|
#password {
|
||||||
|
max-width: 70%
|
||||||
|
}
|
||||||
|
.screen::after {
|
||||||
|
max-width: 180px
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.flash {
|
||||||
|
-webkit-animation: flashText 1s ease-out alternate infinite;
|
||||||
|
animation: flashText 1s ease-out alternate infinite
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes flashText {
|
||||||
|
0% {
|
||||||
|
opacity: .3
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes flashText {
|
||||||
|
0% {
|
||||||
|
opacity: .3
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.typewriter .typewriter-line {
|
||||||
|
visibility: hidden
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes flicker {
|
||||||
|
0% {
|
||||||
|
opacity: .86139
|
||||||
|
}
|
||||||
|
5% {
|
||||||
|
opacity: .12793
|
||||||
|
}
|
||||||
|
10% {
|
||||||
|
opacity: .36759
|
||||||
|
}
|
||||||
|
15% {
|
||||||
|
opacity: .9766
|
||||||
|
}
|
||||||
|
20% {
|
||||||
|
opacity: .61364
|
||||||
|
}
|
||||||
|
25% {
|
||||||
|
opacity: .94477
|
||||||
|
}
|
||||||
|
30% {
|
||||||
|
opacity: .57811
|
||||||
|
}
|
||||||
|
35% {
|
||||||
|
opacity: .03416
|
||||||
|
}
|
||||||
|
40% {
|
||||||
|
opacity: .21835
|
||||||
|
}
|
||||||
|
45% {
|
||||||
|
opacity: .62054
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: .89452
|
||||||
|
}
|
||||||
|
55% {
|
||||||
|
opacity: .89997
|
||||||
|
}
|
||||||
|
60% {
|
||||||
|
opacity: .37872
|
||||||
|
}
|
||||||
|
65% {
|
||||||
|
opacity: .04929
|
||||||
|
}
|
||||||
|
70% {
|
||||||
|
opacity: .14477
|
||||||
|
}
|
||||||
|
75% {
|
||||||
|
opacity: .27512
|
||||||
|
}
|
||||||
|
80% {
|
||||||
|
opacity: .84701
|
||||||
|
}
|
||||||
|
85% {
|
||||||
|
opacity: .85952
|
||||||
|
}
|
||||||
|
90% {
|
||||||
|
opacity: .76553
|
||||||
|
}
|
||||||
|
95% {
|
||||||
|
opacity: .91372
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: .05536
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes flicker {
|
||||||
|
0% {
|
||||||
|
opacity: .86139
|
||||||
|
}
|
||||||
|
5% {
|
||||||
|
opacity: .12793
|
||||||
|
}
|
||||||
|
10% {
|
||||||
|
opacity: .36759
|
||||||
|
}
|
||||||
|
15% {
|
||||||
|
opacity: .9766
|
||||||
|
}
|
||||||
|
20% {
|
||||||
|
opacity: .61364
|
||||||
|
}
|
||||||
|
25% {
|
||||||
|
opacity: .94477
|
||||||
|
}
|
||||||
|
30% {
|
||||||
|
opacity: .57811
|
||||||
|
}
|
||||||
|
35% {
|
||||||
|
opacity: .03416
|
||||||
|
}
|
||||||
|
40% {
|
||||||
|
opacity: .21835
|
||||||
|
}
|
||||||
|
45% {
|
||||||
|
opacity: .62054
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: .89452
|
||||||
|
}
|
||||||
|
55% {
|
||||||
|
opacity: .89997
|
||||||
|
}
|
||||||
|
60% {
|
||||||
|
opacity: .37872
|
||||||
|
}
|
||||||
|
65% {
|
||||||
|
opacity: .04929
|
||||||
|
}
|
||||||
|
70% {
|
||||||
|
opacity: .14477
|
||||||
|
}
|
||||||
|
75% {
|
||||||
|
opacity: .27512
|
||||||
|
}
|
||||||
|
80% {
|
||||||
|
opacity: .84701
|
||||||
|
}
|
||||||
|
85% {
|
||||||
|
opacity: .85952
|
||||||
|
}
|
||||||
|
90% {
|
||||||
|
opacity: .76553
|
||||||
|
}
|
||||||
|
95% {
|
||||||
|
opacity: .91372
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: .05536
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes steady {
|
||||||
|
from {
|
||||||
|
background: rgba(255, 230, 230, .1)
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
background: rgba(49, 45, 45, .1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes steady {
|
||||||
|
from {
|
||||||
|
background: rgba(255, 230, 230, .1)
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
background: rgba(49, 45, 45, .1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden
|
||||||
|
}
|
||||||
|
|
||||||
|
body::after {
|
||||||
|
content: " ";
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
z-index: 2;
|
||||||
|
pointer-events: none;
|
||||||
|
background: rgba(49, 45, 45, .1);
|
||||||
|
opacity: 0;
|
||||||
|
pointer-events: none;
|
||||||
|
-webkit-animation: flicker .15s infinite, steady 4s;
|
||||||
|
animation: flicker .15s infinite, steady 4s
|
||||||
|
}
|
||||||
|
|
||||||
|
body.off {
|
||||||
|
background: #000
|
||||||
|
}
|
||||||
|
|
||||||
|
body.off::after {
|
||||||
|
-webkit-animation: none;
|
||||||
|
animation: none
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes turn-on {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: scale(1, .8) translate3d(0, 0, 0);
|
||||||
|
transform: scale(1, .8) translate3d(0, 0, 0);
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
5% {
|
||||||
|
-webkit-transform: scale(1.09139, 1.34235) translate3d(0, 100%, 0);
|
||||||
|
transform: scale(1.09139, 1.34235) translate3d(0, 100%, 0)
|
||||||
|
}
|
||||||
|
10% {
|
||||||
|
-webkit-transform: scale(.63084, 1.40698) translate3d(0, -100%, 0);
|
||||||
|
transform: scale(.63084, 1.40698) translate3d(0, -100%, 0)
|
||||||
|
}
|
||||||
|
15% {
|
||||||
|
-webkit-transform: scale(.75142, 1.34118) translate3d(0, 100%, 0);
|
||||||
|
transform: scale(.75142, 1.34118) translate3d(0, 100%, 0)
|
||||||
|
}
|
||||||
|
20% {
|
||||||
|
-webkit-transform: scale(.96173, 1.36858) translate3d(0, -100%, 0);
|
||||||
|
transform: scale(.96173, 1.36858) translate3d(0, -100%, 0)
|
||||||
|
}
|
||||||
|
25% {
|
||||||
|
-webkit-transform: scale(1.1348, 1.02729) translate3d(0, 100%, 0);
|
||||||
|
transform: scale(1.1348, 1.02729) translate3d(0, 100%, 0)
|
||||||
|
}
|
||||||
|
30% {
|
||||||
|
-webkit-transform: scale(.97038, .71092) translate3d(0, -100%, 0);
|
||||||
|
transform: scale(.97038, .71092) translate3d(0, -100%, 0)
|
||||||
|
}
|
||||||
|
35% {
|
||||||
|
-webkit-transform: scale(.6067, 1.31101) translate3d(0, 100%, 0);
|
||||||
|
transform: scale(.6067, 1.31101) translate3d(0, 100%, 0)
|
||||||
|
}
|
||||||
|
40% {
|
||||||
|
-webkit-transform: scale(.786, .9326) translate3d(0, -100%, 0);
|
||||||
|
transform: scale(.786, .9326) translate3d(0, -100%, 0)
|
||||||
|
}
|
||||||
|
45% {
|
||||||
|
-webkit-transform: scale(1.38602, 1.14399) translate3d(0, 100%, 0);
|
||||||
|
transform: scale(1.38602, 1.14399) translate3d(0, 100%, 0)
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
-webkit-transform: scale(.69973, .90412) translate3d(0, -100%, 0);
|
||||||
|
transform: scale(.69973, .90412) translate3d(0, -100%, 0)
|
||||||
|
}
|
||||||
|
51% {
|
||||||
|
-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
|
||||||
|
transform: scale(1, 1) translate3d(0, 0, 0);
|
||||||
|
-webkit-filter: brightness(1) saturate(1);
|
||||||
|
filter: brightness(1) saturate(1);
|
||||||
|
opacity: 0
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
|
||||||
|
transform: scale(1, 1) translate3d(0, 0, 0);
|
||||||
|
-webkit-filter: contrast(1) brightness(1.2) saturate(1.3);
|
||||||
|
filter: contrast(1) brightness(1.2) saturate(1.3);
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes turn-on {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: scale(1, .8) translate3d(0, 0, 0);
|
||||||
|
transform: scale(1, .8) translate3d(0, 0, 0);
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
5% {
|
||||||
|
-webkit-transform: scale(1.09139, 1.34235) translate3d(0, 100%, 0);
|
||||||
|
transform: scale(1.09139, 1.34235) translate3d(0, 100%, 0)
|
||||||
|
}
|
||||||
|
10% {
|
||||||
|
-webkit-transform: scale(.63084, 1.40698) translate3d(0, -100%, 0);
|
||||||
|
transform: scale(.63084, 1.40698) translate3d(0, -100%, 0)
|
||||||
|
}
|
||||||
|
15% {
|
||||||
|
-webkit-transform: scale(.75142, 1.34118) translate3d(0, 100%, 0);
|
||||||
|
transform: scale(.75142, 1.34118) translate3d(0, 100%, 0)
|
||||||
|
}
|
||||||
|
20% {
|
||||||
|
-webkit-transform: scale(.96173, 1.36858) translate3d(0, -100%, 0);
|
||||||
|
transform: scale(.96173, 1.36858) translate3d(0, -100%, 0)
|
||||||
|
}
|
||||||
|
25% {
|
||||||
|
-webkit-transform: scale(1.1348, 1.02729) translate3d(0, 100%, 0);
|
||||||
|
transform: scale(1.1348, 1.02729) translate3d(0, 100%, 0)
|
||||||
|
}
|
||||||
|
30% {
|
||||||
|
-webkit-transform: scale(.97038, .71092) translate3d(0, -100%, 0);
|
||||||
|
transform: scale(.97038, .71092) translate3d(0, -100%, 0)
|
||||||
|
}
|
||||||
|
35% {
|
||||||
|
-webkit-transform: scale(.6067, 1.31101) translate3d(0, 100%, 0);
|
||||||
|
transform: scale(.6067, 1.31101) translate3d(0, 100%, 0)
|
||||||
|
}
|
||||||
|
40% {
|
||||||
|
-webkit-transform: scale(.786, .9326) translate3d(0, -100%, 0);
|
||||||
|
transform: scale(.786, .9326) translate3d(0, -100%, 0)
|
||||||
|
}
|
||||||
|
45% {
|
||||||
|
-webkit-transform: scale(1.38602, 1.14399) translate3d(0, 100%, 0);
|
||||||
|
transform: scale(1.38602, 1.14399) translate3d(0, 100%, 0)
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
-webkit-transform: scale(.69973, .90412) translate3d(0, -100%, 0);
|
||||||
|
transform: scale(.69973, .90412) translate3d(0, -100%, 0)
|
||||||
|
}
|
||||||
|
51% {
|
||||||
|
-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
|
||||||
|
transform: scale(1, 1) translate3d(0, 0, 0);
|
||||||
|
-webkit-filter: brightness(1) saturate(1);
|
||||||
|
filter: brightness(1) saturate(1);
|
||||||
|
opacity: 0
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
|
||||||
|
transform: scale(1, 1) translate3d(0, 0, 0);
|
||||||
|
-webkit-filter: contrast(1) brightness(1.2) saturate(1.3);
|
||||||
|
filter: contrast(1) brightness(1.2) saturate(1.3);
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes turn-off {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: scale(1, 1.3) translate3d(0, 0, 0);
|
||||||
|
transform: scale(1, 1.3) translate3d(0, 0, 0);
|
||||||
|
-webkit-filter: brightness(1);
|
||||||
|
filter: brightness(1);
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
60% {
|
||||||
|
-webkit-transform: scale(1.3, .001) translate3d(0, 0, 0);
|
||||||
|
transform: scale(1.3, .001) translate3d(0, 0, 0);
|
||||||
|
-webkit-filter: brightness(10);
|
||||||
|
filter: brightness(10)
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
-webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
|
||||||
|
animation-timing-function: cubic-bezier(.755, .05, .855, .06);
|
||||||
|
-webkit-transform: scale(0, .0001) translate3d(0, 0, 0);
|
||||||
|
transform: scale(0, .0001) translate3d(0, 0, 0);
|
||||||
|
-webkit-filter: brightness(50);
|
||||||
|
filter: brightness(50)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes turn-off {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: scale(1, 1.3) translate3d(0, 0, 0);
|
||||||
|
transform: scale(1, 1.3) translate3d(0, 0, 0);
|
||||||
|
-webkit-filter: brightness(1);
|
||||||
|
filter: brightness(1);
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
60% {
|
||||||
|
-webkit-transform: scale(1.3, .001) translate3d(0, 0, 0);
|
||||||
|
transform: scale(1.3, .001) translate3d(0, 0, 0);
|
||||||
|
-webkit-filter: brightness(10);
|
||||||
|
filter: brightness(10)
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
-webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
|
||||||
|
animation-timing-function: cubic-bezier(.755, .05, .855, .06);
|
||||||
|
-webkit-transform: scale(0, .0001) translate3d(0, 0, 0);
|
||||||
|
transform: scale(0, .0001) translate3d(0, 0, 0);
|
||||||
|
-webkit-filter: brightness(50);
|
||||||
|
filter: brightness(50)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.screen {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border: none
|
||||||
|
}
|
||||||
|
|
||||||
|
.container.off>.screen {
|
||||||
|
-webkit-animation: turn-off .55s cubic-bezier(.23, 1, .32, 1);
|
||||||
|
animation: turn-off .55s cubic-bezier(.23, 1, .32, 1);
|
||||||
|
-webkit-animation-fill-mode: forwards;
|
||||||
|
animation-fill-mode: forwards
|
||||||
|
}
|
||||||
|
|
||||||
|
.container.on>.screen {
|
||||||
|
-webkit-animation: turn-on 2s linear;
|
||||||
|
animation: turn-on 2s linear;
|
||||||
|
-webkit-animation-fill-mode: forwards;
|
||||||
|
animation-fill-mode: forwards
|
||||||
|
}
|
BIN
webroot/img/bg.png
Normal file
BIN
webroot/img/bg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 961 B |
BIN
webroot/img/bottom.png
Normal file
BIN
webroot/img/bottom.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.8 KiB |
BIN
webroot/img/box_inner.png
Normal file
BIN
webroot/img/box_inner.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.4 KiB |
BIN
webroot/img/hor_line.png
Normal file
BIN
webroot/img/hor_line.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
BIN
webroot/img/top_outer.png
Normal file
BIN
webroot/img/top_outer.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 928 B |
62
webroot/index.html
Normal file
62
webroot/index.html
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<title>Zetatech — Connection</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="css/term.css">
|
||||||
|
<script src="js/jquery.js"></script>
|
||||||
|
<script src="js/login.js" type="text/javascript"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="">
|
||||||
|
<div class="container on">
|
||||||
|
<div class="screen">
|
||||||
|
<h3 class="title">
|
||||||
|
CONNECTION ESTABLISHED
|
||||||
|
</h3>
|
||||||
|
<div class="box--outer">
|
||||||
|
<div class="box">
|
||||||
|
<div class="box--inner">
|
||||||
|
<div class="content">
|
||||||
|
<div class="holder" id="content">
|
||||||
|
<b>Welcome to Zetatech cybernetic prosthetics management interface.</b><br>
|
||||||
|
Please enter your credentials.
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col col__left label">
|
||||||
|
Login
|
||||||
|
</div>
|
||||||
|
<div class="col col__center">
|
||||||
|
<input type="text" id="username" maxlength="32" value="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form method="post" action=".">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col col__left label">
|
||||||
|
Password
|
||||||
|
</div>
|
||||||
|
<div class="col col__center">
|
||||||
|
<input type="password" id="password" name="password" required="required" placeholder="" data-error="" maxlength="32" autocomplete="new-password"
|
||||||
|
autofocus="true" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<b class="flash" id="error">ACCESS DENIED</b>
|
||||||
|
<div class="row">
|
||||||
|
<button type="submit" id="login" name="login" value="Login">[login]</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
10364
webroot/js/jquery.js
vendored
Normal file
10364
webroot/js/jquery.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
36
webroot/js/login.js
Normal file
36
webroot/js/login.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
$("#error").css('display', 'inline', 'important');
|
||||||
|
$("#error").html("<br>");
|
||||||
|
|
||||||
|
$("#login").click(function(){
|
||||||
|
username=$("#username").val();
|
||||||
|
password=$("#password").val();
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "login.php",
|
||||||
|
data: "username="+username+"&password="+password+"&login=Login",
|
||||||
|
success: function(response) {
|
||||||
|
|
||||||
|
var answer = JSON.parse(response);
|
||||||
|
|
||||||
|
if(answer.return == 'true') {
|
||||||
|
$("#content").html(answer.string);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$("#error").html(answer.string);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
beforeSend: function() {
|
||||||
|
$("#error").html("Loading...");
|
||||||
|
},
|
||||||
|
|
||||||
|
error: function() {
|
||||||
|
$("#error").html("Error");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
72
webroot/login.php
Normal file
72
webroot/login.php
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (isset($_POST['login']) && $_POST['login'] == 'Login') {
|
||||||
|
if ( isset($_POST['username']) && !empty($_POST['username']) ) {
|
||||||
|
if ( isset($_POST['password']) && !empty($_POST['password']) ) {
|
||||||
|
|
||||||
|
$bdd = new mysqli("localhost", "cyber-zetatech-inc", "wY7nhg7xnzmCcJbfz3Gf89qyU5cvpr", "ctf-zetatech-inc");
|
||||||
|
if ($bdd->connect_errno) {
|
||||||
|
//echo "Echec lors de la connexion à MySQL : (" . $bdd->connect_errno . ") " . $bdd->connect_error;
|
||||||
|
|
||||||
|
$state->return = 'error';
|
||||||
|
$state->string = 'Connection error';
|
||||||
|
$state_json = json_encode($state);
|
||||||
|
echo $state_json;
|
||||||
|
}
|
||||||
|
|
||||||
|
$real_user = "puppet-master";
|
||||||
|
|
||||||
|
$user = $_POST['username'];
|
||||||
|
$pass = hash("sha256", $_POST['password']);
|
||||||
|
$sql = "SELECT user,password FROM access WHERE user='".$user."' AND password='".$pass."'";
|
||||||
|
//$sql = "SELECT user,password FROM access WHERE user='admin' OR 1=1 LIMIT 1 OFFSET 1";// AND password='".$pass."'";;
|
||||||
|
|
||||||
|
// curl -X POST http://localhost/netrunner/login.php -d "password=admiefn&login=Login&username=admin' OR 1 LIMIT 1 OFFSET 1 #"
|
||||||
|
|
||||||
|
//echo "\n";
|
||||||
|
//echo $sql;
|
||||||
|
//echo "\n\n";
|
||||||
|
|
||||||
|
$res = mysqli_query($bdd, $sql);
|
||||||
|
|
||||||
|
$num_row = mysqli_num_rows($res);
|
||||||
|
$row=mysqli_fetch_assoc($res);
|
||||||
|
//print_r($row);
|
||||||
|
|
||||||
|
if ($_POST['username'] === "admin") {
|
||||||
|
$state->return = 'false';
|
||||||
|
$state->string = 'admin is desactivated. Use your login.';
|
||||||
|
|
||||||
|
} elseif ( $num_row == 1 && $row['user'] === $real_user) {
|
||||||
|
$state->return = 'true';
|
||||||
|
$html_login = "<b>Welcome to your admin board <em>".$row['user']."</em></b> <br> <br>
|
||||||
|
An error occurred while connecting to your implant <br> [Zetatech Neural Processor MK.II].
|
||||||
|
<br> <br>
|
||||||
|
Please approach a Zetatech center for an analysis.
|
||||||
|
<br> <br>
|
||||||
|
IMTLD{w3b_1nT3rf4ceS_4r3_3v1L}";
|
||||||
|
$state->string = $html_login;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$state->return = 'false';
|
||||||
|
$state->string = 'Access Denied';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$state->return = 'password';
|
||||||
|
$state->string = 'Password Missing';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$state->return = 'username';
|
||||||
|
$state->string = 'Username Missing';
|
||||||
|
}
|
||||||
|
|
||||||
|
$state_json = json_encode($state);
|
||||||
|
echo $state_json;
|
||||||
|
|
||||||
|
} else { // DEBUG
|
||||||
|
$state->return = 'form';
|
||||||
|
$state->string = 'Submit form';
|
||||||
|
$state_json = json_encode($state);
|
||||||
|
echo $state_json;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user