Compare commits

..

113 Commits

Author SHA1 Message Date
jelly Tomas
5059041ec7 Batman added 2026-05-31 13:05:19 +01:00
vasco
9b38b6385b erros de formatcao 2026-05-30 22:05:26 +01:00
vasco
bd0f136ccc pdf 2026-05-30 22:02:31 +01:00
vasco
21c9633755 relatorio 2026-05-30 21:38:33 +01:00
vasco
6cd77929f4 introducao 2026-05-29 20:45:43 +01:00
2b76e850a5 Testes Realizados sem Firewall 2026-05-28 13:02:16 -04:00
vasco
2f44f7327d mais coisas 2026-05-26 14:24:13 +01:00
vasco
8ee1c901fe movi webserver para o firewall 2026-05-26 13:37:17 +01:00
vasco
b4ff1c0018 owasp zap 2026-05-23 20:14:21 +01:00
vasco
7a5767ef64 fix 2026-05-23 14:24:00 +01:00
vasco
ddcaf33130 fix? 2026-05-23 13:20:24 +01:00
vasco
a20876fb1e web server fix 2026-05-23 13:01:06 +01:00
vasco
e38f655080 comeÃo 2026-05-18 11:45:48 +01:00
vasco
66534a1648 assignment 3 enunciado 2026-05-11 11:38:51 +01:00
vasco
b03a6987f4 entrega 2026-05-11 11:20:47 +01:00
jelly Tomas
e0fa8291fe I am chudding out 2026-05-03 11:29:26 +01:00
jelly Tomas
3225a90f1e I am chudding out 2026-05-03 11:28:49 +01:00
jelly Tomas
553f6ece60 I am such a chub. *splaps big fat belly.* 2026-05-02 22:44:49 +01:00
jelly Tomas
0c1bade0f2 I am such a chud. 2026-05-01 23:39:16 +01:00
jelly Tomas
f8597d72f9 Fuck...... 2026-05-01 22:55:07 +01:00
jelly Tomas
c277f65fb5 Cooked. 2026-04-29 20:34:13 +01:00
Vasco
9656c2bee4 oops 2026-04-28 17:42:17 +01:00
Vasco
96c9666a89 praying 2026-04-28 16:11:26 +01:00
jelly Tomas
1de30d80d0 FIXED 2026-04-28 12:55:30 +01:00
Vasco
288b10550c kill me 2026-04-28 11:20:26 +01:00
Vasco
0b337a2117 fixed? 2026-04-28 00:53:37 +01:00
Vasco
37bb4821e3 fix 2026-04-28 00:45:26 +01:00
Vasco
79d62754a3 merginton 2026-04-28 00:19:02 +01:00
Vasco
7cae69b945 OCSP atualizado 2026-04-28 00:18:28 +01:00
jelly Tomas
c175b85239 Fuck... 2026-04-28 00:04:30 +01:00
jelly Tomas
c31c4602f2 Fuck... 2026-04-28 00:04:02 +01:00
Vasco
10e2db0f38 grupo totp 2026-04-27 23:24:27 +01:00
Vasco
53e24aa2ea http redirect 2026-04-27 22:24:14 +01:00
Vasco
a0fbbe210d relatorio: vpn gateway 2026-04-27 20:44:27 +01:00
Vasco
ddb5ad81ac hmmmm4 2026-04-27 13:21:58 +01:00
jelly Tomas
5bd7355e8b I guess its a merge 2026-04-25 21:07:05 +01:00
jelly Tomas
f1f40e9ebb Changed one line 2026-04-25 21:06:27 +01:00
Vasco
ebc05382b3 EURETHRA! 2026-04-25 19:11:44 +01:00
Vasco
eb5a014949 npsec 2026-04-25 18:13:21 +01:00
Vasco
457018b127 www 2026-04-25 17:28:37 +01:00
Vasco
790c789610 merge 2026-04-24 18:42:23 +01:00
Vasco
123a4cb709 hmm 2026-04-24 17:40:03 +01:00
jelly Tomas
2e16b804ab Writers block or smth, ainda existe muito para escrever. 2026-04-24 15:37:04 +01:00
Vasco
9693c4a859 realtorio 2026-04-24 10:43:48 +01:00
Vasco
c06084aa8b undo previous commit hehehehe 2026-04-22 18:27:06 +01:00
Vasco
561bbbe171 fix apache totp selinux block 2026-04-22 18:19:16 +01:00
Vasco
5cc9f603a8 add o+x to homes 2026-04-22 18:11:15 +01:00
Vasco
ad8617fefe the wisdom of the shadows 2026-04-22 18:07:31 +01:00
Vasco
2ad2e4b8e1 slop request off 2026-04-22 17:53:04 +01:00
Vasco
01b38bf47f perms apache 2026-04-22 17:47:52 +01:00
Vasco
809f96ff0e wisdom of the shadows 2026-04-22 16:57:21 +01:00
Vasco
ee4f5568a1 like a boss 2026-04-22 15:16:03 +01:00
Vasco
7c6b8336ee the dying breath of john caveman 2026-04-22 15:10:39 +01:00
Vasco
9d6ec092f4 user.p12 2026-04-22 14:08:35 +01:00
Vasco
5a8ad798f2 apache key 2026-04-22 13:34:09 +01:00
Vasco
d1ca71e53d Movi apache para a maquina openssl 2026-04-22 13:32:08 +01:00
Vasco
2fefeed0fe oopsie daysie 2026-04-22 11:51:49 +01:00
Vasco
cb8ad725ce read 2026-04-22 11:25:36 +01:00
Vasco
1d466a368f OPENSSL !!!!!!! 2026-04-22 00:24:07 +01:00
Vasco
4bac977a45 fixed the fix???? 2026-04-22 00:19:36 +01:00
Vasco
0e21c22502 tls_serial_0 2026-04-22 00:15:32 +01:00
Vasco
30937e1fcc debug ocsp 2026-04-22 00:11:52 +01:00
Vasco
1d068380db oscp-verifty 2026-04-22 00:03:42 +01:00
Vasco
d3e54464db revoked 2026-04-21 23:59:46 +01:00
Vasco
d5566090c6 openssl 2026-04-21 23:46:06 +01:00
Vasco
5eb56f0477 oops 2026-04-21 23:12:58 +01:00
Vasco
21a4fb5d08 hmm3 2026-04-21 23:06:47 +01:00
Vasco
445c99b10e fix?? 2026-04-21 22:49:43 +01:00
Vasco
8d1992c597 fixed? 2026-04-21 22:27:02 +01:00
Vasco
f8b9d52a96 totp 2026-04-21 21:48:31 +01:00
Vasco
97c8b30452 ya 2026-04-21 21:17:31 +01:00
Vasco
936cbd530a ?? 2026-04-21 20:19:25 +01:00
Vasco
d662860af4 asd 2026-04-21 20:06:24 +01:00
Vasco
e0b10c03db ??????????????????????????????????? 2026-04-21 19:52:57 +01:00
Vasco
2fd925c6c0 login 2026-04-21 19:37:54 +01:00
Vasco
c125f4953e hmmm 2026-04-21 19:30:33 +01:00
Vasco
2c864e8aff bulklshit 2026-04-21 19:10:24 +01:00
Vasco
4e11935a19 im gonna cooooomimmit 2026-04-21 18:28:46 +01:00
Vasco
89a172f16f :q 2026-04-21 18:22:46 +01:00
Vasco
745ba69267 - -> . 2026-04-21 18:20:33 +01:00
Vasco
bc89bd5f2b 2^6 2026-04-21 18:17:49 +01:00
Vasco
c0855251fe shenanigansf 2026-04-21 18:09:25 +01:00
Vasco
1643c542b1 road warorrr 2026-04-21 12:42:56 +01:00
Vasco
af0673223b hmm2 2026-04-21 11:59:45 +01:00
Vasco
911528df00 hmm 2026-04-21 11:13:20 +01:00
Vasco
0e47a30082 RAWR XD warrior 2026-04-20 15:10:07 +01:00
Vasco
29b693c8a6 dh2048 2026-04-20 13:05:20 +01:00
Vasco
772e31f432 sudo touch kids 2026-04-20 12:40:51 +01:00
Vasco
ad19cb5997 fixed everything 2026-04-20 12:22:01 +01:00
Vasco
7a488811fe ca 2026-04-20 12:12:14 +01:00
Vasco
104d2d5070 vpn.conf 2026-04-20 11:15:10 +01:00
Vasco
e56634a027 spreading misinformation 2026-04-19 23:23:22 +01:00
Vasco
f03caf7a35 le interfaces 2026-04-19 23:21:36 +01:00
Vasco
e3337475e0 assignmet2 2026-04-19 21:38:12 +01:00
Vasco
f392ed42a9 assignment 2 2026-04-19 21:37:35 +01:00
vascoalvesxyz
ce074907d0 mergeee!! 2026-03-24 11:08:52 +00:00
vascoalvesxyz
a032cdea75 variables 2026-03-24 11:07:33 +00:00
jelly Tomas
992a2b90d1 Skibidi 2026-03-24 10:42:09 +00:00
vascoalvesxyz
2c9dfe11f9 entrega com pgp 2026-03-22 22:33:12 +00:00
vascoalvesxyz
cec9177566 r 2026-03-22 22:27:09 +00:00
vascoalvesxyz
51c5d2acc1 relatorio 2026-03-22 22:25:47 +00:00
jelly Tomas
1db4072c19 Relatorio v2 2026-03-22 20:41:08 +00:00
jelly Tomas
21d519289d Changed -o to -i in line 58 2026-03-22 20:06:08 +00:00
vascoalvesxyz
597f95e078 merge 2026-03-22 15:48:50 +00:00
jelly Tomas
3124e6977a First draft of relatorio 2026-03-22 13:21:05 +00:00
jelly Tomas
330a08f01d Suricata and rules should be done, changed the --sport to dport on most of them 2026-03-22 10:50:23 +00:00
root
9852a3f21b Merge branch 'main' of https://git.vascoalves.xyz/vasco/FSI 2026-03-22 10:46:03 +00:00
root
e407142f66 Suricata done 2026-03-22 10:41:11 +00:00
vascoalvesxyz
16c7cc4e00 retard 2026-03-21 20:38:13 +00:00
jelly Tomas
cd05757575 Actually done, now going to suricata this guy. 2026-03-21 19:43:15 +00:00
jelly Tomas
79be50b220 Should be the final before suricata, v4 2026-03-21 19:17:12 +00:00
jelly Tomas
1f99e5d28a Should be the final before suricata, v4 2026-03-21 18:38:11 +00:00
jelly Tomas
4e873db749 Should be the final before suricata, v3 FUCK 2026-03-21 18:23:13 +00:00
184 changed files with 48985 additions and 160 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
*.log
*.aux

18
CLIENT.sh Normal file
View File

@@ -0,0 +1,18 @@
#/bin/bash
# CONFIGURACAO DO CLIENTE
# (KALI LINUX)
function instalar() {
apt list installed "$1" &>/dev/null && echo "$1 já instalado" || sudo apt install -y "$1"
}
IP="20.60.0.2"
sudo ifconfig eth1 $IP netmask 255.255.255.0
sudo route add default gw 20.60.0.1
sudo apt update
instalar zaproxy
# exploits

6
README.md Normal file
View File

@@ -0,0 +1,6 @@
# Coisas para leres que sao fixes wowowowowowow !!!!! (Assignment 2)
- Os slides (duh)
- Okay o mais importante é os slides.
- [X.509 (ssl.com)](https://www.ssl.com/faqs/what-is-an-x-509-certificate/)
- [X.509 (youtube)](https://www.youtube.com/watch?v=kAaIYRJoJkc)

View File

@@ -1,69 +0,0 @@
IF_DMZ="enp0s8"
IF_INT="enp0s9"
IF_EXT="enp0s10"
NET_DMZ="23.214.219.128/25"
NET_INT="192.168.10.0/24"
IP_EXT_FW="87.248.214.97"
IP_DMZ_FW="23.214.219.254"
IP_INT_FW="192.168.10.254"
IP_DMZ_DNS="23.214.219.130"
IP_DMZ_SMTP="23.214.219.131"
IP_DMZ_WWW="23.214.219.132"
IP_DMZ_VPN_GW="23.214.219.133"
IP_DMZ_MAIL="23.214.219.134"
IP_INT_FTP="192.168.10.2"
IP_INT_DATASTORE="192.168.10.3"
IP_DNS2="193.137.16.75"
IP_EDEN="193.136.212.1"
sudo yum install epel-release -y
sudo yum install suricata -y
sudo suricata-update
sudo ifconfig $IF_DMZ $IP_DMZ_FW netmask 255.255.255.128
sudo ifconfig $IF_INT $IP_INT_FW netmask 255.255.255.0
sudo ifconfig $IF_EXT $IP_EXT_FW netmask 255.255.255.0
sudo iptables -F
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
sudo modprobe nf_conntrack_ftp
sudo modprobe nf_nat_ftp
sudo iptables -A FORWARD -j NFQUEUE --queue-num 0
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT
sudo iptables -A INPUT -i $IF_INT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -i $IF_DMZ -s $IP_DMZ_VPN_GW -p tcp --dport 22 -j ACCEPT
sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A FORWARD -p udp -d $IP_DMZ_DNS --dport 53 -j ACCEPT
sudo iptables -A FORWARD -s $IP_DMZ_DNS -d $IP_DNS2 -p tcp --dport 53 -j ACCEPT
sudo iptables -A FORWARD -s $IP_DNS2 -d $IP_DMZ_DNS -p tcp --dport 53 -j ACCEPT
sudo iptables -A FORWARD -p tcp -d $IP_DMZ_SMTP --dport 25 -j ACCEPT
sudo iptables -A FORWARD -p tcp -d $IP_DMZ_MAIL --dport 110 -j ACCEPT
sudo iptables -A FORWARD -p tcp -d $IP_DMZ_MAIL --dport 143 -j ACCEPT
sudo iptables -A FORWARD -p tcp -d $IP_DMZ_WWW -m multiport --dports 80,443 -j ACCEPT
sudo iptables -A FORWARD -p udp -d $IP_DMZ_VPN_GW --dport 1194 -j ACCEPT
sudo iptables -A FORWARD -i $IF_DMZ -s $IP_DMZ_VPN_GW -d $NET_INT -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s $NET_INT -o $IF_EXT -j SNAT --to-source $IP_EXT_FW
sudo iptables -A FORWARD -i $IF_INT -o $IF_EXT -p udp --dport 53 -j ACCEPT
sudo iptables -A FORWARD -i $IF_INT -o $IF_EXT -p tcp -m multiport --dports 80,443,22,21 -j ACCEPT
sudo iptables -t nat -A PREROUTING -i $IF_EXT -d $IP_EXT_FW -p tcp --dport 21 -j DNAT --to-destination $IP_INT_FTP
sudo iptables -A FORWARD -i $IF_EXT -d $IP_INT_FTP -p tcp --dport 21 -j ACCEPT
sudo iptables -t nat -A PREROUTING -i $IF_EXT -s $IP_EDEN -d $IP_EXT_FW -p tcp --dport 22 -j DNAT --to-destination $IP_INT_DATASTORE
sudo iptables -t nat -A PREROUTING -i $IF_EXT -s $IP_DNS2 -d $IP_EXT_FW -p tcp --dport 22 -j DNAT --to-destination $IP_INT_DATASTORE
sudo iptables -A FORWARD -i $IF_EXT -d $IP_INT_DATASTORE -p tcp --dport 22 -j ACCEPT

63
SERVER.sh Normal file
View File

@@ -0,0 +1,63 @@
#!/bin/bash
# SERVIDOR INTERNO
# (CentOS 9)
alias "s"="sudo systemctl"
function instalar() {
yum list installed "$1" &>/dev/null && echo "$1 já instalado" || sudo yum install -y "$1"
}
IP_EXTERNAL="20.60.0.1"
IP_INTERNAL="10.60.0.1"
sudo ifconfig enp0s8 $IP_EXTERNAL netmask 255.255.255.0
sudo ifconfig enp0s9 $IP_INTERNAL netmask 255.255.255.0
# instalar packages
if ! command -v node &> /dev/null || [[ "$(node -v)" != v24.* ]]; then
echo "Configurando repositório do Node.js 24..."
curl -fsSL https://rpm.nodesource.com/setup_24.x | sudo bash -
sudo yum remove -y nodejs
fi
instalar nodejs
# instalar mod security e apache
instalar epel-release
instalar httpd
instalar mod_security
instalar mod_security_crs
instalar iptables-services
s stop firewalld
s disable firewalld
s mask firewalld
s enable iptables
sudo iptables -F
# nat
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -F
sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -j ACCEPT
sudo iptables -A FORWARD -i enp0s8 -o enp0s9 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE
sudo iptables-save > /etc/sysconfig/iptables
sudo cp conf/httpd.conf /etc/httpd/httpd.conf
# instalar juice-shop se nao existir
jspath="/var/juice-shop"
if [[ ! -f "$jspath/package.json" ]]; then
sudo mkdir -p "$jspath"
curl -L -o js.tar.gz "https://github.com/juice-shop/juice-shop/releases/download/v20.0.0/juice-shop-20.0.0_node24_linux_x64.tgz"
sudo tar -xzvf js.tar.gz -C "$jspath" --strip-components=1
rm js.tar.gz
sudo chown -R $USER:$USER "$jspath"
fi
# apache WAF (desativado por default)
s stop httpd
s disable httpd
# correr juice shop via npm
cd "$jspath"
npm start

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
# The MIT License (MIT)
Copyright © Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -0,0 +1,139 @@
body {
background-color: #306aa0;
background-image: radial-gradient(circle at top left, #fff 0%, #8ce1d6 15em, #306aa0 100em, #386095 100%);
}
main, footer {
background-color: #fff;
}
header {
background-color: #00549e;
color: #fff;
}
a:link {
color: #004380;
}
a:visited {
color: #770d67;
}
a:focus {
background-color: #ffd54d;
}
a:hover {
background-color: #ffd54d;
}
a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
header a:link {
color: #f2f7fd;
}
header a:visited {
color: #f2b5e9;
}
header a:focus {
background-color: #ffd54d;
color: #004380;
}
header a:hover {
background-color: #ffd54d;
color: #004380;
}
header a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #fff6db;
}
summary:focus {
background-color: #ffd54d;
}
summary:hover {
background-color: #ffd54d;
}
summary:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
h2, h3, h4, h5, h6 {
color: #00549e;
}
.risk-level, .confidence-level {
color: #00549e;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
color: #00549e;
}
.risk-confidence-counts-table > tbody > tr {
border-top-color: #00549e;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
color: #00549e;
}
.site-risk-counts-table > tbody > tr {
border-top-color: #00549e;
}
.alert-type-counts-table > tbody > tr {
border-bottom-color: #00549e;
}
.alert-type-counts-table th[scope="col"] {
background-color: #00549e;
color: #fff;
}
.alert-type-counts-table th[scope="col"] {
border-left-color: #fff;
}
.alerts-table th, .alert-types-table th {
background-color: #306aa0;
color: #fff;
}
.additional-info-percentages {
color: #00549e;
}
.insights-table > tbody > tr {
border-bottom-color: #00549e;
}
.insights-table th[scope="col"] {
background-color: #00549e;
border-left-color: #fff;
color: #fff;
}

View File

@@ -0,0 +1,417 @@
*, *::after, *::before {
box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
}
pre, ul {
margin: 0;
}
ol {
list-style-type: none;
}
h1 {
font-size: 3em;
}
h2 {
font-size: 2em;
}
h3, h4, h5, h6 {
font-size: 1em;
}
html {
box-sizing: border-box;
font-family: Verdana, sans-serif;
line-height: 1.5;
}
body {
margin: 1.5em 0;
}
@media screen and (min-width: 50em) {
body {
margin: 1.5em 2ch;
padding: 1.5em 2ch;
}
}
a:active, header a:active {
outline-style: solid;
}
header, main {
margin: 0 auto;
max-width: 90ch;
padding: 1.5em 4ch;
}
header {
border-radius: .25em .25em 0 0;
}
main {
border-radius: 0 0 .25em .25em;
}
summary {
cursor: pointer;
}
.contents {
margin-top: 1.5em;
}
main > section {
margin-bottom: 4.5em;
}
.about-this-report > section {
margin-bottom: 3em;
}
.summaries section {
margin-bottom: 3em;
}
h2 {
margin-bottom: .75em;
}
h3 {
margin-bottom: 1.5em;
}
h4 {
margin-bottom: 1.5em;
}
.report-parameters--container h4 {
margin-top: 1.5em;
}
p {
margin: 1.5em 0;
}
p:first-of-type {
margin-top: 0;
}
p:last-of-type {
margin-bottom: 0;
}
.contents li, .alerts li, .alert-types > ol > li {
margin-top: 1.5em;
}
.alert-types h4 {
margin-bottom: 0;
}
a {
border-radius: .125em;
}
caption {
margin-bottom: 1.5em;
text-align: left;
}
code, .request-method-n-url {
overflow-wrap: anywhere;
white-space: break-spaces;
}
table {
border-collapse: collapse;
}
.report-description--container, .report-parameters--container {
margin-left: 2ch;
padding: 0 2ch;
}
.about-this-report h3, .summaries h3, .appendix h3 {
border-bottom: .05em solid;
}
.alerts h4 {
text-align: center;
}
.alerts ol {
padding-left: 0;
}
.alerts--site-li {
border: .05em solid;
border-radius: .25em;
margin-left: 2ch;
padding: 1.5em 3ch;
}
.contents ol {
list-style-position: inside;
list-style-type: square;
padding-left: 4ch;
}
.contexts-list, .sites-list {
list-style-type: square;
}
.risk-confidence-counts-table {
width: 100%;
}
.risk-confidence-counts-table tr {
height: 4.5em;
}
.risk-confidence-counts-table thead > tr {
height: 3em;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table th[scope="rowgroup"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.risk-confidence-counts-table th[scope="row"] {
padding-right: 5%;
}
@media screen and (max-width: 50em) {
.risk-confidence-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.risk-confidence-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.risk-confidence-counts-table > tbody > tr {
border-top: .05em solid;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table td {
vertical-align: top;
}
.risk-confidence-counts-table th[scope="col"] {
vertical-align: bottom;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.risk-confidence-counts-table td, .risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
text-align: right;
}
.site-risk-counts-table {
width: 100%;
}
.site-risk-counts-table tr {
height: 4.5em;
}
.site-risk-counts-table thead > tr:first-of-type {
height: 3em;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table th[scope="col"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.site-risk-counts-table th[scope="row"] {
padding-right: 1%;
}
@media screen and (max-width: 50em) {
.site-risk-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.site-risk-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.site-risk-counts-table > tbody > tr {
border-top: .05em solid;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table td {
vertical-align: top;
}
.site-risk-counts-table th[scope="col"] {
vertical-align: bottom;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.site-risk-counts-table td, .site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
text-align: right;
}
.alert-type-counts-table {
width: 100%;
}
.alert-type-counts-table th, .alert-type-counts-table td {
padding: 0 1rem;
text-align: left;
vertical-align: top;
}
.alert-type-counts-table td:nth-last-of-type(2) {
padding-left: 1.5rem;
}
.alert-type-counts-table > tbody > tr {
border-bottom: 0.05em dotted;
}
.alert-type-counts-table th[scope="col"] {
border-left: 1rem solid;
}
.alert-type-counts-table th[scope="col"]:first-of-type {
border-left: 0;
}
.alert-type-counts-table th[scope="col"]:last-of-type, .alert-type-counts-table td:last-of-type {
text-align: right;
}
.alert-type-counts-table th[scope="col"], .alert-type-counts-table th[scope="row"] {
font-weight: normal;
}
.alert-type-counts-table th[scope="row"], .alert-type-counts-table td {
padding-bottom: 1.5em;
}
.alert-type-counts-table thead > th:first-of-type {
width: 45%;
}
.alerts-table, .alert-types-table, .insights-table {
border-collapse: separate;
border-spacing: 2ch 1.5em;
width: 100%;
}
.alerts-table th, .alerts-table td, .alert-types-table th, .alert-types-table td, .insights-table td, .insights-table th {
vertical-align: top;
}
.alerts-table td, .alert-types-table td, .insights-table td {
overflow-wrap: anywhere;
}
.alerts-table th, .alert-types-table th, .insights-table th {
padding: 0 1ch;
}
.alerts-table td, .alert-types-table td {
padding: 0 2ch;
}
.insights-table td {
padding: 0 1ch;
}
.alerts-table summary {
margin-bottom: 1.5em;
}
.alert-tags-list {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-tags-list > li {
margin-top: 0;
}
.request-body, .response-body {
margin-top: 1.5em;
}
.request-method-n-url {
margin-bottom: 0;
}
.alert-types-table {
padding-top: 0;
}
.alert-types-table th {
width: 20%;
}
.alert-types-table ol {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-types-table li:not(:first-of-type) {
margin-top: 1.5em;
}
p.alert-types-intro {
margin-bottom: 3em;
}
.zap-logo {
height: 1em;
margin-right: .25ch;
width: 1em;
}
h1, h2 {
font-family: Georgia, serif;
}
.risk-level, .confidence-level, .included-risk-codes, .included-confidence-codes, .additional-info-percentages {
font-family: monospace, monospace;
}
.context, .site, .request-method-n-url {
font-family: monospace, monospace;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
# The MIT License (MIT)
Copyright © Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -0,0 +1,139 @@
body {
background-color: #306aa0;
background-image: radial-gradient(circle at top left, #fff 0%, #8ce1d6 15em, #306aa0 100em, #386095 100%);
}
main, footer {
background-color: #fff;
}
header {
background-color: #00549e;
color: #fff;
}
a:link {
color: #004380;
}
a:visited {
color: #770d67;
}
a:focus {
background-color: #ffd54d;
}
a:hover {
background-color: #ffd54d;
}
a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
header a:link {
color: #f2f7fd;
}
header a:visited {
color: #f2b5e9;
}
header a:focus {
background-color: #ffd54d;
color: #004380;
}
header a:hover {
background-color: #ffd54d;
color: #004380;
}
header a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #fff6db;
}
summary:focus {
background-color: #ffd54d;
}
summary:hover {
background-color: #ffd54d;
}
summary:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
h2, h3, h4, h5, h6 {
color: #00549e;
}
.risk-level, .confidence-level {
color: #00549e;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
color: #00549e;
}
.risk-confidence-counts-table > tbody > tr {
border-top-color: #00549e;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
color: #00549e;
}
.site-risk-counts-table > tbody > tr {
border-top-color: #00549e;
}
.alert-type-counts-table > tbody > tr {
border-bottom-color: #00549e;
}
.alert-type-counts-table th[scope="col"] {
background-color: #00549e;
color: #fff;
}
.alert-type-counts-table th[scope="col"] {
border-left-color: #fff;
}
.alerts-table th, .alert-types-table th {
background-color: #306aa0;
color: #fff;
}
.additional-info-percentages {
color: #00549e;
}
.insights-table > tbody > tr {
border-bottom-color: #00549e;
}
.insights-table th[scope="col"] {
background-color: #00549e;
border-left-color: #fff;
color: #fff;
}

View File

@@ -0,0 +1,417 @@
*, *::after, *::before {
box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
}
pre, ul {
margin: 0;
}
ol {
list-style-type: none;
}
h1 {
font-size: 3em;
}
h2 {
font-size: 2em;
}
h3, h4, h5, h6 {
font-size: 1em;
}
html {
box-sizing: border-box;
font-family: Verdana, sans-serif;
line-height: 1.5;
}
body {
margin: 1.5em 0;
}
@media screen and (min-width: 50em) {
body {
margin: 1.5em 2ch;
padding: 1.5em 2ch;
}
}
a:active, header a:active {
outline-style: solid;
}
header, main {
margin: 0 auto;
max-width: 90ch;
padding: 1.5em 4ch;
}
header {
border-radius: .25em .25em 0 0;
}
main {
border-radius: 0 0 .25em .25em;
}
summary {
cursor: pointer;
}
.contents {
margin-top: 1.5em;
}
main > section {
margin-bottom: 4.5em;
}
.about-this-report > section {
margin-bottom: 3em;
}
.summaries section {
margin-bottom: 3em;
}
h2 {
margin-bottom: .75em;
}
h3 {
margin-bottom: 1.5em;
}
h4 {
margin-bottom: 1.5em;
}
.report-parameters--container h4 {
margin-top: 1.5em;
}
p {
margin: 1.5em 0;
}
p:first-of-type {
margin-top: 0;
}
p:last-of-type {
margin-bottom: 0;
}
.contents li, .alerts li, .alert-types > ol > li {
margin-top: 1.5em;
}
.alert-types h4 {
margin-bottom: 0;
}
a {
border-radius: .125em;
}
caption {
margin-bottom: 1.5em;
text-align: left;
}
code, .request-method-n-url {
overflow-wrap: anywhere;
white-space: break-spaces;
}
table {
border-collapse: collapse;
}
.report-description--container, .report-parameters--container {
margin-left: 2ch;
padding: 0 2ch;
}
.about-this-report h3, .summaries h3, .appendix h3 {
border-bottom: .05em solid;
}
.alerts h4 {
text-align: center;
}
.alerts ol {
padding-left: 0;
}
.alerts--site-li {
border: .05em solid;
border-radius: .25em;
margin-left: 2ch;
padding: 1.5em 3ch;
}
.contents ol {
list-style-position: inside;
list-style-type: square;
padding-left: 4ch;
}
.contexts-list, .sites-list {
list-style-type: square;
}
.risk-confidence-counts-table {
width: 100%;
}
.risk-confidence-counts-table tr {
height: 4.5em;
}
.risk-confidence-counts-table thead > tr {
height: 3em;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table th[scope="rowgroup"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.risk-confidence-counts-table th[scope="row"] {
padding-right: 5%;
}
@media screen and (max-width: 50em) {
.risk-confidence-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.risk-confidence-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.risk-confidence-counts-table > tbody > tr {
border-top: .05em solid;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table td {
vertical-align: top;
}
.risk-confidence-counts-table th[scope="col"] {
vertical-align: bottom;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.risk-confidence-counts-table td, .risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
text-align: right;
}
.site-risk-counts-table {
width: 100%;
}
.site-risk-counts-table tr {
height: 4.5em;
}
.site-risk-counts-table thead > tr:first-of-type {
height: 3em;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table th[scope="col"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.site-risk-counts-table th[scope="row"] {
padding-right: 1%;
}
@media screen and (max-width: 50em) {
.site-risk-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.site-risk-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.site-risk-counts-table > tbody > tr {
border-top: .05em solid;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table td {
vertical-align: top;
}
.site-risk-counts-table th[scope="col"] {
vertical-align: bottom;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.site-risk-counts-table td, .site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
text-align: right;
}
.alert-type-counts-table {
width: 100%;
}
.alert-type-counts-table th, .alert-type-counts-table td {
padding: 0 1rem;
text-align: left;
vertical-align: top;
}
.alert-type-counts-table td:nth-last-of-type(2) {
padding-left: 1.5rem;
}
.alert-type-counts-table > tbody > tr {
border-bottom: 0.05em dotted;
}
.alert-type-counts-table th[scope="col"] {
border-left: 1rem solid;
}
.alert-type-counts-table th[scope="col"]:first-of-type {
border-left: 0;
}
.alert-type-counts-table th[scope="col"]:last-of-type, .alert-type-counts-table td:last-of-type {
text-align: right;
}
.alert-type-counts-table th[scope="col"], .alert-type-counts-table th[scope="row"] {
font-weight: normal;
}
.alert-type-counts-table th[scope="row"], .alert-type-counts-table td {
padding-bottom: 1.5em;
}
.alert-type-counts-table thead > th:first-of-type {
width: 45%;
}
.alerts-table, .alert-types-table, .insights-table {
border-collapse: separate;
border-spacing: 2ch 1.5em;
width: 100%;
}
.alerts-table th, .alerts-table td, .alert-types-table th, .alert-types-table td, .insights-table td, .insights-table th {
vertical-align: top;
}
.alerts-table td, .alert-types-table td, .insights-table td {
overflow-wrap: anywhere;
}
.alerts-table th, .alert-types-table th, .insights-table th {
padding: 0 1ch;
}
.alerts-table td, .alert-types-table td {
padding: 0 2ch;
}
.insights-table td {
padding: 0 1ch;
}
.alerts-table summary {
margin-bottom: 1.5em;
}
.alert-tags-list {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-tags-list > li {
margin-top: 0;
}
.request-body, .response-body {
margin-top: 1.5em;
}
.request-method-n-url {
margin-bottom: 0;
}
.alert-types-table {
padding-top: 0;
}
.alert-types-table th {
width: 20%;
}
.alert-types-table ol {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-types-table li:not(:first-of-type) {
margin-top: 1.5em;
}
p.alert-types-intro {
margin-bottom: 3em;
}
.zap-logo {
height: 1em;
margin-right: .25ch;
width: 1em;
}
h1, h2 {
font-family: Georgia, serif;
}
.risk-level, .confidence-level, .included-risk-codes, .included-confidence-codes, .additional-info-percentages {
font-family: monospace, monospace;
}
.context, .site, .request-method-n-url {
font-family: monospace, monospace;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
# The MIT License (MIT)
Copyright © Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -0,0 +1,139 @@
body {
background-color: #306aa0;
background-image: radial-gradient(circle at top left, #fff 0%, #8ce1d6 15em, #306aa0 100em, #386095 100%);
}
main, footer {
background-color: #fff;
}
header {
background-color: #00549e;
color: #fff;
}
a:link {
color: #004380;
}
a:visited {
color: #770d67;
}
a:focus {
background-color: #ffd54d;
}
a:hover {
background-color: #ffd54d;
}
a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
header a:link {
color: #f2f7fd;
}
header a:visited {
color: #f2b5e9;
}
header a:focus {
background-color: #ffd54d;
color: #004380;
}
header a:hover {
background-color: #ffd54d;
color: #004380;
}
header a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #fff6db;
}
summary:focus {
background-color: #ffd54d;
}
summary:hover {
background-color: #ffd54d;
}
summary:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
h2, h3, h4, h5, h6 {
color: #00549e;
}
.risk-level, .confidence-level {
color: #00549e;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
color: #00549e;
}
.risk-confidence-counts-table > tbody > tr {
border-top-color: #00549e;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
color: #00549e;
}
.site-risk-counts-table > tbody > tr {
border-top-color: #00549e;
}
.alert-type-counts-table > tbody > tr {
border-bottom-color: #00549e;
}
.alert-type-counts-table th[scope="col"] {
background-color: #00549e;
color: #fff;
}
.alert-type-counts-table th[scope="col"] {
border-left-color: #fff;
}
.alerts-table th, .alert-types-table th {
background-color: #306aa0;
color: #fff;
}
.additional-info-percentages {
color: #00549e;
}
.insights-table > tbody > tr {
border-bottom-color: #00549e;
}
.insights-table th[scope="col"] {
background-color: #00549e;
border-left-color: #fff;
color: #fff;
}

View File

@@ -0,0 +1,417 @@
*, *::after, *::before {
box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
}
pre, ul {
margin: 0;
}
ol {
list-style-type: none;
}
h1 {
font-size: 3em;
}
h2 {
font-size: 2em;
}
h3, h4, h5, h6 {
font-size: 1em;
}
html {
box-sizing: border-box;
font-family: Verdana, sans-serif;
line-height: 1.5;
}
body {
margin: 1.5em 0;
}
@media screen and (min-width: 50em) {
body {
margin: 1.5em 2ch;
padding: 1.5em 2ch;
}
}
a:active, header a:active {
outline-style: solid;
}
header, main {
margin: 0 auto;
max-width: 90ch;
padding: 1.5em 4ch;
}
header {
border-radius: .25em .25em 0 0;
}
main {
border-radius: 0 0 .25em .25em;
}
summary {
cursor: pointer;
}
.contents {
margin-top: 1.5em;
}
main > section {
margin-bottom: 4.5em;
}
.about-this-report > section {
margin-bottom: 3em;
}
.summaries section {
margin-bottom: 3em;
}
h2 {
margin-bottom: .75em;
}
h3 {
margin-bottom: 1.5em;
}
h4 {
margin-bottom: 1.5em;
}
.report-parameters--container h4 {
margin-top: 1.5em;
}
p {
margin: 1.5em 0;
}
p:first-of-type {
margin-top: 0;
}
p:last-of-type {
margin-bottom: 0;
}
.contents li, .alerts li, .alert-types > ol > li {
margin-top: 1.5em;
}
.alert-types h4 {
margin-bottom: 0;
}
a {
border-radius: .125em;
}
caption {
margin-bottom: 1.5em;
text-align: left;
}
code, .request-method-n-url {
overflow-wrap: anywhere;
white-space: break-spaces;
}
table {
border-collapse: collapse;
}
.report-description--container, .report-parameters--container {
margin-left: 2ch;
padding: 0 2ch;
}
.about-this-report h3, .summaries h3, .appendix h3 {
border-bottom: .05em solid;
}
.alerts h4 {
text-align: center;
}
.alerts ol {
padding-left: 0;
}
.alerts--site-li {
border: .05em solid;
border-radius: .25em;
margin-left: 2ch;
padding: 1.5em 3ch;
}
.contents ol {
list-style-position: inside;
list-style-type: square;
padding-left: 4ch;
}
.contexts-list, .sites-list {
list-style-type: square;
}
.risk-confidence-counts-table {
width: 100%;
}
.risk-confidence-counts-table tr {
height: 4.5em;
}
.risk-confidence-counts-table thead > tr {
height: 3em;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table th[scope="rowgroup"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.risk-confidence-counts-table th[scope="row"] {
padding-right: 5%;
}
@media screen and (max-width: 50em) {
.risk-confidence-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.risk-confidence-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.risk-confidence-counts-table > tbody > tr {
border-top: .05em solid;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table td {
vertical-align: top;
}
.risk-confidence-counts-table th[scope="col"] {
vertical-align: bottom;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.risk-confidence-counts-table td, .risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
text-align: right;
}
.site-risk-counts-table {
width: 100%;
}
.site-risk-counts-table tr {
height: 4.5em;
}
.site-risk-counts-table thead > tr:first-of-type {
height: 3em;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table th[scope="col"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.site-risk-counts-table th[scope="row"] {
padding-right: 1%;
}
@media screen and (max-width: 50em) {
.site-risk-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.site-risk-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.site-risk-counts-table > tbody > tr {
border-top: .05em solid;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table td {
vertical-align: top;
}
.site-risk-counts-table th[scope="col"] {
vertical-align: bottom;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.site-risk-counts-table td, .site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
text-align: right;
}
.alert-type-counts-table {
width: 100%;
}
.alert-type-counts-table th, .alert-type-counts-table td {
padding: 0 1rem;
text-align: left;
vertical-align: top;
}
.alert-type-counts-table td:nth-last-of-type(2) {
padding-left: 1.5rem;
}
.alert-type-counts-table > tbody > tr {
border-bottom: 0.05em dotted;
}
.alert-type-counts-table th[scope="col"] {
border-left: 1rem solid;
}
.alert-type-counts-table th[scope="col"]:first-of-type {
border-left: 0;
}
.alert-type-counts-table th[scope="col"]:last-of-type, .alert-type-counts-table td:last-of-type {
text-align: right;
}
.alert-type-counts-table th[scope="col"], .alert-type-counts-table th[scope="row"] {
font-weight: normal;
}
.alert-type-counts-table th[scope="row"], .alert-type-counts-table td {
padding-bottom: 1.5em;
}
.alert-type-counts-table thead > th:first-of-type {
width: 45%;
}
.alerts-table, .alert-types-table, .insights-table {
border-collapse: separate;
border-spacing: 2ch 1.5em;
width: 100%;
}
.alerts-table th, .alerts-table td, .alert-types-table th, .alert-types-table td, .insights-table td, .insights-table th {
vertical-align: top;
}
.alerts-table td, .alert-types-table td, .insights-table td {
overflow-wrap: anywhere;
}
.alerts-table th, .alert-types-table th, .insights-table th {
padding: 0 1ch;
}
.alerts-table td, .alert-types-table td {
padding: 0 2ch;
}
.insights-table td {
padding: 0 1ch;
}
.alerts-table summary {
margin-bottom: 1.5em;
}
.alert-tags-list {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-tags-list > li {
margin-top: 0;
}
.request-body, .response-body {
margin-top: 1.5em;
}
.request-method-n-url {
margin-bottom: 0;
}
.alert-types-table {
padding-top: 0;
}
.alert-types-table th {
width: 20%;
}
.alert-types-table ol {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-types-table li:not(:first-of-type) {
margin-top: 1.5em;
}
p.alert-types-intro {
margin-bottom: 3em;
}
.zap-logo {
height: 1em;
margin-right: .25ch;
width: 1em;
}
h1, h2 {
font-family: Georgia, serif;
}
.risk-level, .confidence-level, .included-risk-codes, .included-confidence-codes, .additional-info-percentages {
font-family: monospace, monospace;
}
.context, .site, .request-method-n-url {
font-family: monospace, monospace;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
# The MIT License (MIT)
Copyright © Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -0,0 +1,139 @@
body {
background-color: #306aa0;
background-image: radial-gradient(circle at top left, #fff 0%, #8ce1d6 15em, #306aa0 100em, #386095 100%);
}
main, footer {
background-color: #fff;
}
header {
background-color: #00549e;
color: #fff;
}
a:link {
color: #004380;
}
a:visited {
color: #770d67;
}
a:focus {
background-color: #ffd54d;
}
a:hover {
background-color: #ffd54d;
}
a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
header a:link {
color: #f2f7fd;
}
header a:visited {
color: #f2b5e9;
}
header a:focus {
background-color: #ffd54d;
color: #004380;
}
header a:hover {
background-color: #ffd54d;
color: #004380;
}
header a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #fff6db;
}
summary:focus {
background-color: #ffd54d;
}
summary:hover {
background-color: #ffd54d;
}
summary:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
h2, h3, h4, h5, h6 {
color: #00549e;
}
.risk-level, .confidence-level {
color: #00549e;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
color: #00549e;
}
.risk-confidence-counts-table > tbody > tr {
border-top-color: #00549e;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
color: #00549e;
}
.site-risk-counts-table > tbody > tr {
border-top-color: #00549e;
}
.alert-type-counts-table > tbody > tr {
border-bottom-color: #00549e;
}
.alert-type-counts-table th[scope="col"] {
background-color: #00549e;
color: #fff;
}
.alert-type-counts-table th[scope="col"] {
border-left-color: #fff;
}
.alerts-table th, .alert-types-table th {
background-color: #306aa0;
color: #fff;
}
.additional-info-percentages {
color: #00549e;
}
.insights-table > tbody > tr {
border-bottom-color: #00549e;
}
.insights-table th[scope="col"] {
background-color: #00549e;
border-left-color: #fff;
color: #fff;
}

View File

@@ -0,0 +1,417 @@
*, *::after, *::before {
box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
}
pre, ul {
margin: 0;
}
ol {
list-style-type: none;
}
h1 {
font-size: 3em;
}
h2 {
font-size: 2em;
}
h3, h4, h5, h6 {
font-size: 1em;
}
html {
box-sizing: border-box;
font-family: Verdana, sans-serif;
line-height: 1.5;
}
body {
margin: 1.5em 0;
}
@media screen and (min-width: 50em) {
body {
margin: 1.5em 2ch;
padding: 1.5em 2ch;
}
}
a:active, header a:active {
outline-style: solid;
}
header, main {
margin: 0 auto;
max-width: 90ch;
padding: 1.5em 4ch;
}
header {
border-radius: .25em .25em 0 0;
}
main {
border-radius: 0 0 .25em .25em;
}
summary {
cursor: pointer;
}
.contents {
margin-top: 1.5em;
}
main > section {
margin-bottom: 4.5em;
}
.about-this-report > section {
margin-bottom: 3em;
}
.summaries section {
margin-bottom: 3em;
}
h2 {
margin-bottom: .75em;
}
h3 {
margin-bottom: 1.5em;
}
h4 {
margin-bottom: 1.5em;
}
.report-parameters--container h4 {
margin-top: 1.5em;
}
p {
margin: 1.5em 0;
}
p:first-of-type {
margin-top: 0;
}
p:last-of-type {
margin-bottom: 0;
}
.contents li, .alerts li, .alert-types > ol > li {
margin-top: 1.5em;
}
.alert-types h4 {
margin-bottom: 0;
}
a {
border-radius: .125em;
}
caption {
margin-bottom: 1.5em;
text-align: left;
}
code, .request-method-n-url {
overflow-wrap: anywhere;
white-space: break-spaces;
}
table {
border-collapse: collapse;
}
.report-description--container, .report-parameters--container {
margin-left: 2ch;
padding: 0 2ch;
}
.about-this-report h3, .summaries h3, .appendix h3 {
border-bottom: .05em solid;
}
.alerts h4 {
text-align: center;
}
.alerts ol {
padding-left: 0;
}
.alerts--site-li {
border: .05em solid;
border-radius: .25em;
margin-left: 2ch;
padding: 1.5em 3ch;
}
.contents ol {
list-style-position: inside;
list-style-type: square;
padding-left: 4ch;
}
.contexts-list, .sites-list {
list-style-type: square;
}
.risk-confidence-counts-table {
width: 100%;
}
.risk-confidence-counts-table tr {
height: 4.5em;
}
.risk-confidence-counts-table thead > tr {
height: 3em;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table th[scope="rowgroup"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.risk-confidence-counts-table th[scope="row"] {
padding-right: 5%;
}
@media screen and (max-width: 50em) {
.risk-confidence-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.risk-confidence-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.risk-confidence-counts-table > tbody > tr {
border-top: .05em solid;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table td {
vertical-align: top;
}
.risk-confidence-counts-table th[scope="col"] {
vertical-align: bottom;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.risk-confidence-counts-table td, .risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
text-align: right;
}
.site-risk-counts-table {
width: 100%;
}
.site-risk-counts-table tr {
height: 4.5em;
}
.site-risk-counts-table thead > tr:first-of-type {
height: 3em;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table th[scope="col"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.site-risk-counts-table th[scope="row"] {
padding-right: 1%;
}
@media screen and (max-width: 50em) {
.site-risk-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.site-risk-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.site-risk-counts-table > tbody > tr {
border-top: .05em solid;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table td {
vertical-align: top;
}
.site-risk-counts-table th[scope="col"] {
vertical-align: bottom;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.site-risk-counts-table td, .site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
text-align: right;
}
.alert-type-counts-table {
width: 100%;
}
.alert-type-counts-table th, .alert-type-counts-table td {
padding: 0 1rem;
text-align: left;
vertical-align: top;
}
.alert-type-counts-table td:nth-last-of-type(2) {
padding-left: 1.5rem;
}
.alert-type-counts-table > tbody > tr {
border-bottom: 0.05em dotted;
}
.alert-type-counts-table th[scope="col"] {
border-left: 1rem solid;
}
.alert-type-counts-table th[scope="col"]:first-of-type {
border-left: 0;
}
.alert-type-counts-table th[scope="col"]:last-of-type, .alert-type-counts-table td:last-of-type {
text-align: right;
}
.alert-type-counts-table th[scope="col"], .alert-type-counts-table th[scope="row"] {
font-weight: normal;
}
.alert-type-counts-table th[scope="row"], .alert-type-counts-table td {
padding-bottom: 1.5em;
}
.alert-type-counts-table thead > th:first-of-type {
width: 45%;
}
.alerts-table, .alert-types-table, .insights-table {
border-collapse: separate;
border-spacing: 2ch 1.5em;
width: 100%;
}
.alerts-table th, .alerts-table td, .alert-types-table th, .alert-types-table td, .insights-table td, .insights-table th {
vertical-align: top;
}
.alerts-table td, .alert-types-table td, .insights-table td {
overflow-wrap: anywhere;
}
.alerts-table th, .alert-types-table th, .insights-table th {
padding: 0 1ch;
}
.alerts-table td, .alert-types-table td {
padding: 0 2ch;
}
.insights-table td {
padding: 0 1ch;
}
.alerts-table summary {
margin-bottom: 1.5em;
}
.alert-tags-list {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-tags-list > li {
margin-top: 0;
}
.request-body, .response-body {
margin-top: 1.5em;
}
.request-method-n-url {
margin-bottom: 0;
}
.alert-types-table {
padding-top: 0;
}
.alert-types-table th {
width: 20%;
}
.alert-types-table ol {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-types-table li:not(:first-of-type) {
margin-top: 1.5em;
}
p.alert-types-intro {
margin-bottom: 3em;
}
.zap-logo {
height: 1em;
margin-right: .25ch;
width: 1em;
}
h1, h2 {
font-family: Georgia, serif;
}
.risk-level, .confidence-level, .included-risk-codes, .included-confidence-codes, .additional-info-percentages {
font-family: monospace, monospace;
}
.context, .site, .request-method-n-url {
font-family: monospace, monospace;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
# The MIT License (MIT)
Copyright © Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -0,0 +1,139 @@
body {
background-color: #306aa0;
background-image: radial-gradient(circle at top left, #fff 0%, #8ce1d6 15em, #306aa0 100em, #386095 100%);
}
main, footer {
background-color: #fff;
}
header {
background-color: #00549e;
color: #fff;
}
a:link {
color: #004380;
}
a:visited {
color: #770d67;
}
a:focus {
background-color: #ffd54d;
}
a:hover {
background-color: #ffd54d;
}
a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
header a:link {
color: #f2f7fd;
}
header a:visited {
color: #f2b5e9;
}
header a:focus {
background-color: #ffd54d;
color: #004380;
}
header a:hover {
background-color: #ffd54d;
color: #004380;
}
header a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #fff6db;
}
summary:focus {
background-color: #ffd54d;
}
summary:hover {
background-color: #ffd54d;
}
summary:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
h2, h3, h4, h5, h6 {
color: #00549e;
}
.risk-level, .confidence-level {
color: #00549e;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
color: #00549e;
}
.risk-confidence-counts-table > tbody > tr {
border-top-color: #00549e;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
color: #00549e;
}
.site-risk-counts-table > tbody > tr {
border-top-color: #00549e;
}
.alert-type-counts-table > tbody > tr {
border-bottom-color: #00549e;
}
.alert-type-counts-table th[scope="col"] {
background-color: #00549e;
color: #fff;
}
.alert-type-counts-table th[scope="col"] {
border-left-color: #fff;
}
.alerts-table th, .alert-types-table th {
background-color: #306aa0;
color: #fff;
}
.additional-info-percentages {
color: #00549e;
}
.insights-table > tbody > tr {
border-bottom-color: #00549e;
}
.insights-table th[scope="col"] {
background-color: #00549e;
border-left-color: #fff;
color: #fff;
}

View File

@@ -0,0 +1,417 @@
*, *::after, *::before {
box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
}
pre, ul {
margin: 0;
}
ol {
list-style-type: none;
}
h1 {
font-size: 3em;
}
h2 {
font-size: 2em;
}
h3, h4, h5, h6 {
font-size: 1em;
}
html {
box-sizing: border-box;
font-family: Verdana, sans-serif;
line-height: 1.5;
}
body {
margin: 1.5em 0;
}
@media screen and (min-width: 50em) {
body {
margin: 1.5em 2ch;
padding: 1.5em 2ch;
}
}
a:active, header a:active {
outline-style: solid;
}
header, main {
margin: 0 auto;
max-width: 90ch;
padding: 1.5em 4ch;
}
header {
border-radius: .25em .25em 0 0;
}
main {
border-radius: 0 0 .25em .25em;
}
summary {
cursor: pointer;
}
.contents {
margin-top: 1.5em;
}
main > section {
margin-bottom: 4.5em;
}
.about-this-report > section {
margin-bottom: 3em;
}
.summaries section {
margin-bottom: 3em;
}
h2 {
margin-bottom: .75em;
}
h3 {
margin-bottom: 1.5em;
}
h4 {
margin-bottom: 1.5em;
}
.report-parameters--container h4 {
margin-top: 1.5em;
}
p {
margin: 1.5em 0;
}
p:first-of-type {
margin-top: 0;
}
p:last-of-type {
margin-bottom: 0;
}
.contents li, .alerts li, .alert-types > ol > li {
margin-top: 1.5em;
}
.alert-types h4 {
margin-bottom: 0;
}
a {
border-radius: .125em;
}
caption {
margin-bottom: 1.5em;
text-align: left;
}
code, .request-method-n-url {
overflow-wrap: anywhere;
white-space: break-spaces;
}
table {
border-collapse: collapse;
}
.report-description--container, .report-parameters--container {
margin-left: 2ch;
padding: 0 2ch;
}
.about-this-report h3, .summaries h3, .appendix h3 {
border-bottom: .05em solid;
}
.alerts h4 {
text-align: center;
}
.alerts ol {
padding-left: 0;
}
.alerts--site-li {
border: .05em solid;
border-radius: .25em;
margin-left: 2ch;
padding: 1.5em 3ch;
}
.contents ol {
list-style-position: inside;
list-style-type: square;
padding-left: 4ch;
}
.contexts-list, .sites-list {
list-style-type: square;
}
.risk-confidence-counts-table {
width: 100%;
}
.risk-confidence-counts-table tr {
height: 4.5em;
}
.risk-confidence-counts-table thead > tr {
height: 3em;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table th[scope="rowgroup"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.risk-confidence-counts-table th[scope="row"] {
padding-right: 5%;
}
@media screen and (max-width: 50em) {
.risk-confidence-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.risk-confidence-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.risk-confidence-counts-table > tbody > tr {
border-top: .05em solid;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table td {
vertical-align: top;
}
.risk-confidence-counts-table th[scope="col"] {
vertical-align: bottom;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.risk-confidence-counts-table td, .risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
text-align: right;
}
.site-risk-counts-table {
width: 100%;
}
.site-risk-counts-table tr {
height: 4.5em;
}
.site-risk-counts-table thead > tr:first-of-type {
height: 3em;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table th[scope="col"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.site-risk-counts-table th[scope="row"] {
padding-right: 1%;
}
@media screen and (max-width: 50em) {
.site-risk-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.site-risk-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.site-risk-counts-table > tbody > tr {
border-top: .05em solid;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table td {
vertical-align: top;
}
.site-risk-counts-table th[scope="col"] {
vertical-align: bottom;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.site-risk-counts-table td, .site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
text-align: right;
}
.alert-type-counts-table {
width: 100%;
}
.alert-type-counts-table th, .alert-type-counts-table td {
padding: 0 1rem;
text-align: left;
vertical-align: top;
}
.alert-type-counts-table td:nth-last-of-type(2) {
padding-left: 1.5rem;
}
.alert-type-counts-table > tbody > tr {
border-bottom: 0.05em dotted;
}
.alert-type-counts-table th[scope="col"] {
border-left: 1rem solid;
}
.alert-type-counts-table th[scope="col"]:first-of-type {
border-left: 0;
}
.alert-type-counts-table th[scope="col"]:last-of-type, .alert-type-counts-table td:last-of-type {
text-align: right;
}
.alert-type-counts-table th[scope="col"], .alert-type-counts-table th[scope="row"] {
font-weight: normal;
}
.alert-type-counts-table th[scope="row"], .alert-type-counts-table td {
padding-bottom: 1.5em;
}
.alert-type-counts-table thead > th:first-of-type {
width: 45%;
}
.alerts-table, .alert-types-table, .insights-table {
border-collapse: separate;
border-spacing: 2ch 1.5em;
width: 100%;
}
.alerts-table th, .alerts-table td, .alert-types-table th, .alert-types-table td, .insights-table td, .insights-table th {
vertical-align: top;
}
.alerts-table td, .alert-types-table td, .insights-table td {
overflow-wrap: anywhere;
}
.alerts-table th, .alert-types-table th, .insights-table th {
padding: 0 1ch;
}
.alerts-table td, .alert-types-table td {
padding: 0 2ch;
}
.insights-table td {
padding: 0 1ch;
}
.alerts-table summary {
margin-bottom: 1.5em;
}
.alert-tags-list {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-tags-list > li {
margin-top: 0;
}
.request-body, .response-body {
margin-top: 1.5em;
}
.request-method-n-url {
margin-bottom: 0;
}
.alert-types-table {
padding-top: 0;
}
.alert-types-table th {
width: 20%;
}
.alert-types-table ol {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-types-table li:not(:first-of-type) {
margin-top: 1.5em;
}
p.alert-types-intro {
margin-bottom: 3em;
}
.zap-logo {
height: 1em;
margin-right: .25ch;
width: 1em;
}
h1, h2 {
font-family: Georgia, serif;
}
.risk-level, .confidence-level, .included-risk-codes, .included-confidence-codes, .additional-info-percentages {
font-family: monospace, monospace;
}
.context, .site, .request-method-n-url {
font-family: monospace, monospace;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
# The MIT License (MIT)
Copyright © Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -0,0 +1,139 @@
body {
background-color: #306aa0;
background-image: radial-gradient(circle at top left, #fff 0%, #8ce1d6 15em, #306aa0 100em, #386095 100%);
}
main, footer {
background-color: #fff;
}
header {
background-color: #00549e;
color: #fff;
}
a:link {
color: #004380;
}
a:visited {
color: #770d67;
}
a:focus {
background-color: #ffd54d;
}
a:hover {
background-color: #ffd54d;
}
a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
header a:link {
color: #f2f7fd;
}
header a:visited {
color: #f2b5e9;
}
header a:focus {
background-color: #ffd54d;
color: #004380;
}
header a:hover {
background-color: #ffd54d;
color: #004380;
}
header a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #fff6db;
}
summary:focus {
background-color: #ffd54d;
}
summary:hover {
background-color: #ffd54d;
}
summary:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
h2, h3, h4, h5, h6 {
color: #00549e;
}
.risk-level, .confidence-level {
color: #00549e;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
color: #00549e;
}
.risk-confidence-counts-table > tbody > tr {
border-top-color: #00549e;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
color: #00549e;
}
.site-risk-counts-table > tbody > tr {
border-top-color: #00549e;
}
.alert-type-counts-table > tbody > tr {
border-bottom-color: #00549e;
}
.alert-type-counts-table th[scope="col"] {
background-color: #00549e;
color: #fff;
}
.alert-type-counts-table th[scope="col"] {
border-left-color: #fff;
}
.alerts-table th, .alert-types-table th {
background-color: #306aa0;
color: #fff;
}
.additional-info-percentages {
color: #00549e;
}
.insights-table > tbody > tr {
border-bottom-color: #00549e;
}
.insights-table th[scope="col"] {
background-color: #00549e;
border-left-color: #fff;
color: #fff;
}

View File

@@ -0,0 +1,417 @@
*, *::after, *::before {
box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
}
pre, ul {
margin: 0;
}
ol {
list-style-type: none;
}
h1 {
font-size: 3em;
}
h2 {
font-size: 2em;
}
h3, h4, h5, h6 {
font-size: 1em;
}
html {
box-sizing: border-box;
font-family: Verdana, sans-serif;
line-height: 1.5;
}
body {
margin: 1.5em 0;
}
@media screen and (min-width: 50em) {
body {
margin: 1.5em 2ch;
padding: 1.5em 2ch;
}
}
a:active, header a:active {
outline-style: solid;
}
header, main {
margin: 0 auto;
max-width: 90ch;
padding: 1.5em 4ch;
}
header {
border-radius: .25em .25em 0 0;
}
main {
border-radius: 0 0 .25em .25em;
}
summary {
cursor: pointer;
}
.contents {
margin-top: 1.5em;
}
main > section {
margin-bottom: 4.5em;
}
.about-this-report > section {
margin-bottom: 3em;
}
.summaries section {
margin-bottom: 3em;
}
h2 {
margin-bottom: .75em;
}
h3 {
margin-bottom: 1.5em;
}
h4 {
margin-bottom: 1.5em;
}
.report-parameters--container h4 {
margin-top: 1.5em;
}
p {
margin: 1.5em 0;
}
p:first-of-type {
margin-top: 0;
}
p:last-of-type {
margin-bottom: 0;
}
.contents li, .alerts li, .alert-types > ol > li {
margin-top: 1.5em;
}
.alert-types h4 {
margin-bottom: 0;
}
a {
border-radius: .125em;
}
caption {
margin-bottom: 1.5em;
text-align: left;
}
code, .request-method-n-url {
overflow-wrap: anywhere;
white-space: break-spaces;
}
table {
border-collapse: collapse;
}
.report-description--container, .report-parameters--container {
margin-left: 2ch;
padding: 0 2ch;
}
.about-this-report h3, .summaries h3, .appendix h3 {
border-bottom: .05em solid;
}
.alerts h4 {
text-align: center;
}
.alerts ol {
padding-left: 0;
}
.alerts--site-li {
border: .05em solid;
border-radius: .25em;
margin-left: 2ch;
padding: 1.5em 3ch;
}
.contents ol {
list-style-position: inside;
list-style-type: square;
padding-left: 4ch;
}
.contexts-list, .sites-list {
list-style-type: square;
}
.risk-confidence-counts-table {
width: 100%;
}
.risk-confidence-counts-table tr {
height: 4.5em;
}
.risk-confidence-counts-table thead > tr {
height: 3em;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table th[scope="rowgroup"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.risk-confidence-counts-table th[scope="row"] {
padding-right: 5%;
}
@media screen and (max-width: 50em) {
.risk-confidence-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.risk-confidence-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.risk-confidence-counts-table > tbody > tr {
border-top: .05em solid;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table td {
vertical-align: top;
}
.risk-confidence-counts-table th[scope="col"] {
vertical-align: bottom;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.risk-confidence-counts-table td, .risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
text-align: right;
}
.site-risk-counts-table {
width: 100%;
}
.site-risk-counts-table tr {
height: 4.5em;
}
.site-risk-counts-table thead > tr:first-of-type {
height: 3em;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table th[scope="col"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.site-risk-counts-table th[scope="row"] {
padding-right: 1%;
}
@media screen and (max-width: 50em) {
.site-risk-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.site-risk-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.site-risk-counts-table > tbody > tr {
border-top: .05em solid;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table td {
vertical-align: top;
}
.site-risk-counts-table th[scope="col"] {
vertical-align: bottom;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.site-risk-counts-table td, .site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
text-align: right;
}
.alert-type-counts-table {
width: 100%;
}
.alert-type-counts-table th, .alert-type-counts-table td {
padding: 0 1rem;
text-align: left;
vertical-align: top;
}
.alert-type-counts-table td:nth-last-of-type(2) {
padding-left: 1.5rem;
}
.alert-type-counts-table > tbody > tr {
border-bottom: 0.05em dotted;
}
.alert-type-counts-table th[scope="col"] {
border-left: 1rem solid;
}
.alert-type-counts-table th[scope="col"]:first-of-type {
border-left: 0;
}
.alert-type-counts-table th[scope="col"]:last-of-type, .alert-type-counts-table td:last-of-type {
text-align: right;
}
.alert-type-counts-table th[scope="col"], .alert-type-counts-table th[scope="row"] {
font-weight: normal;
}
.alert-type-counts-table th[scope="row"], .alert-type-counts-table td {
padding-bottom: 1.5em;
}
.alert-type-counts-table thead > th:first-of-type {
width: 45%;
}
.alerts-table, .alert-types-table, .insights-table {
border-collapse: separate;
border-spacing: 2ch 1.5em;
width: 100%;
}
.alerts-table th, .alerts-table td, .alert-types-table th, .alert-types-table td, .insights-table td, .insights-table th {
vertical-align: top;
}
.alerts-table td, .alert-types-table td, .insights-table td {
overflow-wrap: anywhere;
}
.alerts-table th, .alert-types-table th, .insights-table th {
padding: 0 1ch;
}
.alerts-table td, .alert-types-table td {
padding: 0 2ch;
}
.insights-table td {
padding: 0 1ch;
}
.alerts-table summary {
margin-bottom: 1.5em;
}
.alert-tags-list {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-tags-list > li {
margin-top: 0;
}
.request-body, .response-body {
margin-top: 1.5em;
}
.request-method-n-url {
margin-bottom: 0;
}
.alert-types-table {
padding-top: 0;
}
.alert-types-table th {
width: 20%;
}
.alert-types-table ol {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-types-table li:not(:first-of-type) {
margin-top: 1.5em;
}
p.alert-types-intro {
margin-bottom: 3em;
}
.zap-logo {
height: 1em;
margin-right: .25ch;
width: 1em;
}
h1, h2 {
font-family: Georgia, serif;
}
.risk-level, .confidence-level, .included-risk-codes, .included-confidence-codes, .additional-info-percentages {
font-family: monospace, monospace;
}
.context, .site, .request-method-n-url {
font-family: monospace, monospace;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
# The MIT License (MIT)
Copyright © Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -0,0 +1,139 @@
body {
background-color: #306aa0;
background-image: radial-gradient(circle at top left, #fff 0%, #8ce1d6 15em, #306aa0 100em, #386095 100%);
}
main, footer {
background-color: #fff;
}
header {
background-color: #00549e;
color: #fff;
}
a:link {
color: #004380;
}
a:visited {
color: #770d67;
}
a:focus {
background-color: #ffd54d;
}
a:hover {
background-color: #ffd54d;
}
a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
header a:link {
color: #f2f7fd;
}
header a:visited {
color: #f2b5e9;
}
header a:focus {
background-color: #ffd54d;
color: #004380;
}
header a:hover {
background-color: #ffd54d;
color: #004380;
}
header a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #fff6db;
}
summary:focus {
background-color: #ffd54d;
}
summary:hover {
background-color: #ffd54d;
}
summary:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
h2, h3, h4, h5, h6 {
color: #00549e;
}
.risk-level, .confidence-level {
color: #00549e;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
color: #00549e;
}
.risk-confidence-counts-table > tbody > tr {
border-top-color: #00549e;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
color: #00549e;
}
.site-risk-counts-table > tbody > tr {
border-top-color: #00549e;
}
.alert-type-counts-table > tbody > tr {
border-bottom-color: #00549e;
}
.alert-type-counts-table th[scope="col"] {
background-color: #00549e;
color: #fff;
}
.alert-type-counts-table th[scope="col"] {
border-left-color: #fff;
}
.alerts-table th, .alert-types-table th {
background-color: #306aa0;
color: #fff;
}
.additional-info-percentages {
color: #00549e;
}
.insights-table > tbody > tr {
border-bottom-color: #00549e;
}
.insights-table th[scope="col"] {
background-color: #00549e;
border-left-color: #fff;
color: #fff;
}

View File

@@ -0,0 +1,417 @@
*, *::after, *::before {
box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
}
pre, ul {
margin: 0;
}
ol {
list-style-type: none;
}
h1 {
font-size: 3em;
}
h2 {
font-size: 2em;
}
h3, h4, h5, h6 {
font-size: 1em;
}
html {
box-sizing: border-box;
font-family: Verdana, sans-serif;
line-height: 1.5;
}
body {
margin: 1.5em 0;
}
@media screen and (min-width: 50em) {
body {
margin: 1.5em 2ch;
padding: 1.5em 2ch;
}
}
a:active, header a:active {
outline-style: solid;
}
header, main {
margin: 0 auto;
max-width: 90ch;
padding: 1.5em 4ch;
}
header {
border-radius: .25em .25em 0 0;
}
main {
border-radius: 0 0 .25em .25em;
}
summary {
cursor: pointer;
}
.contents {
margin-top: 1.5em;
}
main > section {
margin-bottom: 4.5em;
}
.about-this-report > section {
margin-bottom: 3em;
}
.summaries section {
margin-bottom: 3em;
}
h2 {
margin-bottom: .75em;
}
h3 {
margin-bottom: 1.5em;
}
h4 {
margin-bottom: 1.5em;
}
.report-parameters--container h4 {
margin-top: 1.5em;
}
p {
margin: 1.5em 0;
}
p:first-of-type {
margin-top: 0;
}
p:last-of-type {
margin-bottom: 0;
}
.contents li, .alerts li, .alert-types > ol > li {
margin-top: 1.5em;
}
.alert-types h4 {
margin-bottom: 0;
}
a {
border-radius: .125em;
}
caption {
margin-bottom: 1.5em;
text-align: left;
}
code, .request-method-n-url {
overflow-wrap: anywhere;
white-space: break-spaces;
}
table {
border-collapse: collapse;
}
.report-description--container, .report-parameters--container {
margin-left: 2ch;
padding: 0 2ch;
}
.about-this-report h3, .summaries h3, .appendix h3 {
border-bottom: .05em solid;
}
.alerts h4 {
text-align: center;
}
.alerts ol {
padding-left: 0;
}
.alerts--site-li {
border: .05em solid;
border-radius: .25em;
margin-left: 2ch;
padding: 1.5em 3ch;
}
.contents ol {
list-style-position: inside;
list-style-type: square;
padding-left: 4ch;
}
.contexts-list, .sites-list {
list-style-type: square;
}
.risk-confidence-counts-table {
width: 100%;
}
.risk-confidence-counts-table tr {
height: 4.5em;
}
.risk-confidence-counts-table thead > tr {
height: 3em;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table th[scope="rowgroup"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.risk-confidence-counts-table th[scope="row"] {
padding-right: 5%;
}
@media screen and (max-width: 50em) {
.risk-confidence-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.risk-confidence-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.risk-confidence-counts-table > tbody > tr {
border-top: .05em solid;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table td {
vertical-align: top;
}
.risk-confidence-counts-table th[scope="col"] {
vertical-align: bottom;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.risk-confidence-counts-table td, .risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
text-align: right;
}
.site-risk-counts-table {
width: 100%;
}
.site-risk-counts-table tr {
height: 4.5em;
}
.site-risk-counts-table thead > tr:first-of-type {
height: 3em;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table th[scope="col"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.site-risk-counts-table th[scope="row"] {
padding-right: 1%;
}
@media screen and (max-width: 50em) {
.site-risk-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.site-risk-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.site-risk-counts-table > tbody > tr {
border-top: .05em solid;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table td {
vertical-align: top;
}
.site-risk-counts-table th[scope="col"] {
vertical-align: bottom;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.site-risk-counts-table td, .site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
text-align: right;
}
.alert-type-counts-table {
width: 100%;
}
.alert-type-counts-table th, .alert-type-counts-table td {
padding: 0 1rem;
text-align: left;
vertical-align: top;
}
.alert-type-counts-table td:nth-last-of-type(2) {
padding-left: 1.5rem;
}
.alert-type-counts-table > tbody > tr {
border-bottom: 0.05em dotted;
}
.alert-type-counts-table th[scope="col"] {
border-left: 1rem solid;
}
.alert-type-counts-table th[scope="col"]:first-of-type {
border-left: 0;
}
.alert-type-counts-table th[scope="col"]:last-of-type, .alert-type-counts-table td:last-of-type {
text-align: right;
}
.alert-type-counts-table th[scope="col"], .alert-type-counts-table th[scope="row"] {
font-weight: normal;
}
.alert-type-counts-table th[scope="row"], .alert-type-counts-table td {
padding-bottom: 1.5em;
}
.alert-type-counts-table thead > th:first-of-type {
width: 45%;
}
.alerts-table, .alert-types-table, .insights-table {
border-collapse: separate;
border-spacing: 2ch 1.5em;
width: 100%;
}
.alerts-table th, .alerts-table td, .alert-types-table th, .alert-types-table td, .insights-table td, .insights-table th {
vertical-align: top;
}
.alerts-table td, .alert-types-table td, .insights-table td {
overflow-wrap: anywhere;
}
.alerts-table th, .alert-types-table th, .insights-table th {
padding: 0 1ch;
}
.alerts-table td, .alert-types-table td {
padding: 0 2ch;
}
.insights-table td {
padding: 0 1ch;
}
.alerts-table summary {
margin-bottom: 1.5em;
}
.alert-tags-list {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-tags-list > li {
margin-top: 0;
}
.request-body, .response-body {
margin-top: 1.5em;
}
.request-method-n-url {
margin-bottom: 0;
}
.alert-types-table {
padding-top: 0;
}
.alert-types-table th {
width: 20%;
}
.alert-types-table ol {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-types-table li:not(:first-of-type) {
margin-top: 1.5em;
}
p.alert-types-intro {
margin-bottom: 3em;
}
.zap-logo {
height: 1em;
margin-right: .25ch;
width: 1em;
}
h1, h2 {
font-family: Georgia, serif;
}
.risk-level, .confidence-level, .included-risk-codes, .included-confidence-codes, .additional-info-percentages {
font-family: monospace, monospace;
}
.context, .site, .request-method-n-url {
font-family: monospace, monospace;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
# The MIT License (MIT)
Copyright © Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -0,0 +1,139 @@
body {
background-color: #306aa0;
background-image: radial-gradient(circle at top left, #fff 0%, #8ce1d6 15em, #306aa0 100em, #386095 100%);
}
main, footer {
background-color: #fff;
}
header {
background-color: #00549e;
color: #fff;
}
a:link {
color: #004380;
}
a:visited {
color: #770d67;
}
a:focus {
background-color: #ffd54d;
}
a:hover {
background-color: #ffd54d;
}
a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
header a:link {
color: #f2f7fd;
}
header a:visited {
color: #f2b5e9;
}
header a:focus {
background-color: #ffd54d;
color: #004380;
}
header a:hover {
background-color: #ffd54d;
color: #004380;
}
header a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #fff6db;
}
summary:focus {
background-color: #ffd54d;
}
summary:hover {
background-color: #ffd54d;
}
summary:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
h2, h3, h4, h5, h6 {
color: #00549e;
}
.risk-level, .confidence-level {
color: #00549e;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
color: #00549e;
}
.risk-confidence-counts-table > tbody > tr {
border-top-color: #00549e;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
color: #00549e;
}
.site-risk-counts-table > tbody > tr {
border-top-color: #00549e;
}
.alert-type-counts-table > tbody > tr {
border-bottom-color: #00549e;
}
.alert-type-counts-table th[scope="col"] {
background-color: #00549e;
color: #fff;
}
.alert-type-counts-table th[scope="col"] {
border-left-color: #fff;
}
.alerts-table th, .alert-types-table th {
background-color: #306aa0;
color: #fff;
}
.additional-info-percentages {
color: #00549e;
}
.insights-table > tbody > tr {
border-bottom-color: #00549e;
}
.insights-table th[scope="col"] {
background-color: #00549e;
border-left-color: #fff;
color: #fff;
}

View File

@@ -0,0 +1,417 @@
*, *::after, *::before {
box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
}
pre, ul {
margin: 0;
}
ol {
list-style-type: none;
}
h1 {
font-size: 3em;
}
h2 {
font-size: 2em;
}
h3, h4, h5, h6 {
font-size: 1em;
}
html {
box-sizing: border-box;
font-family: Verdana, sans-serif;
line-height: 1.5;
}
body {
margin: 1.5em 0;
}
@media screen and (min-width: 50em) {
body {
margin: 1.5em 2ch;
padding: 1.5em 2ch;
}
}
a:active, header a:active {
outline-style: solid;
}
header, main {
margin: 0 auto;
max-width: 90ch;
padding: 1.5em 4ch;
}
header {
border-radius: .25em .25em 0 0;
}
main {
border-radius: 0 0 .25em .25em;
}
summary {
cursor: pointer;
}
.contents {
margin-top: 1.5em;
}
main > section {
margin-bottom: 4.5em;
}
.about-this-report > section {
margin-bottom: 3em;
}
.summaries section {
margin-bottom: 3em;
}
h2 {
margin-bottom: .75em;
}
h3 {
margin-bottom: 1.5em;
}
h4 {
margin-bottom: 1.5em;
}
.report-parameters--container h4 {
margin-top: 1.5em;
}
p {
margin: 1.5em 0;
}
p:first-of-type {
margin-top: 0;
}
p:last-of-type {
margin-bottom: 0;
}
.contents li, .alerts li, .alert-types > ol > li {
margin-top: 1.5em;
}
.alert-types h4 {
margin-bottom: 0;
}
a {
border-radius: .125em;
}
caption {
margin-bottom: 1.5em;
text-align: left;
}
code, .request-method-n-url {
overflow-wrap: anywhere;
white-space: break-spaces;
}
table {
border-collapse: collapse;
}
.report-description--container, .report-parameters--container {
margin-left: 2ch;
padding: 0 2ch;
}
.about-this-report h3, .summaries h3, .appendix h3 {
border-bottom: .05em solid;
}
.alerts h4 {
text-align: center;
}
.alerts ol {
padding-left: 0;
}
.alerts--site-li {
border: .05em solid;
border-radius: .25em;
margin-left: 2ch;
padding: 1.5em 3ch;
}
.contents ol {
list-style-position: inside;
list-style-type: square;
padding-left: 4ch;
}
.contexts-list, .sites-list {
list-style-type: square;
}
.risk-confidence-counts-table {
width: 100%;
}
.risk-confidence-counts-table tr {
height: 4.5em;
}
.risk-confidence-counts-table thead > tr {
height: 3em;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table th[scope="rowgroup"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.risk-confidence-counts-table th[scope="row"] {
padding-right: 5%;
}
@media screen and (max-width: 50em) {
.risk-confidence-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.risk-confidence-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.risk-confidence-counts-table > tbody > tr {
border-top: .05em solid;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table td {
vertical-align: top;
}
.risk-confidence-counts-table th[scope="col"] {
vertical-align: bottom;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.risk-confidence-counts-table td, .risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
text-align: right;
}
.site-risk-counts-table {
width: 100%;
}
.site-risk-counts-table tr {
height: 4.5em;
}
.site-risk-counts-table thead > tr:first-of-type {
height: 3em;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table th[scope="col"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.site-risk-counts-table th[scope="row"] {
padding-right: 1%;
}
@media screen and (max-width: 50em) {
.site-risk-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.site-risk-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.site-risk-counts-table > tbody > tr {
border-top: .05em solid;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table td {
vertical-align: top;
}
.site-risk-counts-table th[scope="col"] {
vertical-align: bottom;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.site-risk-counts-table td, .site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
text-align: right;
}
.alert-type-counts-table {
width: 100%;
}
.alert-type-counts-table th, .alert-type-counts-table td {
padding: 0 1rem;
text-align: left;
vertical-align: top;
}
.alert-type-counts-table td:nth-last-of-type(2) {
padding-left: 1.5rem;
}
.alert-type-counts-table > tbody > tr {
border-bottom: 0.05em dotted;
}
.alert-type-counts-table th[scope="col"] {
border-left: 1rem solid;
}
.alert-type-counts-table th[scope="col"]:first-of-type {
border-left: 0;
}
.alert-type-counts-table th[scope="col"]:last-of-type, .alert-type-counts-table td:last-of-type {
text-align: right;
}
.alert-type-counts-table th[scope="col"], .alert-type-counts-table th[scope="row"] {
font-weight: normal;
}
.alert-type-counts-table th[scope="row"], .alert-type-counts-table td {
padding-bottom: 1.5em;
}
.alert-type-counts-table thead > th:first-of-type {
width: 45%;
}
.alerts-table, .alert-types-table, .insights-table {
border-collapse: separate;
border-spacing: 2ch 1.5em;
width: 100%;
}
.alerts-table th, .alerts-table td, .alert-types-table th, .alert-types-table td, .insights-table td, .insights-table th {
vertical-align: top;
}
.alerts-table td, .alert-types-table td, .insights-table td {
overflow-wrap: anywhere;
}
.alerts-table th, .alert-types-table th, .insights-table th {
padding: 0 1ch;
}
.alerts-table td, .alert-types-table td {
padding: 0 2ch;
}
.insights-table td {
padding: 0 1ch;
}
.alerts-table summary {
margin-bottom: 1.5em;
}
.alert-tags-list {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-tags-list > li {
margin-top: 0;
}
.request-body, .response-body {
margin-top: 1.5em;
}
.request-method-n-url {
margin-bottom: 0;
}
.alert-types-table {
padding-top: 0;
}
.alert-types-table th {
width: 20%;
}
.alert-types-table ol {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-types-table li:not(:first-of-type) {
margin-top: 1.5em;
}
p.alert-types-intro {
margin-bottom: 3em;
}
.zap-logo {
height: 1em;
margin-right: .25ch;
width: 1em;
}
h1, h2 {
font-family: Georgia, serif;
}
.risk-level, .confidence-level, .included-risk-codes, .included-confidence-codes, .additional-info-percentages {
font-family: monospace, monospace;
}
.context, .site, .request-method-n-url {
font-family: monospace, monospace;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
# The MIT License (MIT)
Copyright © Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -0,0 +1,139 @@
body {
background-color: #306aa0;
background-image: radial-gradient(circle at top left, #fff 0%, #8ce1d6 15em, #306aa0 100em, #386095 100%);
}
main, footer {
background-color: #fff;
}
header {
background-color: #00549e;
color: #fff;
}
a:link {
color: #004380;
}
a:visited {
color: #770d67;
}
a:focus {
background-color: #ffd54d;
}
a:hover {
background-color: #ffd54d;
}
a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
header a:link {
color: #f2f7fd;
}
header a:visited {
color: #f2b5e9;
}
header a:focus {
background-color: #ffd54d;
color: #004380;
}
header a:hover {
background-color: #ffd54d;
color: #004380;
}
header a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #fff6db;
}
summary:focus {
background-color: #ffd54d;
}
summary:hover {
background-color: #ffd54d;
}
summary:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
h2, h3, h4, h5, h6 {
color: #00549e;
}
.risk-level, .confidence-level {
color: #00549e;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
color: #00549e;
}
.risk-confidence-counts-table > tbody > tr {
border-top-color: #00549e;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
color: #00549e;
}
.site-risk-counts-table > tbody > tr {
border-top-color: #00549e;
}
.alert-type-counts-table > tbody > tr {
border-bottom-color: #00549e;
}
.alert-type-counts-table th[scope="col"] {
background-color: #00549e;
color: #fff;
}
.alert-type-counts-table th[scope="col"] {
border-left-color: #fff;
}
.alerts-table th, .alert-types-table th {
background-color: #306aa0;
color: #fff;
}
.additional-info-percentages {
color: #00549e;
}
.insights-table > tbody > tr {
border-bottom-color: #00549e;
}
.insights-table th[scope="col"] {
background-color: #00549e;
border-left-color: #fff;
color: #fff;
}

View File

@@ -0,0 +1,417 @@
*, *::after, *::before {
box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
}
pre, ul {
margin: 0;
}
ol {
list-style-type: none;
}
h1 {
font-size: 3em;
}
h2 {
font-size: 2em;
}
h3, h4, h5, h6 {
font-size: 1em;
}
html {
box-sizing: border-box;
font-family: Verdana, sans-serif;
line-height: 1.5;
}
body {
margin: 1.5em 0;
}
@media screen and (min-width: 50em) {
body {
margin: 1.5em 2ch;
padding: 1.5em 2ch;
}
}
a:active, header a:active {
outline-style: solid;
}
header, main {
margin: 0 auto;
max-width: 90ch;
padding: 1.5em 4ch;
}
header {
border-radius: .25em .25em 0 0;
}
main {
border-radius: 0 0 .25em .25em;
}
summary {
cursor: pointer;
}
.contents {
margin-top: 1.5em;
}
main > section {
margin-bottom: 4.5em;
}
.about-this-report > section {
margin-bottom: 3em;
}
.summaries section {
margin-bottom: 3em;
}
h2 {
margin-bottom: .75em;
}
h3 {
margin-bottom: 1.5em;
}
h4 {
margin-bottom: 1.5em;
}
.report-parameters--container h4 {
margin-top: 1.5em;
}
p {
margin: 1.5em 0;
}
p:first-of-type {
margin-top: 0;
}
p:last-of-type {
margin-bottom: 0;
}
.contents li, .alerts li, .alert-types > ol > li {
margin-top: 1.5em;
}
.alert-types h4 {
margin-bottom: 0;
}
a {
border-radius: .125em;
}
caption {
margin-bottom: 1.5em;
text-align: left;
}
code, .request-method-n-url {
overflow-wrap: anywhere;
white-space: break-spaces;
}
table {
border-collapse: collapse;
}
.report-description--container, .report-parameters--container {
margin-left: 2ch;
padding: 0 2ch;
}
.about-this-report h3, .summaries h3, .appendix h3 {
border-bottom: .05em solid;
}
.alerts h4 {
text-align: center;
}
.alerts ol {
padding-left: 0;
}
.alerts--site-li {
border: .05em solid;
border-radius: .25em;
margin-left: 2ch;
padding: 1.5em 3ch;
}
.contents ol {
list-style-position: inside;
list-style-type: square;
padding-left: 4ch;
}
.contexts-list, .sites-list {
list-style-type: square;
}
.risk-confidence-counts-table {
width: 100%;
}
.risk-confidence-counts-table tr {
height: 4.5em;
}
.risk-confidence-counts-table thead > tr {
height: 3em;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table th[scope="rowgroup"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.risk-confidence-counts-table th[scope="row"] {
padding-right: 5%;
}
@media screen and (max-width: 50em) {
.risk-confidence-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.risk-confidence-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.risk-confidence-counts-table > tbody > tr {
border-top: .05em solid;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table td {
vertical-align: top;
}
.risk-confidence-counts-table th[scope="col"] {
vertical-align: bottom;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.risk-confidence-counts-table td, .risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
text-align: right;
}
.site-risk-counts-table {
width: 100%;
}
.site-risk-counts-table tr {
height: 4.5em;
}
.site-risk-counts-table thead > tr:first-of-type {
height: 3em;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table th[scope="col"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.site-risk-counts-table th[scope="row"] {
padding-right: 1%;
}
@media screen and (max-width: 50em) {
.site-risk-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.site-risk-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.site-risk-counts-table > tbody > tr {
border-top: .05em solid;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table td {
vertical-align: top;
}
.site-risk-counts-table th[scope="col"] {
vertical-align: bottom;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.site-risk-counts-table td, .site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
text-align: right;
}
.alert-type-counts-table {
width: 100%;
}
.alert-type-counts-table th, .alert-type-counts-table td {
padding: 0 1rem;
text-align: left;
vertical-align: top;
}
.alert-type-counts-table td:nth-last-of-type(2) {
padding-left: 1.5rem;
}
.alert-type-counts-table > tbody > tr {
border-bottom: 0.05em dotted;
}
.alert-type-counts-table th[scope="col"] {
border-left: 1rem solid;
}
.alert-type-counts-table th[scope="col"]:first-of-type {
border-left: 0;
}
.alert-type-counts-table th[scope="col"]:last-of-type, .alert-type-counts-table td:last-of-type {
text-align: right;
}
.alert-type-counts-table th[scope="col"], .alert-type-counts-table th[scope="row"] {
font-weight: normal;
}
.alert-type-counts-table th[scope="row"], .alert-type-counts-table td {
padding-bottom: 1.5em;
}
.alert-type-counts-table thead > th:first-of-type {
width: 45%;
}
.alerts-table, .alert-types-table, .insights-table {
border-collapse: separate;
border-spacing: 2ch 1.5em;
width: 100%;
}
.alerts-table th, .alerts-table td, .alert-types-table th, .alert-types-table td, .insights-table td, .insights-table th {
vertical-align: top;
}
.alerts-table td, .alert-types-table td, .insights-table td {
overflow-wrap: anywhere;
}
.alerts-table th, .alert-types-table th, .insights-table th {
padding: 0 1ch;
}
.alerts-table td, .alert-types-table td {
padding: 0 2ch;
}
.insights-table td {
padding: 0 1ch;
}
.alerts-table summary {
margin-bottom: 1.5em;
}
.alert-tags-list {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-tags-list > li {
margin-top: 0;
}
.request-body, .response-body {
margin-top: 1.5em;
}
.request-method-n-url {
margin-bottom: 0;
}
.alert-types-table {
padding-top: 0;
}
.alert-types-table th {
width: 20%;
}
.alert-types-table ol {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-types-table li:not(:first-of-type) {
margin-top: 1.5em;
}
p.alert-types-intro {
margin-bottom: 3em;
}
.zap-logo {
height: 1em;
margin-right: .25ch;
width: 1em;
}
h1, h2 {
font-family: Georgia, serif;
}
.risk-level, .confidence-level, .included-risk-codes, .included-confidence-codes, .additional-info-percentages {
font-family: monospace, monospace;
}
.context, .site, .request-method-n-url {
font-family: monospace, monospace;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
# The MIT License (MIT)
Copyright © Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -0,0 +1,139 @@
body {
background-color: #306aa0;
background-image: radial-gradient(circle at top left, #fff 0%, #8ce1d6 15em, #306aa0 100em, #386095 100%);
}
main, footer {
background-color: #fff;
}
header {
background-color: #00549e;
color: #fff;
}
a:link {
color: #004380;
}
a:visited {
color: #770d67;
}
a:focus {
background-color: #ffd54d;
}
a:hover {
background-color: #ffd54d;
}
a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
header a:link {
color: #f2f7fd;
}
header a:visited {
color: #f2b5e9;
}
header a:focus {
background-color: #ffd54d;
color: #004380;
}
header a:hover {
background-color: #ffd54d;
color: #004380;
}
header a:active {
background-color: #ffd54d;
color: #003261;
outline-color: #fff6db;
}
summary:focus {
background-color: #ffd54d;
}
summary:hover {
background-color: #ffd54d;
}
summary:active {
background-color: #ffd54d;
color: #003261;
outline-color: #f4ba00;
}
h2, h3, h4, h5, h6 {
color: #00549e;
}
.risk-level, .confidence-level {
color: #00549e;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
color: #00549e;
}
.risk-confidence-counts-table > tbody > tr {
border-top-color: #00549e;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
background-color: #00549e;
color: #fff;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
color: #00549e;
}
.site-risk-counts-table > tbody > tr {
border-top-color: #00549e;
}
.alert-type-counts-table > tbody > tr {
border-bottom-color: #00549e;
}
.alert-type-counts-table th[scope="col"] {
background-color: #00549e;
color: #fff;
}
.alert-type-counts-table th[scope="col"] {
border-left-color: #fff;
}
.alerts-table th, .alert-types-table th {
background-color: #306aa0;
color: #fff;
}
.additional-info-percentages {
color: #00549e;
}
.insights-table > tbody > tr {
border-bottom-color: #00549e;
}
.insights-table th[scope="col"] {
background-color: #00549e;
border-left-color: #fff;
color: #fff;
}

View File

@@ -0,0 +1,417 @@
*, *::after, *::before {
box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
}
pre, ul {
margin: 0;
}
ol {
list-style-type: none;
}
h1 {
font-size: 3em;
}
h2 {
font-size: 2em;
}
h3, h4, h5, h6 {
font-size: 1em;
}
html {
box-sizing: border-box;
font-family: Verdana, sans-serif;
line-height: 1.5;
}
body {
margin: 1.5em 0;
}
@media screen and (min-width: 50em) {
body {
margin: 1.5em 2ch;
padding: 1.5em 2ch;
}
}
a:active, header a:active {
outline-style: solid;
}
header, main {
margin: 0 auto;
max-width: 90ch;
padding: 1.5em 4ch;
}
header {
border-radius: .25em .25em 0 0;
}
main {
border-radius: 0 0 .25em .25em;
}
summary {
cursor: pointer;
}
.contents {
margin-top: 1.5em;
}
main > section {
margin-bottom: 4.5em;
}
.about-this-report > section {
margin-bottom: 3em;
}
.summaries section {
margin-bottom: 3em;
}
h2 {
margin-bottom: .75em;
}
h3 {
margin-bottom: 1.5em;
}
h4 {
margin-bottom: 1.5em;
}
.report-parameters--container h4 {
margin-top: 1.5em;
}
p {
margin: 1.5em 0;
}
p:first-of-type {
margin-top: 0;
}
p:last-of-type {
margin-bottom: 0;
}
.contents li, .alerts li, .alert-types > ol > li {
margin-top: 1.5em;
}
.alert-types h4 {
margin-bottom: 0;
}
a {
border-radius: .125em;
}
caption {
margin-bottom: 1.5em;
text-align: left;
}
code, .request-method-n-url {
overflow-wrap: anywhere;
white-space: break-spaces;
}
table {
border-collapse: collapse;
}
.report-description--container, .report-parameters--container {
margin-left: 2ch;
padding: 0 2ch;
}
.about-this-report h3, .summaries h3, .appendix h3 {
border-bottom: .05em solid;
}
.alerts h4 {
text-align: center;
}
.alerts ol {
padding-left: 0;
}
.alerts--site-li {
border: .05em solid;
border-radius: .25em;
margin-left: 2ch;
padding: 1.5em 3ch;
}
.contents ol {
list-style-position: inside;
list-style-type: square;
padding-left: 4ch;
}
.contexts-list, .sites-list {
list-style-type: square;
}
.risk-confidence-counts-table {
width: 100%;
}
.risk-confidence-counts-table tr {
height: 4.5em;
}
.risk-confidence-counts-table thead > tr {
height: 3em;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table th[scope="rowgroup"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.risk-confidence-counts-table th[scope="row"] {
padding-right: 5%;
}
@media screen and (max-width: 50em) {
.risk-confidence-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.risk-confidence-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.risk-confidence-counts-table > tbody > tr {
border-top: .05em solid;
}
.risk-confidence-counts-table th[scope="row"], .risk-confidence-counts-table td {
vertical-align: top;
}
.risk-confidence-counts-table th[scope="col"] {
vertical-align: bottom;
}
.risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.risk-confidence-counts-table th[scope="colgroup"], .risk-confidence-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.risk-confidence-counts-table td, .risk-confidence-counts-table th[scope="col"], .risk-confidence-counts-table th[scope="row"] {
text-align: right;
}
.site-risk-counts-table {
width: 100%;
}
.site-risk-counts-table tr {
height: 4.5em;
}
.site-risk-counts-table thead > tr:first-of-type {
height: 3em;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table th[scope="col"] {
hyphens: auto;
overflow-wrap: anywhere;
word-break: break-all;
}
.site-risk-counts-table th[scope="row"] {
padding-right: 1%;
}
@media screen and (max-width: 50em) {
.site-risk-counts-table th[scope="row"] {
padding-right: 1ch;
}
}
.site-risk-counts-table th[scope="rowgroup"] {
padding: 0 .5ch;
vertical-align: middle;
}
.site-risk-counts-table > tbody > tr {
border-top: .05em solid;
}
.site-risk-counts-table th[scope="row"], .site-risk-counts-table td {
vertical-align: top;
}
.site-risk-counts-table th[scope="col"] {
vertical-align: bottom;
}
.site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
font-family: monospace, monospace;
font-weight: bold;
}
.site-risk-counts-table th[scope="colgroup"], .site-risk-counts-table th[scope="rowgroup"] {
font-weight: normal;
}
.site-risk-counts-table td, .site-risk-counts-table th[scope="col"], .site-risk-counts-table th[scope="row"] {
text-align: right;
}
.alert-type-counts-table {
width: 100%;
}
.alert-type-counts-table th, .alert-type-counts-table td {
padding: 0 1rem;
text-align: left;
vertical-align: top;
}
.alert-type-counts-table td:nth-last-of-type(2) {
padding-left: 1.5rem;
}
.alert-type-counts-table > tbody > tr {
border-bottom: 0.05em dotted;
}
.alert-type-counts-table th[scope="col"] {
border-left: 1rem solid;
}
.alert-type-counts-table th[scope="col"]:first-of-type {
border-left: 0;
}
.alert-type-counts-table th[scope="col"]:last-of-type, .alert-type-counts-table td:last-of-type {
text-align: right;
}
.alert-type-counts-table th[scope="col"], .alert-type-counts-table th[scope="row"] {
font-weight: normal;
}
.alert-type-counts-table th[scope="row"], .alert-type-counts-table td {
padding-bottom: 1.5em;
}
.alert-type-counts-table thead > th:first-of-type {
width: 45%;
}
.alerts-table, .alert-types-table, .insights-table {
border-collapse: separate;
border-spacing: 2ch 1.5em;
width: 100%;
}
.alerts-table th, .alerts-table td, .alert-types-table th, .alert-types-table td, .insights-table td, .insights-table th {
vertical-align: top;
}
.alerts-table td, .alert-types-table td, .insights-table td {
overflow-wrap: anywhere;
}
.alerts-table th, .alert-types-table th, .insights-table th {
padding: 0 1ch;
}
.alerts-table td, .alert-types-table td {
padding: 0 2ch;
}
.insights-table td {
padding: 0 1ch;
}
.alerts-table summary {
margin-bottom: 1.5em;
}
.alert-tags-list {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-tags-list > li {
margin-top: 0;
}
.request-body, .response-body {
margin-top: 1.5em;
}
.request-method-n-url {
margin-bottom: 0;
}
.alert-types-table {
padding-top: 0;
}
.alert-types-table th {
width: 20%;
}
.alert-types-table ol {
list-style-position: inside;
list-style-type: square;
padding-left: 0;
}
.alert-types-table li:not(:first-of-type) {
margin-top: 1.5em;
}
p.alert-types-intro {
margin-bottom: 3em;
}
.zap-logo {
height: 1em;
margin-right: .25ch;
width: 1em;
}
h1, h2 {
font-family: Georgia, serif;
}
.risk-level, .confidence-level, .included-risk-codes, .included-confidence-codes, .additional-info-percentages {
font-family: monospace, monospace;
}
.context, .site, .request-method-n-url {
font-family: monospace, monospace;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -7,10 +7,10 @@ routerIp=23.214.219.254
mask25=255.255.255.128
dns=23.214.219.130
mail=23.214.219.131
vpn_gw=23.214.219.132
www=23.214.219.133
smtp=23.214.219.134
mail=23.214.219.134
vpn_gw=23.214.219.133
www=23.214.219.132
smtp=23.214.219.131
dnsPort=53
mailPort=888
@@ -26,7 +26,7 @@ sudo systemctl enable iptables
sudo iptables -F
sudo ifconfig enp0s8 $ip netmask $mask25
sudo ip route add 192.168.10.0/24 via $routerIp
sudo add default gw $routerIp
sudo route add default gw $routerIp
# alias dos ips
sudo ip addr add $dns dev enp0s8
sudo ip addr add $mail dev enp0s8

View File

@@ -9,7 +9,7 @@ sudo systemctl disable firewalld
sudo systemctl mask firewalld
sudo systemctl enable iptables
sudo iptables -F
sudo ifconfig enp0s8 $dn2 netmask $mask24
sudo ifconfig enp0s8 $dns2 netmask $mask24
sudo route add default gw $routerIp
sudo ip addr add $dns2 dev enp0s8
#sudo ip addr add $dns2 dev enp0s8
sudo ip addr add $eden dev enp0s8

106
assignment1/ROUTER.sh Normal file
View File

@@ -0,0 +1,106 @@
#!/bin/bash
dns2="87.248.214.99"
eden="87.248.214.100"
# Router 1
dmzIP="23.214.219.254"
internalIP="192.168.10.254"
externalIP="87.248.214.97"
# DMZ /25
dns="23.214.219.130"
smtp="23.214.219.131"
www="23.214.219.132"
vpn_gw="23.214.219.133"
mail="23.214.219.134"
# Internal
ftp="192.168.10.2"
datastore="192.168.10.3"
dhcpClient="192.168.10.4"
# Interfaces
dmzIF="enp0s8"
internalIF="enp0s9"
externalIF="enp0s10"
sudo ifconfig $dmzIF $dmzIP netmask 255.255.255.128
sudo ifconfig $internalIF $internalIP netmask 255.255.255.0
sudo ifconfig $externalIF $externalIP netmask 255.255.255.0
sudo yum install iptables-services -y
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo systemctl mask firewalld
sudo systemctl enable iptables
sudo iptables -F
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo sysctl -w net.ipv4.ip_forward=1
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
#sudo iptables -t nat -A POSTROUTING -i $internalIF -o enp0s3 -j MASQUERADE #SUS
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #CAREFULL
#DNS name resolution requests sent to outside servers and want a response:
sudo iptables -A INPUT -i $externalIF -p udp --dport 53 -j ACCEPT
#SSH connections to the router system that originate from the inside and want an answer:
sudo iptables -A INPUT -i $internalIF -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -i $dmzIF -s $vpn_gw -p tcp --dport 22 -j ACCEPT
#The dns server should be able to resolve names using the internet (and others???)
sudo iptables -I FORWARD -j NFQUEUE --queue-bypass
sudo iptables -I INPUT -j NFQUEUE --queue-bypass
sudo iptables -A FORWARD -i $dmzIF -o $externalIF -s $dns -p udp --dport 53 -j ACCEPT
#The internal network should be able to send and recieve dns name resolutions to the dns server (1!)
sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $dns -p udp --dport 53 -j ACCEPT
sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT #THIS IS IMPORTANT AND MIGHT FUCK US
#The dns and dns2 servers should be able to synchronize the contents of DNS zones. (protocol tcp port 53)
sudo iptables -A FORWARD -i $dmzIF -o $externalIF -s $dns -p tcp --dport 53 -j ACCEPT
#SMTP connections to the smtp server and returns
sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $smtp -p tcp --dport 587 -j ACCEPT
#sudo iptables -A FORWARD -i $dmzIF -o $internalIF -p tcp --dport 587 -m state --state ESTABLISHED,RELATED -j ACCEPT
#POP and IMAP connections to the www server
sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $mail -p tcp --dport 143 -j ACCEPT
sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $mail -p tcp --dport 110 -j ACCEPT
#HTTP and HTTPS connectins
sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $www -p tcp --dport 80 -j ACCEPT
sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $www -p tcp --dport 443 -j ACCEPT
#OpenVPN connections to the vpn-gw server
sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $vpn_gw -p udp --dport 1194 -j ACCEPT
#sudo iptables -A FORWARD -i $dmzIF -o $internalIF -p udp --dport 1194 -j ACCEPT
#VPN clients connected to the gateway vpn-gw ???? vpn should be able to acess ftp e datastore
sudo iptables -A FORWARD -i $dmzIF -o $internalIF -s $vpn_gw -d $ftp -j ACCEPT
sudo iptables -A FORWARD -i $dmzIF -o $internalIF -s $vpn_gw -d $datastore -j ACCEPT
#FTP da internet WORRIED ???
sudo iptables -A FORWARD -i $externalIF -o $internalIF -d $ftp -p tcp --dport 21 -j ACCEPT
sudo iptables -A FORWARD -i $internalIF -o $externalIF -p tcp --sport 20 -j ACCEPT #MIGHT BE NEEDED
#SSH CONNECTIONS datastore server but only from eden or dn2 DNAT -s servers, and port and -d interface
sudo iptables -t nat -A PREROUTING -s $dns2 -p tcp --dport 22 -j DNAT --to-destination $datastore
sudo iptables -t nat -A PREROUTING -s $eden -p tcp --dport 22 -j DNAT --to-destination $datastore
sudo iptables -t nat -A PREROUTING -i $externalIF -p tcp --dport 21 -j DNAT --to-destination $ftp
sudo iptables -A FORWARD -i $externalIF -o $internalIF -d $datastore -s $dns2 -p tcp --dport 22 -j ACCEPT #Need to check and make diferent ip addresses
sudo iptables -A FORWARD -i $externalIF -o $internalIF -d $datastore -s $eden -p tcp --dport 22 -j ACCEPT
#$internalIF to internet DNS, http, https, ssh, FTP(SERVERS??????(WHO INVITED THIS GUY)) SNAT
sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o $externalIF -j SNAT --to-source $externalIP
sudo iptables -A FORWARD -i $internalIF -o $externalIF -p udp --dport 53 -j ACCEPT
sudo iptables -A FORWARD -i $internalIF -o $externalIF -p tcp --dport 80 -j ACCEPT
sudo iptables -A FORWARD -i $internalIF -o $externalIF -p tcp --dport 443 -j ACCEPT
sudo iptables -A FORWARD -i $internalIF -o $externalIF -p tcp --sport 21 -j ACCEPT #MIGHT NOT BE ENOUGH
sudo iptables -A FORWARD -i $internalIF -o $externalIF -p tcp --dport 21 -j ACCEPT

BIN
assignment1/entrega.zip Normal file

Binary file not shown.

2281
assignment1/entrega.zip.asc Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -5,10 +5,9 @@
\babel@aux{portuguese}{}
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2}Firewall}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Packet fileter with NAT}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Packet filtering without NAT}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}External Network}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Internal Network}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3}Intrusion Detection}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{2}{}\protected@file@percent }
\gdef \@abspage@last{2}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Packet fileter without NAT}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Packet filtering with NAT}{3}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3}Intrusion Detection}{4}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4}Tests utilizados}{5}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5}Conclusion}{5}{}\protected@file@percent }
\gdef \@abspage@last{5}

View File

@@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2026/dev/Arch Linux) (preloaded format=pdflatex 2026.1.17) 16 MAR 2026 16:24
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2026/dev/Arch Linux) (preloaded format=pdflatex 2026.1.17) 22 MAR 2026 22:27
entering extended mode
\write18 enabled.
%&-line parsing enabled.
@@ -89,52 +89,80 @@ LaTeX Info: Redefining \textulc on input line 49.
LaTeX Info: Redefining \oldstylenums on input line 163.
LaTeX Info: Redefining \textsw on input line 173.
)
(/usr/share/texmf-dist/tex/latex/listings/listings.sty
\lst@mode=\count273
\lst@gtempboxa=\box52
\lst@token=\toks19
\lst@length=\count274
\lst@currlwidth=\dimen143
\lst@column=\count275
\lst@pos=\count276
\lst@lostspace=\dimen144
\lst@width=\dimen145
\lst@newlines=\count277
\lst@lineno=\count278
\lst@maxwidth=\dimen146
(/usr/share/texmf-dist/tex/latex/listings/lstpatch.sty
File: lstpatch.sty 2024/09/23 1.10c (Carsten Heinz)
)
(/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
File: lstmisc.sty 2024/09/23 1.10c (Carsten Heinz)
\c@lstnumber=\count279
\lst@skipnumbers=\count280
\lst@framebox=\box53
)
(/usr/share/texmf-dist/tex/latex/listings/listings.cfg
File: listings.cfg 2024/09/23 1.10c listings configuration
))
Package: listings 2024/09/23 1.10c (Carsten Heinz)
LaTeX Font Info: Trying to load font information for OT1+EBGaramond-LF on in
put line 11.
put line 28.
(/usr/share/texmf-dist/tex/latex/ebgaramond/OT1EBGaramond-LF.fd
File: OT1EBGaramond-LF.fd 2023/03/19 (autoinst) Font definitions for OT1/EBGara
mond-LF.
)
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be
(Font) scaled to size 12.0pt on input line 11.
(Font) scaled to size 12.0pt on input line 28.
(/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
File: l3backend-pdftex.def 2024-05-08 L3 backend support: PDF output (pdfTeX)
\l__color_backend_stack_int=\count273
\l__pdf_internal_box=\box52
\l__color_backend_stack_int=\count281
\l__pdf_internal_box=\box54
)
(/home/vasco/EngenhariaInformatica/3ano/sem2/fsi/trabalho/relatorio.aux)
\openout1 = `relatorio.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
\c@mv@tabular=\count274
\c@mv@boldtabular=\count275
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 28.
LaTeX Font Info: ... okay on input line 28.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 28.
LaTeX Font Info: ... okay on input line 28.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 28.
LaTeX Font Info: ... okay on input line 28.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 28.
LaTeX Font Info: ... okay on input line 28.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 28.
LaTeX Font Info: ... okay on input line 28.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 28.
LaTeX Font Info: ... okay on input line 28.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 28.
LaTeX Font Info: ... okay on input line 28.
\c@mv@tabular=\count282
\c@mv@boldtabular=\count283
\c@lstlisting=\count284
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be
(Font) scaled to size 20.74pt on input line 12.
(Font) scaled to size 20.74pt on input line 29.
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be
(Font) scaled to size 14.4pt on input line 12.
(Font) scaled to size 14.4pt on input line 29.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <14.4> on input line 12.
(Font) <14.4> on input line 29.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 12.
(Font) <7> on input line 29.
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be
(Font) scaled to size 17.28pt on input line 13.
(Font) scaled to size 17.28pt on input line 30.
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/b/n' will be
(Font) scaled to size 17.28pt on input line 13.
(Font) scaled to size 17.28pt on input line 30.
(/home/vasco/EngenhariaInformatica/3ano/sem2/fsi/trabalho/relatorio.toc
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/b/n' will be
@@ -155,31 +183,62 @@ LaTeX Font Info: External font `cmex10' loaded for size
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}{/usr/share/texmf-dist/fonts
/enc/dvips/ebgaramond/ebg_dacnth.enc}]
(/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
File: lstlang1.sty 2024/09/23 1.10c listings language file
)
(/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
File: lstlang1.sty 2024/09/23 1.10c listings language file
)
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be
(Font) scaled to size 10.0pt on input line 37.
Overfull \hbox (7.49481pt too wide) in paragraph at lines 42--44
\OT1/EBGaramond-LF/m/n/12 As tr[]es re-des tem va-rios servi[]os, o DMZ tem dns
(23.214.219.130), mail(23.214.219.134),
[]
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/b/n' will be
(Font) scaled to size 14.4pt on input line 19.
(Font) scaled to size 14.4pt on input line 45.
[2] (/home/vasco/EngenhariaInformatica/3ano/sem2/fsi/trabalho/relatorio.aux)
[2]
[3]
LaTeX Font Info: Font shape `OT1/cmtt/bx/n' in size <10> not available
(Font) Font shape `OT1/cmtt/m/n' tried instead on input line 93.
[4{/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.enc}]
Overfull \hbox (23.24622pt too wide) in paragraph at lines 125--126
\OT1/EBGaramond-LF/m/n/12 Ao realizar-mos este pro-jeto apren-de-mos so-bre a c
ria[][]ao de sce-na-rios em VMs, a configura[][]ao
[]
[5] (/home/vasco/EngenhariaInformatica/3ano/sem2/fsi/trabalho/relatorio.aux)
***********
LaTeX2e <2024-11-01> patch level 2
L3 programming layer <2025-01-18>
***********
)
Here is how much of TeX's memory you used:
2577 strings out of 474546
48289 string characters out of 5749982
436453 words of memory out of 5000000
25628 multiletter control sequences out of 15000+600000
572213 words of font info for 55 fonts, out of 8000000 for 9000
4439 strings out of 474546
72779 string characters out of 5749982
968296 words of memory out of 5000000
27469 multiletter control sequences out of 15000+600000
573916 words of font info for 59 fonts, out of 8000000 for 9000
352 hyphenation exceptions out of 8191
57i,7n,65p,220b,231s stack positions out of 10000i,1000n,20000p,200000b,200000s
57i,7n,99p,546b,1693s stack positions out of 10000i,1000n,20000p,200000b,200000s
</usr/share/texmf-dist/fonts/type1/public/ebgaramond/EBGaramond-Bold.pfb></us
r/share/texmf-dist/fonts/type1/public/ebgaramond/EBGaramond-Regular.pfb>
r/share/texmf-dist/fonts/type1/public/ebgaramond/EBGaramond-Regular.pfb></usr/s
hare/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb></usr/share/texmf-dis
t/fonts/type1/public/cm-super/sftt1000.pfb>
Output written on /home/vasco/EngenhariaInformatica/3ano/sem2/fsi/trabalho/rela
torio.pdf (2 pages, 42851 bytes).
torio.pdf (5 pages, 78451 bytes).
PDF statistics:
22 PDF objects out of 1000 (max. 8388607)
13 compressed objects within 1 object stream
42 PDF objects out of 1000 (max. 8388607)
26 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)

BIN
assignment1/relatorio.pdf Normal file

Binary file not shown.

126
assignment1/relatorio.tex Normal file
View File

@@ -0,0 +1,126 @@
\documentclass[12pt,a4paper]{article}
\usepackage[portuguese]{babel}
\usepackage[lining]{ebgaramond}
\usepackage{listings}
\lstdefinestyle{mystyle}{
basicstyle=\ttfamily\footnotesize,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2
}
\lstset{style=mystyle}
\title{Practical Assignment \#1}
\author{
João Neto -- 2023234004\\[1em]
Vasco Alves -- 2022228207
}
\begin{document}
\maketitle
\tableofcontents
\newpage
\section{Introduction}
O objetivo principal deste trabalho era aprender IPTables e como configurar um com o Suricata um sistema de filtração e deteção de ataques. Para esse fim, foi simulado um sistema dividido em três redes e um router para conectar-las. As três redes são a DMZ (23.214.219.128/25, enp0s8), Internal network (192.168.10.0/24, enp0s9) e Internet (87.248.214.0/24, enp0s10).
\begin{lstlisting}[language=bash]
Rede,Interface,Gama IP
DMZ,enp0s8,23.214.219.128/25
Internal,enp0s9,192.168.10.0/24
Internet,enp0s10,87.248.214.0/24
\end{lstlisting}
As três redes tem varios serviços, o DMZ tem dns(23.214.219.130), mail(23.214.219.134), vpn-gw(23.214.219.133), www(23.214.219.132) e smpt(23.214.219.131). A Internal network tem ftp(192.168.10.2), datastore(192.168.10.3) e clientes (nos testes os clientes tem ip 192.168.10.4, mas está configurado para dar para qualquer edereço). Por fim a rede Internet tem dns2 (87.248.214.99) e eden (87.248.214.100), existe também outros serviços (87.248.214.98).
Para facilitar a recriação deste sistema foi criado 4 ficheiros .sh (um para cada rede e o router), e disponibilizamos os ficheiros suricata.rules e suricata.yaml, para o suricata que estiver ligado ao Router. Os ficheiros .sh vão ter comandos para configurar o sistema para este exercicio.
\section{Firewall}
\subsection{Packet fileter without NAT}
O policy que foi escolhido foi:
\begin{lstlisting}[language=bash]
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
\end{lstlisting}
Foi escolhido porque é mais facil dar DROP a todos os pacotes que não foi criado regras do que criar uma regra de DROP para todos os protocolos e possibilidades, o OUTPUT ficou para ACCEPT porque não existe razão para dar DROP dos pacotes que estamos a enviar neste trabalho.
Para o router conseguir resolver DNS requests e para aceitar coneções SSH da rede interna ou da VPN gateway foi utilizado estes comandos:
\begin{lstlisting}[language=bash]
sudo iptables -A INPUT -i enp0s10 -p udp --dport 53 -j ACCEPT
sudo iptables -A INPUT -i enp0s9 -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -i enp0s8 -s 23.214.219.133 -p tcp --dport 22 -j ACCEPT
\end{lstlisting}
Para conseguirmos a confirguração pedida entre redes foi utilizado estes commandos:
\begin{lstlisting}[language=bash]
sudo iptables -A FORWARD -i enp0s8 -o enp0s10 -s 23.214.219.130 -p udp --dport 53 -j ACCEPT
sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.130 -p udp --dport 53 -j ACCEPT
sudo iptables -A FORWARD -i enp0s8 -o enp0s10 -s 23.214.219.130 -p tcp --dport 53 -j ACCEPT
sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.131 -p tcp --dport 587 -j ACCEPT
sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.134 -p tcp --dport 143 -j ACCEPT
sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.134 -p tcp --dport 110 -j ACCEPT
sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.132 -p tcp --dport 80 -j ACCEPT
sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.132 -p tcp --dport 443 -j ACCEPT
sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.133 -p udp --dport 1194 -j ACCEPT
sudo iptables -A FORWARD -i enp0s8 -o enp0s9 -s 23.214.219.133 -d 192.168.10.2 -j ACCEPT
sudo iptables -A FORWARD -i enp0s8 -o enp0s9 -s 23.214.219.133 -d 192.168.10.3 -j ACCEPT
\end{lstlisting}
Inicialmente as implementações de respostas a forward eram especificas para cada regra isto é por exemplo:
\begin{lstlisting}[language=bash]
sudo iptables -A FORWARD -o enp0s8 -i enp0s10 -p udp --dport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
\end{lstlisting}
No entanto isso facilmente originava confusão entre nós, então decimos utilizar estas duas regras:
\begin{lstlisting}[language=bash]
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
\end{lstlisting}
Neste cenario o uso destas regras faz sentido, mas pode existir outros cenarios no futuro que não queremos uma resposta, e nesse caso temos de criar as regras necessarias.
\subsection{Packet filtering with NAT}
Para conecções com origem/destino na internet foi utilizado DNAT/SNAT e iptables para "esconder" o ip para a internet que querer aceder a rede interna para não terem acesso ao edereço ip e iproutes para bloquear certos pacotes de entrar, para conseguir a configuração utilizamos estes comandos:
\begin{lstlisting}[language=bash]
sudo iptables -A FORWARD -i enp0s10 -o enp0s9 -d 192.168.10.2 -p tcp --dport 21 -j ACCEPT
sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --sport 20 -j ACCEPT
sudo iptables -t nat -A PREROUTING -s $dns2 -p tcp --dport 22 -j DNAT --to-destination 192.168.10.3
sudo iptables -t nat -A PREROUTING -s $eden -p tcp --dport 22 -j DNAT --to-destination 192.168.10.3
sudo iptables -t nat -A PREROUTING -i enp0s10 -p tcp --dport 21 -j DNAT --to-destination 192.168.10.2
sudo iptables -A FORWARD -i enp0s10 -o enp0s9 -d 192.168.10.3 -s $dns2 -p tcp --dport 22 -j ACCEPT
sudo iptables -A FORWARD -i enp0s10 -o enp0s9 -d 192.168.10.3 -s $eden -p tcp --dport 22 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o enp0s10 -j SNAT --to-source 87.248.214.97
sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p udp --dport 53 -j ACCEPT
sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --dport 80 -j ACCEPT
sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --dport 443 -j ACCEPT
sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --sport 21 -j ACCEPT
sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --dport 21 -j ACCEPT
\end{lstlisting}
\section{Intrusion Detection}
As regras que utilizamos para o suricata foram estas:
\begin{lstlisting}[language=bash]
drop tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"ET"; flags:S; threshold:type both, track by_src, count 5, seconds 60; classtype:attempted-recon; sid:1000001; rev:1;)
drop tcp any any -> any 80 (msg:"SQL injection"; content:"union"; nocase; content:"select"; nocase; classtype:web-application-attack; sid:1000002; rev:1;)
drop tcp any any -> any 80 (msg:"SQl injection"; content:"'or 1=1"; nocase; classtype:web-application-attack; sid:1000003; rev:1;)
drop tcp any any -> any 80 (msg:"XSS"; content:"<script"; nocase; classtype:web-application-attack; sid:1000004; rev:1;)
\end{lstlisting}
A primeira é para port scaning, a segunda e a terceira é para o caso de SQL injection, e a ultima é para XSS atacks.
Também atualizamos o iptables para passar para o suricata os pacotes para analizar e bloquear com:
\begin{lstlisting}[language=bash]
sudo iptables -I FORWARD -j NFQUEUE --queue-bypass
sudo iptables -I INPUT -j NFQUEUE --queue-bypass
\end{lstlisting}
\section{Tests utilizados}
Netcat foi utilizado para maior parte dos testes excepto para FTP, em que devido ás suas caracteristicas especificas, utilizamos os serviços para ter a certeza que funcionava com a nossa configuração. Utilizamos estes comandos curl para testar se eram bloqueados:
\begin{lstlisting}[language=bash]
curl -i "http://23.214.219.132/index.php?id=1%20union%20select%201,2,3"
curl -i "http://23.214.219.132/login.php?user='or%201=1"
curl -i "http://23.214.219.132/search.php?q=<script>alert('XSS')</script>"
\end{lstlisting}
\section{Conclusion}
Ao realizar-mos este projeto aprendemos sobre a criação de scenarios em VMs, a configuração de uma firewall utilizando IPTables e a configuração de um IDS/IPS system utilizando Suricata
\end{document}

View File

@@ -0,0 +1,8 @@
\babel@toc {portuguese}{}\relax
\contentsline {section}{\numberline {1}Introduction}{2}{}%
\contentsline {section}{\numberline {2}Firewall}{2}{}%
\contentsline {subsection}{\numberline {2.1}Packet fileter without NAT}{2}{}%
\contentsline {subsection}{\numberline {2.2}Packet filtering with NAT}{3}{}%
\contentsline {section}{\numberline {3}Intrusion Detection}{4}{}%
\contentsline {section}{\numberline {4}Tests utilizados}{5}{}%
\contentsline {section}{\numberline {5}Conclusion}{5}{}%

View File

@@ -0,0 +1,5 @@
drop tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"ET"; flags:S; threshold:type both, track by_src, count 5, seconds 60; classtype:attempted-recon; sid:1000001; rev:1;)
drop tcp any any -> any 80 (msg:"SQL injection"; content:"union"; nocase; content:"select"; nocase; classtype:web-application-attack; sid:1000002; rev:1;)
drop tcp any any -> any 80 (msg:"SQl injection"; content:"'or 1=1"; nocase; classtype:web-application-attack; sid:1000003; rev:1;)
drop tcp any any -> any 80 (msg:"XSS"; content:"<script"; nocase; classtype:web-application-attack; sid:1000004; rev:1;)

2242
assignment1/suricata.yaml Normal file

File diff suppressed because it is too large Load Diff

30
assignment2/VM_CONFIG.sh Normal file
View File

@@ -0,0 +1,30 @@
#!/bin/bash
# NOTA(vasco): feito para correr como root
if [[ "$USER" != "root" ]]; then
echo "corre o script como root"
exit 1
fi
yum install -y epel-release
yum install -y openvpn iptables-services dhcp-client ntpsec
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
systemctl enable iptables
iptables -F
CA_DIR="/etc/pki/CA"
mkdir -p "${CA_DIR}/newcerts"
mkdir -p "${CA_DIR}/private"
touch "${CA_DIR}/index.txt"
cp ca/serial "${CA_DIR}/serial"
mkdir -p /etc/openvpn/server
mkdir -p /etc/openvpn/client
# NOTE(vasco): tive problemas com a sincronização de tempo
# se nao tiver sincronizado, o TOTP nao funciona
systemctl stop chronyd
ntpdate pool.ntp.org
systemctl start chronyd

View File

@@ -0,0 +1,52 @@
#!/bin/bash
# configuracao
source VM_CONFIG.sh
sudo yum install -y epel-release
sudo yum install -y openssl httpd mod_ssl mod_authnz_pam google-authenticator
sudo yum install -y mod_session
# utilizador
id -u john &>/dev/null || useradd john
echo "password" | passwd --stdin john
if_dentro="enp0s8"
ip_dentro="10.60.0.1"
ifconfig $if_dentro $ip_dentro netmask 255.255.255.0
# route de volta para comunicar com o warrior
route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.60.0.3
cp conf/openssl.cnf /etc/pki/tls/
# copiar ca para esta VM
cp ca/index.txt $CA_DIR
cp ca/ca.crt $CA_DIR
cp ca/ca.key $CA_DIR
cp ca/serial $CA_DIR
cp ca/dh2048.pem $CA_DIR
# correr oscp
killall openssl 2>/dev/null
openssl ocsp -index $CA_DIR/index.txt -port 8888 -rsigner $CA_DIR/ca.crt -rkey $CA_DIR/ca.key -CA $CA_DIR/ca.crt -text &
# apache
mkdir -p /etc/httpd/ssl
cp ca/ca.crt /etc/httpd/ssl/
cp ca/apache.crt /etc/httpd/ssl/
cp ca/apache.key /etc/httpd/ssl/
cp conf/ssl.conf /etc/httpd/conf.d/ssl.conf
cp conf/httpd.conf /etc/httpd/conf/httpd.conf
cp conf/httpd-totp /etc/pam.d/httpd-totp
# sim, é preciso fazer isto para carregar serviços
echo "LoadModule session_module modules/mod_session.so" > /etc/httpd/conf.modules.d/01-session.conf
echo "LoadModule session_cookie_module modules/mod_session_cookie.so" >> /etc/httpd/conf.modules.d/01-session.conf
echo "LoadModule auth_form_module modules/mod_auth_form.so" > /etc/httpd/conf.modules.d/01-auth_form.conf
# mega paginas webs
cp -r www/* /var/www/html/
chown -R apache:apache /var/www/html/
httpd -X

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# --- configuração --- #
source VM_CONFIG.sh
ifconfig enp0s8 193.136.212.10 netmask 255.255.255.0
route add default gw 193.136.212.1
if ! grep -q "apache" /etc/hosts; then
echo "10.60.0.1 apache" >> /etc/hosts
fi
# --- vpn client --- #
vpn_dir="/etc/openvpn/client/"
cp ca/ta.key $vpn_dir
cp ca/ca.crt $vpn_dir
cp ca/user.key $vpn_dir
cp ca/user.crt $vpn_dir
cp conf/client.conf $vpn_dir
openvpn --config "${vpn_dir}/client.conf"

View File

@@ -0,0 +1,48 @@
#!/bin/bash
# NOTE(vasco):
# Ao configurar a maquina virtual em si deixei a rede externa primeiro (enp0s8)
# E a rede interna como a segunda interface (enp0s9).
# --- configuração --- #
source VM_CONFIG.sh
yum install -y google-authenticator qrencode ntpsec
# --- forwarding --- #
if_fora="enp0s8"
ip_fora="193.136.212.1"
if_dentro="enp0s9"
ip_dentro="10.60.0.3"
mega_tunel="tun0"
ip_mega_tunel="10.8.0.0/24"
ifconfig $if_fora $ip_fora netmask 255.255.255.0
ifconfig $if_dentro $ip_dentro netmask 255.255.255.0
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
iptables -I INPUT 1 -p udp --dport 1194 -j ACCEPT
iptables -I FORWARD 1 -i $mega_tunel -o $if_dentro -j ACCEPT
iptables -I FORWARD 1 -i $if_dentro -o $mega_tunel -j ACCEPT
iptables -I FORWARD 1 -i $mega_tunel -o $if_fora -j ACCEPT
iptables -I FORWARD 1 -i $if_fora -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s $ip_mega_tunel -o $if_fora -j MASQUERADE
iptables-save > /etc/sysconfig/iptables
# --- vpn server --- #
vpn_dir="/etc/openvpn/server"
cp ca/ta.key $vpn_dir
cp ca/ca.crt $vpn_dir
cp ca/vpn.key $vpn_dir
cp ca/vpn.crt $vpn_dir
cp ca/dh2048.pem $vpn_dir
cp conf/vpn.conf $vpn_dir
cp conf/ocsp-verify.sh $vpn_dir
cp conf/totp /etc/pam.d/
# --- utilizador --- #
id -u john &>/dev/null || useradd john
echo "password" | passwd --stdin john
openvpn --config /etc/openvpn/server/vpn.conf

74
assignment2/ca/1000.pem Normal file
View File

@@ -0,0 +1,74 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4096 (0x1000)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=PT, ST=Coimbra, L=Coimbra, O=UC, CN=CoimbraVPN
Validity
Not Before: Apr 22 10:50:26 2026 GMT
Not After : Apr 22 10:50:26 2027 GMT
Subject: CN=gateway
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:bc:46:6b:0e:12:3f:c2:64:0d:dd:36:e7:86:a2:
f6:98:04:86:21:73:85:3b:cc:ce:7d:c5:74:f9:8d:
97:f8:c9:01:1c:e9:88:db:10:fc:40:a8:2a:44:76:
de:07:bd:39:58:c3:ba:b3:9a:d2:01:91:12:c8:7f:
0e:7a:51:56:f6:a4:ad:4e:63:92:8e:05:b9:9d:5a:
76:37:60:58:60:0a:10:f2:6e:15:6b:76:a1:34:91:
c5:cf:c7:86:00:cd:3f:53:c2:e9:45:8c:86:49:c2:
a1:36:f9:ca:3b:a5:30:76:92:ff:a6:e5:fa:40:67:
d9:91:ea:24:90:a5:a4:e0:15:2a:da:ce:1b:4e:f9:
86:7e:9f:33:de:e9:24:dc:b9:60:fa:c9:f0:e0:79:
83:a3:d3:b3:c9:61:37:9d:26:ab:e9:bd:21:68:74:
51:02:e0:a2:36:24:9e:c6:5d:22:f3:f6:76:8d:17:
ab:e3:46:a2:dc:a3:e4:f8:bc:a2:4b:59:8b:76:f4:
91:7e:2f:48:79:b6:72:1b:d5:45:e2:9f:d3:8d:b2:
f6:45:53:07:95:4d:8e:76:73:b8:54:10:17:63:c4:
07:bf:bf:a6:72:4f:ea:be:b7:1d:38:37:3a:95:26:
8f:36:81:a0:53:07:d3:49:32:7a:de:3c:7f:61:b6:
7c:21
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
96:52:2F:9E:1C:51:4D:A7:91:73:93:1B:E6:69:6C:06:99:28:2D:0B
X509v3 Authority Key Identifier:
AC:CD:79:CC:80:17:AA:8D:16:CC:97:B1:E9:36:5E:00:2A:BD:5B:D5
Signature Algorithm: sha256WithRSAEncryption
Signature Value:
9a:fd:c0:13:d2:8a:7d:8d:d6:79:d0:35:1f:a6:75:ea:ff:1b:
73:1a:4b:30:d9:c8:3b:9d:96:e5:a8:28:eb:74:26:0d:13:fa:
e1:89:ad:eb:38:d4:57:d1:72:af:c5:93:ab:ce:07:35:3a:b5:
34:9f:72:af:71:b7:79:23:c8:88:99:af:a9:bf:72:8f:01:f2:
cf:f8:a1:57:8e:2a:05:e7:05:c2:0e:ac:92:df:db:f4:fd:64:
16:01:28:5a:7b:8b:c1:e3:8b:49:48:58:b4:36:28:ed:a3:99:
60:9c:a7:a6:3b:eb:07:3d:42:36:29:f2:d2:ff:07:86:34:3c:
0a:b0:70:cb:23:d2:f3:f1:f7:88:74:a5:a6:c3:ee:4e:5f:d7:
6d:ba:a6:83:09:76:f5:e4:1a:3b:d5:58:e9:be:a8:80:cf:68:
13:82:95:b3:da:75:43:4b:e7:f3:fb:6b:0d:b3:d5:07:5e:1b:
7a:69:f4:77:1b:59:eb:c5:a1:84:fb:cc:3e:5c:26:f5:b3:b3:
4d:36:8d:40:d2:53:f9:1e:bd:cf:b9:4b:c3:a8:40:29:97:58:
48:c2:94:94:28:9d:3f:e7:e3:d2:a3:db:32:8d:fb:a9:bb:c3:
32:a5:b3:c0:8b:c5:e3:56:45:55:2d:fb:62:5a:c0:36:f1:df:
b6:00:f9:b9
-----BEGIN CERTIFICATE-----
MIIDIzCCAgugAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwUzELMAkGA1UEBhMCUFQx
EDAOBgNVBAgMB0NvaW1icmExEDAOBgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVD
MRMwEQYDVQQDDApDb2ltYnJhVlBOMB4XDTI2MDQyMjEwNTAyNloXDTI3MDQyMjEw
NTAyNlowEjEQMA4GA1UEAwwHZ2F0ZXdheTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBALxGaw4SP8JkDd0254ai9pgEhiFzhTvMzn3FdPmNl/jJARzpiNsQ
/ECoKkR23ge9OVjDurOa0gGREsh/DnpRVvakrU5jko4FuZ1adjdgWGAKEPJuFWt2
oTSRxc/HhgDNP1PC6UWMhknCoTb5yjulMHaS/6bl+kBn2ZHqJJClpOAVKtrOG075
hn6fM97pJNy5YPrJ8OB5g6PTs8lhN50mq+m9IWh0UQLgojYknsZdIvP2do0Xq+NG
otyj5Pi8oktZi3b0kX4vSHm2chvVReKf042y9kVTB5VNjnZzuFQQF2PEB7+/pnJP
6r63HTg3OpUmjzaBoFMH00kyet48f2G2fCECAwEAAaNCMEAwHQYDVR0OBBYEFJZS
L54cUU2nkXOTG+ZpbAaZKC0LMB8GA1UdIwQYMBaAFKzNecyAF6qNFsyXsek2XgAq
vVvVMA0GCSqGSIb3DQEBCwUAA4IBAQCa/cAT0op9jdZ50DUfpnXq/xtzGksw2cg7
nZblqCjrdCYNE/rhia3rONRX0XKvxZOrzgc1OrU0n3Kvcbd5I8iIma+pv3KPAfLP
+KFXjioF5wXCDqyS39v0/WQWAShae4vB44tJSFi0Nijto5lgnKemO+sHPUI2KfLS
/weGNDwKsHDLI9Lz8feIdKWmw+5OX9dtuqaDCXb15Bo71VjpvqiAz2gTgpWz2nVD
S+fz+2sNs9UHXht6afR3G1nrxaGE+8w+XCb1s7NNNo1A0lP5Hr3PuUvDqEApl1hI
wpSUKJ0/5+PSo9syjfupu8MypbPAi8XjVkVVLftiWsA28d+2APm5
-----END CERTIFICATE-----

74
assignment2/ca/1001.pem Normal file
View File

@@ -0,0 +1,74 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4097 (0x1001)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=PT, ST=Coimbra, L=Coimbra, O=UC, CN=CoimbraVPN
Validity
Not Before: Apr 22 10:50:26 2026 GMT
Not After : Apr 22 10:50:26 2027 GMT
Subject: CN=warrior
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:d8:5e:36:38:85:bb:f8:15:29:90:2a:03:47:26:
36:ad:47:b8:80:c2:1c:b2:35:53:34:a3:c8:79:73:
1a:7b:c5:06:f9:0e:fb:61:e9:16:81:81:4d:55:ac:
25:7d:96:f4:a4:1a:46:d0:0a:af:48:65:b7:1e:9b:
02:4a:4a:af:53:64:20:4f:af:d8:ab:f7:99:c2:b7:
80:b2:80:24:00:7c:a7:43:f7:35:69:47:fc:bc:ce:
fa:1a:8e:81:c3:2b:55:ea:57:c8:ec:76:3b:1b:58:
e9:65:c1:66:97:c5:39:62:1f:c7:f2:64:b3:6a:31:
41:a9:66:00:f5:48:3c:31:9b:70:a7:ca:f0:b8:28:
d3:cf:fb:86:25:f0:93:17:ad:3f:c8:60:dd:a7:a1:
be:b4:e8:fc:79:47:53:68:ed:eb:21:b5:f7:aa:f5:
bf:22:45:d9:10:5a:db:be:41:c3:09:47:72:f4:6b:
d6:21:65:77:43:79:89:0d:cd:72:58:14:e2:25:55:
0b:17:e8:97:d4:d0:0e:9c:7d:9c:38:6e:52:50:cb:
25:a5:00:fc:cb:69:bb:09:f0:3a:f1:8a:83:e7:7c:
95:07:46:58:11:41:25:8d:5c:91:02:ec:d2:83:4c:
98:d0:aa:ad:b0:fa:67:6c:22:79:87:de:5a:f5:01:
8f:59
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
30:84:32:04:21:19:F0:A6:B7:C1:32:4C:1B:9F:7E:EF:EC:3C:D3:79
X509v3 Authority Key Identifier:
AC:CD:79:CC:80:17:AA:8D:16:CC:97:B1:E9:36:5E:00:2A:BD:5B:D5
Signature Algorithm: sha256WithRSAEncryption
Signature Value:
60:76:03:78:46:0e:db:33:a4:1a:13:67:11:66:b6:7e:bf:ba:
23:4e:01:9e:6b:28:dc:46:9c:5e:e8:a9:2a:72:d2:ae:c0:c7:
b7:68:6f:92:55:43:b7:cd:8f:6b:78:ad:86:d1:8a:bb:ba:7a:
a7:3b:fa:53:8f:1d:ec:75:0b:36:05:6b:14:91:c4:79:51:b2:
d0:2f:b9:17:0c:f1:6b:88:4d:24:6b:ae:15:36:2b:ac:4b:94:
67:04:f8:93:49:cc:c1:d7:ec:ae:a2:dc:32:c8:d1:f4:ee:4b:
0c:11:ad:4c:84:5d:96:97:31:d6:9f:c5:a7:79:b2:f1:b8:42:
5b:79:b8:12:d2:a3:56:a0:ae:3b:ba:7f:56:25:d4:ad:a7:fa:
39:52:e0:57:af:4f:d2:c6:3c:24:5d:d6:07:84:b0:a5:5f:d2:
3c:8b:36:2a:1f:24:55:cd:89:22:94:b7:f2:93:69:01:89:6e:
a4:67:2d:8b:d9:cd:af:29:70:09:83:69:e5:46:35:51:59:90:
71:c0:0a:8a:00:5c:55:c6:12:34:1a:b7:3d:a9:67:9c:0b:2f:
71:32:cb:87:92:b0:18:ff:fe:ec:f0:3e:cc:e3:1c:65:c8:24:
a9:bd:c9:8f:96:f7:19:af:95:a6:e0:e5:21:65:50:ad:69:da:
d3:09:27:84
-----BEGIN CERTIFICATE-----
MIIDIzCCAgugAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwUzELMAkGA1UEBhMCUFQx
EDAOBgNVBAgMB0NvaW1icmExEDAOBgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVD
MRMwEQYDVQQDDApDb2ltYnJhVlBOMB4XDTI2MDQyMjEwNTAyNloXDTI3MDQyMjEw
NTAyNlowEjEQMA4GA1UEAwwHd2FycmlvcjCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBANheNjiFu/gVKZAqA0cmNq1HuIDCHLI1UzSjyHlzGnvFBvkO+2Hp
FoGBTVWsJX2W9KQaRtAKr0hltx6bAkpKr1NkIE+v2Kv3mcK3gLKAJAB8p0P3NWlH
/LzO+hqOgcMrVepXyOx2OxtY6WXBZpfFOWIfx/Jks2oxQalmAPVIPDGbcKfK8Lgo
08/7hiXwkxetP8hg3aehvrTo/HlHU2jt6yG196r1vyJF2RBa275BwwlHcvRr1iFl
d0N5iQ3NclgU4iVVCxfol9TQDpx9nDhuUlDLJaUA/MtpuwnwOvGKg+d8lQdGWBFB
JY1ckQLs0oNMmNCqrbD6Z2wieYfeWvUBj1kCAwEAAaNCMEAwHQYDVR0OBBYEFDCE
MgQhGfCmt8EyTBuffu/sPNN5MB8GA1UdIwQYMBaAFKzNecyAF6qNFsyXsek2XgAq
vVvVMA0GCSqGSIb3DQEBCwUAA4IBAQBgdgN4Rg7bM6QaE2cRZrZ+v7ojTgGeayjc
Rpxe6KkqctKuwMe3aG+SVUO3zY9reK2G0Yq7unqnO/pTjx3sdQs2BWsUkcR5UbLQ
L7kXDPFriE0ka64VNiusS5RnBPiTSczB1+yuotwyyNH07ksMEa1MhF2WlzHWn8Wn
ebLxuEJbebgS0qNWoK47un9WJdStp/o5UuBXr0/SxjwkXdYHhLClX9I8izYqHyRV
zYkilLfyk2kBiW6kZy2L2c2vKXAJg2nlRjVRWZBxwAqKAFxVxhI0Grc9qWecCy9x
MsuHkrAY//7s8D7M4xxlyCSpvcmPlvcZr5Wm4OUhZVCtadrTCSeE
-----END CERTIFICATE-----

74
assignment2/ca/1002.pem Normal file
View File

@@ -0,0 +1,74 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4098 (0x1002)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=PT, ST=Coimbra, L=Coimbra, O=UC, CN=CoimbraVPN
Validity
Not Before: Apr 22 12:33:59 2026 GMT
Not After : Apr 22 12:33:59 2027 GMT
Subject: CN=apache
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:d0:88:fb:32:17:9b:9d:95:15:42:a5:b3:20:0e:
27:1a:bd:aa:10:6a:59:9c:18:40:cb:81:80:70:33:
1a:22:34:08:6f:94:0c:97:1c:68:d4:69:59:7e:50:
65:c1:46:2a:fd:9d:4e:96:13:47:58:da:87:86:0e:
ac:ad:ad:48:ad:d1:b1:6e:61:2b:de:04:c1:5f:cf:
60:f5:a6:bd:3d:fd:b3:eb:a0:db:8f:9f:67:5b:91:
76:aa:a5:87:9a:83:57:1a:84:3d:11:c2:b3:71:84:
51:48:d3:38:8e:0e:f2:c5:96:55:b5:6e:86:4c:f0:
22:9d:19:13:ae:23:21:ea:d5:fe:e4:1d:9c:fb:42:
3a:84:81:43:03:2e:c5:bd:ed:0b:7e:48:50:83:e0:
0b:15:87:bd:65:9b:0d:d0:7e:55:8d:02:e9:03:af:
fe:7d:19:28:ef:46:6b:2c:02:04:33:05:2e:73:94:
10:ae:54:25:d2:82:55:10:22:74:7b:44:7c:c6:d3:
e5:35:5e:10:af:9e:67:49:0a:1f:fe:bb:00:60:26:
a8:ee:4b:66:2f:7d:f4:76:24:3e:73:81:e4:79:53:
3c:30:e6:25:00:80:fb:d2:0c:fa:e7:db:01:15:52:
4e:c4:ec:9f:95:b4:1d:a0:e7:7a:a2:59:77:c0:24:
13:a9
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
13:9F:64:BF:CB:5E:2F:7D:F8:0B:26:94:DB:17:9D:F4:59:CE:79:20
X509v3 Authority Key Identifier:
AC:CD:79:CC:80:17:AA:8D:16:CC:97:B1:E9:36:5E:00:2A:BD:5B:D5
Signature Algorithm: sha256WithRSAEncryption
Signature Value:
a4:24:8d:a2:b8:b4:da:5c:a6:e0:75:2a:e0:71:aa:03:35:e8:
b4:64:49:90:b9:f3:09:a6:c6:99:0c:64:04:5e:65:e6:09:72:
13:11:e8:4c:29:a4:99:c5:dd:67:ff:49:fb:5f:8a:b3:cf:3a:
e5:b7:1c:a0:8a:59:ca:10:a9:dd:26:c3:3d:25:c7:82:b8:0d:
db:91:fe:45:d1:3b:ac:80:1d:11:49:85:13:9b:c2:86:fd:17:
81:5d:e3:a4:d1:64:2d:27:0c:c9:77:08:2a:89:ed:7e:2e:ac:
d2:86:f5:d5:fd:de:a6:c4:5d:18:33:ec:78:a1:ca:cf:64:68:
cb:1a:25:1e:a3:cf:e5:28:0b:a2:f8:45:bd:b6:99:54:17:62:
09:f0:ab:ba:d2:38:dc:bc:7b:1d:b8:f2:51:e5:d3:0c:1d:8d:
a3:3e:57:c2:0d:ef:93:5d:39:9c:ee:50:f1:e3:f8:fb:ff:94:
88:2c:37:f7:39:47:97:2c:fc:71:27:88:21:b3:da:68:ac:f4:
c6:a0:77:00:25:37:67:ea:ee:d1:a8:44:01:f6:40:79:68:4a:
94:24:d8:1a:d9:07:7d:73:0b:8c:b0:80:dd:b4:a9:49:3f:33:
73:7e:4d:5a:b6:f0:51:94:46:b2:81:a3:cb:81:a2:d9:7f:dd:
32:60:ba:8c
-----BEGIN CERTIFICATE-----
MIIDIjCCAgqgAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwUzELMAkGA1UEBhMCUFQx
EDAOBgNVBAgMB0NvaW1icmExEDAOBgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVD
MRMwEQYDVQQDDApDb2ltYnJhVlBOMB4XDTI2MDQyMjEyMzM1OVoXDTI3MDQyMjEy
MzM1OVowETEPMA0GA1UEAwwGYXBhY2hlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEA0Ij7MhebnZUVQqWzIA4nGr2qEGpZnBhAy4GAcDMaIjQIb5QMlxxo
1GlZflBlwUYq/Z1OlhNHWNqHhg6sra1IrdGxbmEr3gTBX89g9aa9Pf2z66Dbj59n
W5F2qqWHmoNXGoQ9EcKzcYRRSNM4jg7yxZZVtW6GTPAinRkTriMh6tX+5B2c+0I6
hIFDAy7Fve0LfkhQg+ALFYe9ZZsN0H5VjQLpA6/+fRko70ZrLAIEMwUuc5QQrlQl
0oJVECJ0e0R8xtPlNV4Qr55nSQof/rsAYCao7ktmL330diQ+c4HkeVM8MOYlAID7
0gz659sBFVJOxOyflbQdoOd6oll3wCQTqQIDAQABo0IwQDAdBgNVHQ4EFgQUE59k
v8teL334CyaU2xed9FnOeSAwHwYDVR0jBBgwFoAUrM15zIAXqo0WzJex6TZeACq9
W9UwDQYJKoZIhvcNAQELBQADggEBAKQkjaK4tNpcpuB1KuBxqgM16LRkSZC58wmm
xpkMZAReZeYJchMR6EwppJnF3Wf/SftfirPPOuW3HKCKWcoQqd0mwz0lx4K4DduR
/kXRO6yAHRFJhRObwob9F4Fd46TRZC0nDMl3CCqJ7X4urNKG9dX93qbEXRgz7Hih
ys9kaMsaJR6jz+UoC6L4Rb22mVQXYgnwq7rSONy8ex248lHl0wwdjaM+V8IN75Nd
OZzuUPHj+Pv/lIgsN/c5R5cs/HEniCGz2mis9MagdwAlN2fq7tGoRAH2QHloSpQk
2BrZB31zC4ywgN20qUk/M3N+TVq28FGURrKBo8uBotl/3TJguow=
-----END CERTIFICATE-----

77
assignment2/ca/1003.pem Normal file
View File

@@ -0,0 +1,77 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4099 (0x1003)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=PT, ST=Coimbra, L=Coimbra, O=UC, CN=CoimbraVPN
Validity
Not Before: Apr 22 14:14:59 2026 GMT
Not After : Apr 22 14:14:59 2027 GMT
Subject: CN=apache.coimbra
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:d0:88:fb:32:17:9b:9d:95:15:42:a5:b3:20:0e:
27:1a:bd:aa:10:6a:59:9c:18:40:cb:81:80:70:33:
1a:22:34:08:6f:94:0c:97:1c:68:d4:69:59:7e:50:
65:c1:46:2a:fd:9d:4e:96:13:47:58:da:87:86:0e:
ac:ad:ad:48:ad:d1:b1:6e:61:2b:de:04:c1:5f:cf:
60:f5:a6:bd:3d:fd:b3:eb:a0:db:8f:9f:67:5b:91:
76:aa:a5:87:9a:83:57:1a:84:3d:11:c2:b3:71:84:
51:48:d3:38:8e:0e:f2:c5:96:55:b5:6e:86:4c:f0:
22:9d:19:13:ae:23:21:ea:d5:fe:e4:1d:9c:fb:42:
3a:84:81:43:03:2e:c5:bd:ed:0b:7e:48:50:83:e0:
0b:15:87:bd:65:9b:0d:d0:7e:55:8d:02:e9:03:af:
fe:7d:19:28:ef:46:6b:2c:02:04:33:05:2e:73:94:
10:ae:54:25:d2:82:55:10:22:74:7b:44:7c:c6:d3:
e5:35:5e:10:af:9e:67:49:0a:1f:fe:bb:00:60:26:
a8:ee:4b:66:2f:7d:f4:76:24:3e:73:81:e4:79:53:
3c:30:e6:25:00:80:fb:d2:0c:fa:e7:db:01:15:52:
4e:c4:ec:9f:95:b4:1d:a0:e7:7a:a2:59:77:c0:24:
13:a9
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Alternative Name:
IP Address:10.60.0.1, DNS:apache
X509v3 Subject Key Identifier:
13:9F:64:BF:CB:5E:2F:7D:F8:0B:26:94:DB:17:9D:F4:59:CE:79:20
X509v3 Authority Key Identifier:
AC:CD:79:CC:80:17:AA:8D:16:CC:97:B1:E9:36:5E:00:2A:BD:5B:D5
Signature Algorithm: sha256WithRSAEncryption
Signature Value:
9c:7e:99:3c:10:22:23:cd:d6:c7:96:be:82:5e:e5:7f:69:16:
5c:57:e1:68:e2:04:26:74:e9:72:ea:3b:03:5c:81:bd:21:15:
a3:e8:86:4d:93:6f:a4:d8:a1:47:de:e0:b5:a3:bb:aa:5b:24:
e9:9d:f7:9d:7d:e3:ba:38:39:af:c6:8b:36:5c:a8:3d:37:af:
79:be:8f:bf:ba:76:a5:d5:62:8e:37:c8:2e:6d:7e:24:fc:56:
d2:91:01:9e:05:4d:26:16:52:75:3d:28:7f:20:d0:88:25:96:
2a:d3:3a:8f:27:3d:99:46:4d:de:e2:a7:11:07:84:ff:ac:55:
54:4a:25:1b:b3:05:47:b5:d5:db:b9:69:e5:f6:d7:28:c9:54:
45:9c:a5:9a:86:74:37:33:7c:47:75:5a:dd:bf:50:23:be:95:
8e:cd:2c:ba:72:cc:41:95:1f:a0:67:78:61:de:38:89:18:c4:
0c:df:e0:be:f3:9d:3e:e7:72:9f:3c:a3:e0:06:9a:6c:28:d1:
e2:1d:d2:14:76:89:8a:d4:ca:e1:38:9c:b3:31:81:bb:ca:11:
ba:78:36:01:e5:db:bf:a0:82:36:d2:b4:65:01:60:bf:63:c2:
a8:86:54:cb:ac:59:52:31:bd:a2:cc:94:47:cc:0a:cc:d3:87:
db:7b:fa:1a
-----BEGIN CERTIFICATE-----
MIIDQzCCAiugAwIBAgICEAMwDQYJKoZIhvcNAQELBQAwUzELMAkGA1UEBhMCUFQx
EDAOBgNVBAgMB0NvaW1icmExEDAOBgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVD
MRMwEQYDVQQDDApDb2ltYnJhVlBOMB4XDTI2MDQyMjE0MTQ1OVoXDTI3MDQyMjE0
MTQ1OVowGTEXMBUGA1UEAwwOYXBhY2hlLmNvaW1icmEwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQDQiPsyF5udlRVCpbMgDicavaoQalmcGEDLgYBwMxoi
NAhvlAyXHGjUaVl+UGXBRir9nU6WE0dY2oeGDqytrUit0bFuYSveBMFfz2D1pr09
/bProNuPn2dbkXaqpYeag1cahD0RwrNxhFFI0ziODvLFllW1boZM8CKdGROuIyHq
1f7kHZz7QjqEgUMDLsW97Qt+SFCD4AsVh71lmw3QflWNAukDr/59GSjvRmssAgQz
BS5zlBCuVCXSglUQInR7RHzG0+U1XhCvnmdJCh/+uwBgJqjuS2YvffR2JD5zgeR5
Uzww5iUAgPvSDPrn2wEVUk7E7J+VtB2g53qiWXfAJBOpAgMBAAGjWzBZMBcGA1Ud
EQQQMA6HBAo8AAGCBmFwYWNoZTAdBgNVHQ4EFgQUE59kv8teL334CyaU2xed9FnO
eSAwHwYDVR0jBBgwFoAUrM15zIAXqo0WzJex6TZeACq9W9UwDQYJKoZIhvcNAQEL
BQADggEBAJx+mTwQIiPN1seWvoJe5X9pFlxX4WjiBCZ06XLqOwNcgb0hFaPohk2T
b6TYoUfe4LWju6pbJOmd951947o4Oa/GizZcqD03r3m+j7+6dqXVYo43yC5tfiT8
VtKRAZ4FTSYWUnU9KH8g0IgllirTOo8nPZlGTd7ipxEHhP+sVVRKJRuzBUe11du5
aeX21yjJVEWcpZqGdDczfEd1Wt2/UCO+lY7NLLpyzEGVH6BneGHeOIkYxAzf4L7z
nT7ncp88o+AGmmwo0eId0hR2iYrUyuE4nLMxgbvKEbp4NgHl27+ggjbStGUBYL9j
wqiGVMusWVIxvaLMlEfMCszTh9t7+ho=
-----END CERTIFICATE-----

77
assignment2/ca/apache.crt Normal file
View File

@@ -0,0 +1,77 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4099 (0x1003)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=PT, ST=Coimbra, L=Coimbra, O=UC, CN=CoimbraVPN
Validity
Not Before: Apr 22 14:14:59 2026 GMT
Not After : Apr 22 14:14:59 2027 GMT
Subject: CN=apache.coimbra
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:d0:88:fb:32:17:9b:9d:95:15:42:a5:b3:20:0e:
27:1a:bd:aa:10:6a:59:9c:18:40:cb:81:80:70:33:
1a:22:34:08:6f:94:0c:97:1c:68:d4:69:59:7e:50:
65:c1:46:2a:fd:9d:4e:96:13:47:58:da:87:86:0e:
ac:ad:ad:48:ad:d1:b1:6e:61:2b:de:04:c1:5f:cf:
60:f5:a6:bd:3d:fd:b3:eb:a0:db:8f:9f:67:5b:91:
76:aa:a5:87:9a:83:57:1a:84:3d:11:c2:b3:71:84:
51:48:d3:38:8e:0e:f2:c5:96:55:b5:6e:86:4c:f0:
22:9d:19:13:ae:23:21:ea:d5:fe:e4:1d:9c:fb:42:
3a:84:81:43:03:2e:c5:bd:ed:0b:7e:48:50:83:e0:
0b:15:87:bd:65:9b:0d:d0:7e:55:8d:02:e9:03:af:
fe:7d:19:28:ef:46:6b:2c:02:04:33:05:2e:73:94:
10:ae:54:25:d2:82:55:10:22:74:7b:44:7c:c6:d3:
e5:35:5e:10:af:9e:67:49:0a:1f:fe:bb:00:60:26:
a8:ee:4b:66:2f:7d:f4:76:24:3e:73:81:e4:79:53:
3c:30:e6:25:00:80:fb:d2:0c:fa:e7:db:01:15:52:
4e:c4:ec:9f:95:b4:1d:a0:e7:7a:a2:59:77:c0:24:
13:a9
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Alternative Name:
IP Address:10.60.0.1, DNS:apache
X509v3 Subject Key Identifier:
13:9F:64:BF:CB:5E:2F:7D:F8:0B:26:94:DB:17:9D:F4:59:CE:79:20
X509v3 Authority Key Identifier:
AC:CD:79:CC:80:17:AA:8D:16:CC:97:B1:E9:36:5E:00:2A:BD:5B:D5
Signature Algorithm: sha256WithRSAEncryption
Signature Value:
9c:7e:99:3c:10:22:23:cd:d6:c7:96:be:82:5e:e5:7f:69:16:
5c:57:e1:68:e2:04:26:74:e9:72:ea:3b:03:5c:81:bd:21:15:
a3:e8:86:4d:93:6f:a4:d8:a1:47:de:e0:b5:a3:bb:aa:5b:24:
e9:9d:f7:9d:7d:e3:ba:38:39:af:c6:8b:36:5c:a8:3d:37:af:
79:be:8f:bf:ba:76:a5:d5:62:8e:37:c8:2e:6d:7e:24:fc:56:
d2:91:01:9e:05:4d:26:16:52:75:3d:28:7f:20:d0:88:25:96:
2a:d3:3a:8f:27:3d:99:46:4d:de:e2:a7:11:07:84:ff:ac:55:
54:4a:25:1b:b3:05:47:b5:d5:db:b9:69:e5:f6:d7:28:c9:54:
45:9c:a5:9a:86:74:37:33:7c:47:75:5a:dd:bf:50:23:be:95:
8e:cd:2c:ba:72:cc:41:95:1f:a0:67:78:61:de:38:89:18:c4:
0c:df:e0:be:f3:9d:3e:e7:72:9f:3c:a3:e0:06:9a:6c:28:d1:
e2:1d:d2:14:76:89:8a:d4:ca:e1:38:9c:b3:31:81:bb:ca:11:
ba:78:36:01:e5:db:bf:a0:82:36:d2:b4:65:01:60:bf:63:c2:
a8:86:54:cb:ac:59:52:31:bd:a2:cc:94:47:cc:0a:cc:d3:87:
db:7b:fa:1a
-----BEGIN CERTIFICATE-----
MIIDQzCCAiugAwIBAgICEAMwDQYJKoZIhvcNAQELBQAwUzELMAkGA1UEBhMCUFQx
EDAOBgNVBAgMB0NvaW1icmExEDAOBgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVD
MRMwEQYDVQQDDApDb2ltYnJhVlBOMB4XDTI2MDQyMjE0MTQ1OVoXDTI3MDQyMjE0
MTQ1OVowGTEXMBUGA1UEAwwOYXBhY2hlLmNvaW1icmEwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQDQiPsyF5udlRVCpbMgDicavaoQalmcGEDLgYBwMxoi
NAhvlAyXHGjUaVl+UGXBRir9nU6WE0dY2oeGDqytrUit0bFuYSveBMFfz2D1pr09
/bProNuPn2dbkXaqpYeag1cahD0RwrNxhFFI0ziODvLFllW1boZM8CKdGROuIyHq
1f7kHZz7QjqEgUMDLsW97Qt+SFCD4AsVh71lmw3QflWNAukDr/59GSjvRmssAgQz
BS5zlBCuVCXSglUQInR7RHzG0+U1XhCvnmdJCh/+uwBgJqjuS2YvffR2JD5zgeR5
Uzww5iUAgPvSDPrn2wEVUk7E7J+VtB2g53qiWXfAJBOpAgMBAAGjWzBZMBcGA1Ud
EQQQMA6HBAo8AAGCBmFwYWNoZTAdBgNVHQ4EFgQUE59kv8teL334CyaU2xed9FnO
eSAwHwYDVR0jBBgwFoAUrM15zIAXqo0WzJex6TZeACq9W9UwDQYJKoZIhvcNAQEL
BQADggEBAJx+mTwQIiPN1seWvoJe5X9pFlxX4WjiBCZ06XLqOwNcgb0hFaPohk2T
b6TYoUfe4LWju6pbJOmd951947o4Oa/GizZcqD03r3m+j7+6dqXVYo43yC5tfiT8
VtKRAZ4FTSYWUnU9KH8g0IgllirTOo8nPZlGTd7ipxEHhP+sVVRKJRuzBUe11du5
aeX21yjJVEWcpZqGdDczfEd1Wt2/UCO+lY7NLLpyzEGVH6BneGHeOIkYxAzf4L7z
nT7ncp88o+AGmmwo0eId0hR2iYrUyuE4nLMxgbvKEbp4NgHl27+ggjbStGUBYL9j
wqiGVMusWVIxvaLMlEfMCszTh9t7+ho=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,74 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4098 (0x1002)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=PT, ST=Coimbra, L=Coimbra, O=UC, CN=CoimbraVPN
Validity
Not Before: Apr 22 12:33:59 2026 GMT
Not After : Apr 22 12:33:59 2027 GMT
Subject: CN=apache
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:d0:88:fb:32:17:9b:9d:95:15:42:a5:b3:20:0e:
27:1a:bd:aa:10:6a:59:9c:18:40:cb:81:80:70:33:
1a:22:34:08:6f:94:0c:97:1c:68:d4:69:59:7e:50:
65:c1:46:2a:fd:9d:4e:96:13:47:58:da:87:86:0e:
ac:ad:ad:48:ad:d1:b1:6e:61:2b:de:04:c1:5f:cf:
60:f5:a6:bd:3d:fd:b3:eb:a0:db:8f:9f:67:5b:91:
76:aa:a5:87:9a:83:57:1a:84:3d:11:c2:b3:71:84:
51:48:d3:38:8e:0e:f2:c5:96:55:b5:6e:86:4c:f0:
22:9d:19:13:ae:23:21:ea:d5:fe:e4:1d:9c:fb:42:
3a:84:81:43:03:2e:c5:bd:ed:0b:7e:48:50:83:e0:
0b:15:87:bd:65:9b:0d:d0:7e:55:8d:02:e9:03:af:
fe:7d:19:28:ef:46:6b:2c:02:04:33:05:2e:73:94:
10:ae:54:25:d2:82:55:10:22:74:7b:44:7c:c6:d3:
e5:35:5e:10:af:9e:67:49:0a:1f:fe:bb:00:60:26:
a8:ee:4b:66:2f:7d:f4:76:24:3e:73:81:e4:79:53:
3c:30:e6:25:00:80:fb:d2:0c:fa:e7:db:01:15:52:
4e:c4:ec:9f:95:b4:1d:a0:e7:7a:a2:59:77:c0:24:
13:a9
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
13:9F:64:BF:CB:5E:2F:7D:F8:0B:26:94:DB:17:9D:F4:59:CE:79:20
X509v3 Authority Key Identifier:
AC:CD:79:CC:80:17:AA:8D:16:CC:97:B1:E9:36:5E:00:2A:BD:5B:D5
Signature Algorithm: sha256WithRSAEncryption
Signature Value:
a4:24:8d:a2:b8:b4:da:5c:a6:e0:75:2a:e0:71:aa:03:35:e8:
b4:64:49:90:b9:f3:09:a6:c6:99:0c:64:04:5e:65:e6:09:72:
13:11:e8:4c:29:a4:99:c5:dd:67:ff:49:fb:5f:8a:b3:cf:3a:
e5:b7:1c:a0:8a:59:ca:10:a9:dd:26:c3:3d:25:c7:82:b8:0d:
db:91:fe:45:d1:3b:ac:80:1d:11:49:85:13:9b:c2:86:fd:17:
81:5d:e3:a4:d1:64:2d:27:0c:c9:77:08:2a:89:ed:7e:2e:ac:
d2:86:f5:d5:fd:de:a6:c4:5d:18:33:ec:78:a1:ca:cf:64:68:
cb:1a:25:1e:a3:cf:e5:28:0b:a2:f8:45:bd:b6:99:54:17:62:
09:f0:ab:ba:d2:38:dc:bc:7b:1d:b8:f2:51:e5:d3:0c:1d:8d:
a3:3e:57:c2:0d:ef:93:5d:39:9c:ee:50:f1:e3:f8:fb:ff:94:
88:2c:37:f7:39:47:97:2c:fc:71:27:88:21:b3:da:68:ac:f4:
c6:a0:77:00:25:37:67:ea:ee:d1:a8:44:01:f6:40:79:68:4a:
94:24:d8:1a:d9:07:7d:73:0b:8c:b0:80:dd:b4:a9:49:3f:33:
73:7e:4d:5a:b6:f0:51:94:46:b2:81:a3:cb:81:a2:d9:7f:dd:
32:60:ba:8c
-----BEGIN CERTIFICATE-----
MIIDIjCCAgqgAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwUzELMAkGA1UEBhMCUFQx
EDAOBgNVBAgMB0NvaW1icmExEDAOBgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVD
MRMwEQYDVQQDDApDb2ltYnJhVlBOMB4XDTI2MDQyMjEyMzM1OVoXDTI3MDQyMjEy
MzM1OVowETEPMA0GA1UEAwwGYXBhY2hlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEA0Ij7MhebnZUVQqWzIA4nGr2qEGpZnBhAy4GAcDMaIjQIb5QMlxxo
1GlZflBlwUYq/Z1OlhNHWNqHhg6sra1IrdGxbmEr3gTBX89g9aa9Pf2z66Dbj59n
W5F2qqWHmoNXGoQ9EcKzcYRRSNM4jg7yxZZVtW6GTPAinRkTriMh6tX+5B2c+0I6
hIFDAy7Fve0LfkhQg+ALFYe9ZZsN0H5VjQLpA6/+fRko70ZrLAIEMwUuc5QQrlQl
0oJVECJ0e0R8xtPlNV4Qr55nSQof/rsAYCao7ktmL330diQ+c4HkeVM8MOYlAID7
0gz659sBFVJOxOyflbQdoOd6oll3wCQTqQIDAQABo0IwQDAdBgNVHQ4EFgQUE59k
v8teL334CyaU2xed9FnOeSAwHwYDVR0jBBgwFoAUrM15zIAXqo0WzJex6TZeACq9
W9UwDQYJKoZIhvcNAQELBQADggEBAKQkjaK4tNpcpuB1KuBxqgM16LRkSZC58wmm
xpkMZAReZeYJchMR6EwppJnF3Wf/SftfirPPOuW3HKCKWcoQqd0mwz0lx4K4DduR
/kXRO6yAHRFJhRObwob9F4Fd46TRZC0nDMl3CCqJ7X4urNKG9dX93qbEXRgz7Hih
ys9kaMsaJR6jz+UoC6L4Rb22mVQXYgnwq7rSONy8ex248lHl0wwdjaM+V8IN75Nd
OZzuUPHj+Pv/lIgsN/c5R5cs/HEniCGz2mis9MagdwAlN2fq7tGoRAH2QHloSpQk
2BrZB31zC4ywgN20qUk/M3N+TVq28FGURrKBo8uBotl/3TJguow=
-----END CERTIFICATE-----

17
assignment2/ca/apache.csr Normal file
View File

@@ -0,0 +1,17 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICxjCCAa4CAQAwVzELMAkGA1UEBhMCUFQxEDAOBgNVBAgMB0NvaW1icmExEDAO
BgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVDMRcwFQYDVQQDDA5hcGFjaGUuY29p
bWJyYTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANCI+zIXm52VFUKl
syAOJxq9qhBqWZwYQMuBgHAzGiI0CG+UDJccaNRpWX5QZcFGKv2dTpYTR1jah4YO
rK2tSK3RsW5hK94EwV/PYPWmvT39s+ug24+fZ1uRdqqlh5qDVxqEPRHCs3GEUUjT
OI4O8sWWVbVuhkzwIp0ZE64jIerV/uQdnPtCOoSBQwMuxb3tC35IUIPgCxWHvWWb
DdB+VY0C6QOv/n0ZKO9GaywCBDMFLnOUEK5UJdKCVRAidHtEfMbT5TVeEK+eZ0kK
H/67AGAmqO5LZi999HYkPnOB5HlTPDDmJQCA+9IM+ufbARVSTsTsn5W0HaDneqJZ
d8AkE6kCAwEAAaAqMCgGCSqGSIb3DQEJDjEbMBkwFwYDVR0RBBAwDocECjwAAYIG
YXBhY2hlMA0GCSqGSIb3DQEBCwUAA4IBAQBzs+QEnIvT5ArumDP7/7TeEcOeTmfh
GkLMHKn2+lRH055KE+sv2k2l+PW4zrPLdEWw82CW7zy4ilpXjzywGIXZY0dCAWWH
wc/mRqbE6b4gdatU+LEqkcUiiCKkAh+stG1QOYB4yhISR0N/KWC4GIBsNIen8jjO
+qQunBa/wb7XRvHWCl4ihLMSA4PjijkxPOAjnGe6swPCo8gl39477bdAYL2Qrrr2
FxkZRZMZG1cSX2lV8DhBV4/AZAzZMGFHc4GOzcyzPNJ3PWFotv+jNQ1DxbTFmOYI
m6A0coUdCw87lYuWlH8J3s0CUUb7Swd1dKrTjk7UDOTG1VK7q7xYaMkJ
-----END CERTIFICATE REQUEST-----

28
assignment2/ca/apache.key Normal file
View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDQiPsyF5udlRVC
pbMgDicavaoQalmcGEDLgYBwMxoiNAhvlAyXHGjUaVl+UGXBRir9nU6WE0dY2oeG
DqytrUit0bFuYSveBMFfz2D1pr09/bProNuPn2dbkXaqpYeag1cahD0RwrNxhFFI
0ziODvLFllW1boZM8CKdGROuIyHq1f7kHZz7QjqEgUMDLsW97Qt+SFCD4AsVh71l
mw3QflWNAukDr/59GSjvRmssAgQzBS5zlBCuVCXSglUQInR7RHzG0+U1XhCvnmdJ
Ch/+uwBgJqjuS2YvffR2JD5zgeR5Uzww5iUAgPvSDPrn2wEVUk7E7J+VtB2g53qi
WXfAJBOpAgMBAAECggEAC8SDGlVLNoYEbF2h4U/zJHbp+yGpO14CAAnnh81WbvIt
PLCn0jor7zqfrnlWeKTfRa8EEYN2ffzc83NuCqHx7T8dSluI6G8vw1qWP96AJNil
d8k8wprN8BSiE+ih4ZYCSxCFyrQIQMJk/N1QfnG5AO3mGcYqJXrSlTdmTSgV4KTH
HMhcbE3oBi5sixfYuhz7JmoN2MtvUH7T1XQ93IK/EDANCHeOYfVDlQMv+VKqUsEA
4tB1j2Mk+MENIbxg2vswsDzi4X3geU9kDkZ+V/ahzQSKnoUJtC81QftGst7gia7i
Kl51DWvw3SXclDn//5ZSaWd6T0a0Gc8f73yC0vzKIQKBgQD9TVBrSTZTvJcJhhMQ
Tk7Epe96nWPw3PwKPntAaCcWaNi+AXOWw5oKX1Okilrsbxz5P6yH/jTvFZF33zpT
nhS30ew41GTSL0j3gCWK25I0SJOeth2dycyjd/yljotOGOz667vTGHleso7NYthD
s+iU6ceb7EuU9T0JjhHDsrVK8QKBgQDSwZmOwMAq0evNFgKB0QiipABIWhm7As1n
O0M439zA2bVo8Z3UAQb7YOBG/EoH+I/1HakJBM0BVyGRzkg4Krq0Dd8iL4gESj8E
niCtIC874AjhemVjHDPNwI/m93Czg8tqfd3r82rOa5HJWW4WYGeHPTjvd0puS8/6
SWTyBgSkOQKBgANxmKVMwoNS7g7AFuRC3ElKJD5bg29T4c1V2iEfCWEBnei/Zk3n
bOG1OBLlmqTaQd+VoQfcSeXyOh8SFt3qKUfyf66qHJDK+cf7owcHQy6YygD/Ytmx
U6npSLMLhBNUvWwP5mbRT10dOlnKfTw2ZvQXVZJmHQTybJkDqHQrqtFRAoGAA1t6
Kr//T69QZk/3ckH2NUEPkBd/WW9N/lr/UySdy6SsMyPGM95gUhjU+cyDEWVwRaNX
UgF1kpPkwQHcPKjRmJSv/Udsj0TvhA9QzfE5T2bePVlJzC5i1OBAapl+fh2XW/bt
Vhjmlqs4A1EdY9XdUFY1Vfs8gE1M3tvUc9aMtGECgYA3ebYLBwDB48gbYfnv8o3P
rY2hBfBsvfSKeYT/NPxG/XR035h9BnBcNG2L7U7GKmbxdULYZ2nEOSjqTxTvlHUO
ncGr7M00D9hpzTX+Yfr3em+lGsZxVfU7sKq1fWF/BdF7gCf8cdHk66gR19kYhi38
cEB0Z02sLDDP2AYOawrliA==
-----END PRIVATE KEY-----

21
assignment2/ca/ca.crt Normal file
View File

@@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDhzCCAm+gAwIBAgIUHeUZwwOlaXM3yPbokh5CjXEFw/YwDQYJKoZIhvcNAQEL
BQAwUzELMAkGA1UEBhMCUFQxEDAOBgNVBAgMB0NvaW1icmExEDAOBgNVBAcMB0Nv
aW1icmExCzAJBgNVBAoMAlVDMRMwEQYDVQQDDApDb2ltYnJhVlBOMB4XDTI2MDQy
MjEwNDgwMloXDTI3MDQyMjEwNDgwMlowUzELMAkGA1UEBhMCUFQxEDAOBgNVBAgM
B0NvaW1icmExEDAOBgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVDMRMwEQYDVQQD
DApDb2ltYnJhVlBOMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs1ft
wTq/HG1SavpgkRSP/ZO3hvW8lCR8e8ica/w7ogJwMoTAHz0axMpY9MQ6SmXXvXEh
/DY0wwM60jJ8f332fk3otcWzHznEK+EC2xrZSvnikWYSWcaDe6PzPtu0w9//y/Cl
Jt8ocvC1qyN20skhCP8nuTCW7o0nO+glPEHAl1fSuHuA/0tXbpROsxpi3cqzWypB
ufnDyIg4vxKbhQdtJn0UMvA2g92gTpxl9Dvt4L68L2e/Oz5B2l+USEIHxfkS+N1v
p8O22H+KV4+4Le76RJ/DOzV+pAieY4/bWIFQ5CsB6SvcHwP0CxOa1KOeHZbdyyDe
TBCmDTR3K4ZBy/ii2wIDAQABo1MwUTAdBgNVHQ4EFgQUrM15zIAXqo0WzJex6TZe
ACq9W9UwHwYDVR0jBBgwFoAUrM15zIAXqo0WzJex6TZeACq9W9UwDwYDVR0TAQH/
BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAlkndsM3ikWZibO3l5UBBVSQjgjdf
8CdE3UyrzuTOTFGWW8ALD1PTMjZ/uFR6mX5pn3Afd6CcRvm/SP/ybh4q+7oBlJCT
hjJo/r8NAsaN1TubFSaLsQTzilZDCK6Go+WvcNgar0pwgMunqphBycuLOkT3cxli
ubGzplv33gA6EPwZ7LaSfMRf/mVeLutUyP0SKyos3/Je1lAz8Wel245JPJ2mI8fT
HopjnVWScOPedFKt/nh//RVTjZDvPGH5Lvglg9ko+Lc62JF/5XIqIS25TwcUskXK
KfotGiwJM1VHyi49PWEC1Asu7C9ljMbHy/UsISPGxUOq/oy3OQoj7DXEng==
-----END CERTIFICATE-----

28
assignment2/ca/ca.key Normal file
View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCzV+3BOr8cbVJq
+mCRFI/9k7eG9byUJHx7yJxr/DuiAnAyhMAfPRrEylj0xDpKZde9cSH8NjTDAzrS
Mnx/ffZ+Tei1xbMfOcQr4QLbGtlK+eKRZhJZxoN7o/M+27TD3//L8KUm3yhy8LWr
I3bSySEI/ye5MJbujSc76CU8QcCXV9K4e4D/S1dulE6zGmLdyrNbKkG5+cPIiDi/
EpuFB20mfRQy8DaD3aBOnGX0O+3gvrwvZ787PkHaX5RIQgfF+RL43W+nw7bYf4pX
j7gt7vpEn8M7NX6kCJ5jj9tYgVDkKwHpK9wfA/QLE5rUo54dlt3LIN5MEKYNNHcr
hkHL+KLbAgMBAAECggEAPpkTUJ3LtQVnfhWUfS87LxxPM9k0EFVH6gDUsFBjFCJb
vRZe5Mh0PnoOYKjZW7x+eA4z+Y+GDQdkkZezouB5mA5jiobOBbkpAtPQJmARtjzQ
W0XQY+uJWy+XqLoRN0lJRIrjalT8Dlp8XpbLU7mGQVimKdqO5Ab6ycs2q/ibW3dj
am9L/AaV8YW99xWeRVi8OKn1Oyhpaplnb7IDdeDx8/nCSplVx1EggsV7XPStfL2R
us8/sE525OCo7mriXBLph62r7C1oFxxeASIjpPD5+gh09CCoMcodETlCBKPia7Q4
ha/nnsjXRPZIq4b2y4BYzlCVnCldwKzr+QW+s0EZKQKBgQDZRV2kR4k9ytF1kG85
DCW8ogk03BZ2x9Wk6sEU3lUtR3YfyHe3zFrZ2lDynknVAxXABPQ8XG8i24O0ZQ/h
oiRu9LtUIf+rYVrZke8DiPEuGUdTMLeLMBUhWtSpG5kNrpr/hdt/lXnnszTd5Xon
YGpa2qQAB2eki+uxnJMbAHopRQKBgQDTT9V2FEUa+GG5mbQXClbXqbd7+8LoKH7l
VYzQxaWSWgW1o9/0NOBY5Jw6PoWdhbf0IzA2bYeKIChp6IwhEh9+A+Vdp0Hupz/Z
tDlHThWXUBqYTPM1mXX1KyEoNjGQiMMpeuOc0sUJZvMfFWrzkn0kG8VsB9u8n1ND
CQ+O3MaNnwKBgEQJ5+ApEr5KBDvnphzcQ/kFWRK3lUVPIQVLCnnpggzy4vfjBDKH
iS/NoSnJDd/p3mbKZl18qMTmryDPwSBscTJZ60vWdcUKcLPPcmTN/pDsE5zmlaO9
w/A1DIGEhfJ16k34chtLCOjZAsY2NYGdPNEExPTJXNh3hLCTErIS/S5tAoGAITum
A6sObz5vCCSPOSxsGgDcFYizz5VG18SLn+3lq02zJiz+tMZ4HiLeGx7oHq0AEEpU
c8roDSYflQB4wV67SzNLqF38tY7iMNfyRi+Wn7R+akN34I8hCQzeaxeS1ftcTjLA
h1JyoJbrV5Ejv+ji+4HOm73kphacnqdXJg28wFsCgYEAs4VbAruXv3thxJ8a7Y4n
8FRwdDV2nJRGYRR6WdE8qCLFi5rhoI2/sqblp2i/j8e419YWzj+pRqDMCWlePg+i
7Ne5swH3UQXb+3sS/q0BUnYuJDnpmae/qJ4gDU1NvHZnrqz047hfvHw9gAcCh4a2
IZGzyqYAUSqhzm9epjEZ9+w=
-----END PRIVATE KEY-----

12
assignment2/ca/cheese.cfg Normal file
View File

@@ -0,0 +1,12 @@
[ ca ]
default_ca = CA_default
[ CA_default ]
default_days = 365
database = index.txt
serial = serial
copy_extensions = copy
new_certs_dir = .
default_md = sha256
policy = policy_any
[ policy_any ]
commonName = supplied

View File

@@ -0,0 +1,22 @@
#!/bin/bash
cert_ca="/C=PT/ST=Coimbra/L=Coimbra/O=UC/CN=CoimbraVPN"
cert_vpn="/C=PT/ST=Coimbra/L=Coimbra/O=UC/CN=gateway"
cert_user="/C=PT/ST=Coimbra/L=Coimbra/O=UC/CN=warrior"
cert_apache="/C=PT/ST=Coimbra/L=Coimbra/O=UC/CN=apache.coimbra"
[[ -e "serial" ]] || echo 1000 > serial
[[ -e "index.txt" ]] || touch index.txt
[[ -e "ca.key" ]] || openssl genrsa -out "ca.key" 2048
[[ -e "ca.crt" ]] || openssl req -x509 -nodes -days 365 -key "ca.key" -out "ca.crt" -subj "$cert_ca"
[[ -e "vpn.key" ]] || openssl genrsa -out "vpn.key" 2048
[[ -e "vpn.csr" ]] || openssl req -new -key "vpn.key" -out "vpn.csr" -subj "$cert_vpn"
[[ -e "vpn.crt" ]] || openssl ca -batch -in "vpn.csr" -cert "ca.crt" -keyfile "ca.key" -out "vpn.crt" -config cheese.cfg
[[ -e "dh2048.pem" ]] || openssl dhparam -out "dh2048.pem" 2048
[[ -e "ta.key" ]] || openvpn --genkey secret "ta.key"
[[ -e "user.key" ]] || openssl genrsa -out user.key
[[ -e "user.csr" ]] || openssl req -new -key user.key -out user.csr -subj "$cert_user"
[[ -e "user.crt" ]] || openssl ca -batch -in "user.csr" -cert "ca.crt" -keyfile "ca.key" -out "user.crt" -config cheese.cfg
[[ -e "apache.key" ]] || openssl genrsa -out apache.key
[[ -e "apache.csr" ]] || openssl req -new -key apache.key -out apache.csr -subj "$cert_apache" -addext "subjectAltName = IP:10.60.0.1,DNS:apache"
[[ -e "apache.crt" ]] || openssl ca -batch -in "apache.csr" -cert "ca.crt" -keyfile "ca.key" -out "apache.crt" -config cheese.cfg

View File

@@ -0,0 +1,8 @@
-----BEGIN DH PARAMETERS-----
MIIBDAKCAQEAvqMnND0GPZb1287Irc8grekth4JCb5Mfz4iig9GR0AJNzIj+/hf6
Cnz3+5F6OD7XDyY7Prgq/dZ6KhZAnKOSQ4r6rDbgcVqPoU5g8ykKuhI3daAOr/Ut
EauKJN4kcTDARvdk9gebWNIDRrbuV0wv7QDsO3TIznn24MTnYUm3ReExv58fmqX6
Ttr74clxnUC660HX084sxhxAA9Mfewy+8KCxy1MF2MttZP6DY3IWEVokfK2W/ZlE
UsFIMNlblKK/JBn7Y/6/FZN/V8zwxFCQBhuvOvaNbtraejkeUnl7VdqQ6T4Rmvid
0jN5ddbuyyu+pm7WPU94ilLyPQECexnx7wIBAgICAOE=
-----END DH PARAMETERS-----

4
assignment2/ca/index.txt Normal file
View File

@@ -0,0 +1,4 @@
V 270422105026Z 1000 unknown /CN=gateway
V 270422105026Z 1001 unknown /CN=warrior
V 270422123359Z 1002 unknown /CN=apache
V 270422141459Z 1003 unknown /CN=apache.coimbra

View File

@@ -0,0 +1 @@
unique_subject = yes

View File

@@ -0,0 +1 @@
unique_subject = yes

View File

@@ -0,0 +1,3 @@
V 270422105026Z 1000 unknown /CN=gateway
V 270422105026Z 1001 unknown /CN=warrior
V 270422123359Z 1002 unknown /CN=apache

Some files were not shown because too many files have changed in this diff Show More