merge duvidoso

This commit is contained in:
Filipe 2019-04-07 15:57:50 +01:00
commit 553eac0586
130 changed files with 5580 additions and 3626 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -102,8 +102,8 @@ android {
applicationId "pt.enei"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 3
versionName "3"
versionCode 4
versionName "4"
ndk {
abiFilters "armeabi-v7a", "x86"
}

View File

@ -15,13 +15,13 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.1</string>
<string>1.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>12</string>
<string>14</string>
<key>LSApplicationCategoryType</key>
<string></string>
<string>public.app-category.utilities</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>
@ -50,7 +50,7 @@
<key>NSLocationWhenInUseUsageDescription</key>
<string>Not used, just added this key because i used react-native and needed this keys for approval.</string>
<key>NSMicrophoneUsageDescription</key>
<string>Not used, just added this key because i used react-native and needed this keys for approval.</string>
<string>Not really used, but the module asks for it when openning the camera.</string>
<key>NSMotionUsageDescription</key>
<string>Not used, just added this key because i used react-native and needed this keys for approval.</string>
<key>NSPhotoLibraryAddUsageDescription</key>

BIN
api/.DS_Store vendored

Binary file not shown.

View File

@ -62,6 +62,9 @@ namespace api.Controllers
return BadRequest(result.Errors);
}
[HttpPost("login")]
public async Task<IActionResult> Login(UserForLoginDto UserForLoginDto)
{
@ -87,13 +90,15 @@ namespace api.Controllers
}
[HttpPost("loginQR")]
public async Task<IActionResult> loginQr(loginQr a){
public async Task<IActionResult> loginQr(loginQr a)
{
var u = await _userManager.FindByNameAsync(a.QRcode);
using (var client = new HttpClient())
{
try{
try
{
var url = "https://tickets.enei.pt/internal/api/Attendee/Detail";
@ -114,7 +119,9 @@ namespace api.Controllers
token = GenerateJwtToken(appUser).Result
});
}catch(Exception e){
}
catch (Exception e)
{
Console.WriteLine(e);
@ -138,7 +145,8 @@ namespace api.Controllers
var roles = await _userManager.GetRolesAsync(user);
foreach(var role in roles) {
foreach (var role in roles)
{
claims.Add(new Claim(ClaimTypes.Role, role));
}

View File

@ -7,6 +7,7 @@ using Microsoft.EntityFrameworkCore;
using api.Dtos;
using Microsoft.AspNetCore.Identity;
using api.Models;
using System.Net.Http;
namespace api.Controllers
{
@ -31,7 +32,36 @@ namespace api.Controllers
return View("Views/Landing/index.cshtml");
}
[AllowAnonymous]
[HttpGet("/reset/{user}")]
public async Task<IActionResult> resetPassword(string user)
{
using (var client = new HttpClient())
{
try
{
var url = "https://tickets.enei.pt/internal/api/User/ResetPassword?code=" + user;
// client.DefaultRequestHeaders.Add("Authorization", "Bearer " + a.token);
var response = await client.GetStringAsync(url);
return View("Views/Landing/resetPage.cshtml");
}
catch (HttpRequestException a)
{
return View("Views/Landing/resetError.cshtml");
// return NotFound(a);
}
}
}
[HttpGet("/app")]
[AllowAnonymous]
public IActionResult appPage()
@ -43,14 +73,20 @@ namespace api.Controllers
[HttpGet("/ctf")]
[AllowAnonymous]
public IActionResult ctfPage() {
public IActionResult ctfPage()
{
return View("Views/Landing/ctf.cshtml");
}
[AllowAnonymous]
[Route("{*url}", Order = 999)]
public IActionResult CatchAll()
{
Response.StatusCode = 404;
return View("Views/Landing/notFound.cshtml");
}
}

7
api/Dtos/reset.cs Normal file
View File

@ -0,0 +1,7 @@
namespace api.Dtos
{
public class reset
{
public string email { get; set; }
}
}

View File

@ -123,11 +123,12 @@
</p>
<p>O login na app é feito usando esse QR code</p>
<p>Para obteres a password, deves efectuar reset através da APP, ou preenchendo o campo a baixo.</p>
<form>
<input type="email" placeholder="Introduz o teu email">
<input type="button" data-bind="click: buy" value="RESET PASSWORD">
</form>
<input id="email-input" type="email" name="email" placeholder="Introduz o teu email">
<button class="button-default" onclick="resetPassword()">Reset Password</button>
</div>
</div>
</div>
@ -348,40 +349,93 @@
</div>
</section>
<!-- social network section -->
<aside id="social-network">
<!-- footer -->
<footer>
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2>Segue-nos</h2>
<ul>
<div class="col-lg-4 col-xs-6">
<p>© 2019 ENEI . Todos os direitos reservados</p>
</div>
<div class="col-lg-8 col-xs-6">
<ul id="social-network">
<li><a href="https://www.facebook.com/ENEIConf/" title="Facebook" target="_blank"
class="icon-facebook"></a></li>
<li><a href="https://www.instagram.com/eneiconf/" title="Instagram" target="_blank"
class="icon-instagram"></a></li>
<li><a href="https://www.linkedin.com/company/enei/" title="Linkedin" target="_blank"
class="icon-linkedin"></a></li>
<li><a href="mailto:geral@enei.pt" title="Email" target="_blank" class="icon-email"></a></li>
<li><a href="mailto:geral@enei.pt" title="Email" target="_blank" class="icon-email"></a>
</li>
</ul>
</div>
</div>
</div>
</aside>
<!-- footer -->
<footer>
<div class="container">
<div class="row">
<div class="col-lg-12">
<p>© 2019 ENEI . Todos os direitos reservados</p>
</div>
</div>
</div>
</footer>
<!-- Scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/scripts.js"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
resetPassword = () => {
var input = document.getElementById("email-input");
if (input != " ") {
console.log(input.value);
axios({
url: `https://tickets.enei.pt/internal/api/User/RecoverPassword?input=${input.value}&type=0`,
method: 'get',
}).then(a => {
console.log(a);
Swal.fire(
'Sucesso!',
'Foi enviado para o teu email um pedido de recuperação. Pode demorar demorar alguns minutos...',
'success'
)
}).catch(err => {
if (err.response.status === 500) {
Swal.fire(
'Utilizador não existe!',
'Verifica se o email é válido, caso o erro continue contacta a comissão organizadora',
'error'
)
}
else {
Swal.fire(
'Erro!',
'Aconteceu algum erro com o teu pedido...',
'error'
)
}
})
} else {
Swal.fire(
'Erro!',
'Deves preencher o campo de email.',
'warning'
)
}
}
</script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script>
<script src="https://cdn.jsdelivr.net/npm/promise-polyfill"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
<script>

View File

@ -0,0 +1,324 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt" xml:lang="pt">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta content="width=device-width, initial-scale=1, user-scalable=0" name="viewport">
<meta content="width" name="MobileOptimized">
<meta content="true" name="HandheldFriendly">
<!-- Place favicon.ico in the root directory -->
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
<link rel="manifest" href="site.webmanifest">
<link rel="mask-icon" href="safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
<title>ENEI'19</title>
<meta name="description"
content="Página do Encontro Nacional de Estudantes de Informática 2019, no Instituto Superior de Engenharia de Coimbra (ISEC) a realizar-se entre 12 e 15 de abril de 2019. O ENEI pretende oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial.">
<meta property="og:locale" content="pt_PT" />
<meta property="og:title" content="ENEI'19" />
<meta property="og:description"
content="Página do Encontro Nacional de Estudantes de Informática 2019, no Instituto Superior de Engenharia de Coimbra (ISEC) a realizar-se entre 12 e 15 de abril de 2019. O ENEI pretende oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial." />
<meta property="og:site_name" content="ENEI'19" />
<meta property="og:url" content="http://www.enei.pt/" />
<meta property="og:image" content="http://www.enei.pt/imgs/share-image.jpg" />
<meta property="og:type" content="Website" />
<link rel="canonical" href="http://www.enei.pt/" />
<link href="bootstrap-grid.css" rel="stylesheet" type="text/css" />
<link href="main.css" rel="stylesheet" type="text/css" />
<link href="https://fonts.googleapis.com/css?family=Bai+Jamjuree:400,600,700" rel="stylesheet">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css"
integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
</head>
<body>
<header id="main-menu">
<nav>
<a href="#" title="Abrir menu" rel="nofollow" id="open-menu-mobile">Menu</a>
<ul>
<li><a href="#enei" title="Enei">Enei</a></li>
<li class="unavailable">Oradores</li>
<li class="unavailable">Programa</li>
<li><a href="#precos" title="Preços">Preços</a></li>
<li class="unavailable">App</li>
<li><a href="#ctf" title="Faq's">CTF</li>
<li><a href="#sponsors" title="Sponsors">Sponsors</a></li>
<li><a href="#faqs" title="Faq's">Faq's</a></li>
</ul>
</nav>
</header>
<div class="ctf-header">
<div class="ctf-top10">
<h1 class="top-title">Melhores classificados CTF </h1>
<table class="table table-striped table-dark">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Nome Completo</th>
<th scope="col">Pontuação</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Henrique Dias</td>
<td>1024 pts</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Fernando Manuel Nunes Gonçalves</td>
<td>1024 pts</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Francisco xavier santos petronilho </td>
<td>1024 pts</td>
</tr>
<tr>
<th scope="row">4</th>
<td>Joao eduardo santos alcatrão</td>
<td>1024 pts</td>
</tr>
<tr>
<th scope="row">5</th>
<td>Mariana Luísa Lança Miguel e Fernandes Marques</td>
<td>1024 pts</td>
</tr>
</tbody>
</table>
</div>
<h3 class="about-top">Estas pontuações refletem o somatório das pontuações dos níveis cumpridos.</h3>
</div>
<div class="ctf-explain">
<div>
<h3>O que é o capture the flag?</h3>
<p>
O Capture The Flag é um concurso que vamos realizar diretamente relacionado com o jogo do ENEI, e com os
respetivos prémios espetaculares que temos a oferecer (Nintendo Switch, entre outros).
Este jogo é uma mistura de temas altamente relacionados com Informática, temas como WEB, CRYPTO,
REVERSE_ENGINNERING, e uma mistura de tantos outros. Todos os níveis têm o mesmo objetivo: Encontrar uma
frase (string) que por norma se encontra escondida.
Qualquer um pode participar no jogo (desde que já detenha um bilhete) apenas com um simples scan a este
QR code.
No fim de encontrares a string, deves gerar um QR code com ela e pronto, o nível está completo!
Basta então fazeres um scan a esse QR e obteres todos os pontos que mereces.
</p>
</div> <img src="imgs/flag.png" alt="app">
</div>
<div class="ctf-prizes">
<h3>O que posso ganhar ao realizar estes desafios?</h3>
<h5>O CTF vale cerca de 50% dos pontos do jogo do ENEI.</h5>
<div class="prizes-container">
<div class="prize">
<div class="prize-logo"><i class="fab fa-nintendo-switch"></i></div>
<h4>Nitendo Switch</h4>
</div>
<div class="prize">
<div class="prize-logo"><i class="fas fa-volume-up"></i></div>
<h4>Coluna Bluetooth Xiaomi</h4>
</div>
<div class="prize">
<div class="prize-logo"><i class="fas fa-headphones"></i></i></div>
<h4>Auscultadores AKG K518</h4>
</div>
<div class="prize">
<div class="prize-logo"><i class="fas fa-battery-full"></i></div>
<h4>Power Bank Xiaomi Mi 5000</h4>
</div>
</div>
</div>
<div class="ctf-levels">
<div class="level1-ctf level">
<h3>Web</h3>
<div class="sub-container">
<div class="sub-level">
<h4>1 - WHATSTHEPASSWORD<i>(31 pontos)</i></h4>
<p>Começa esta jornada, com um desafio fácil relacionado com WEB. Talvez desta forma fiques motivado a continuar!</p>
<a href="#"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>2 - ROT13 <i>(37 pontos)</i></h4>
<p> De forma a provares melhor o significado deste concurso, deixamos-te um desafio WEB com alguma análise.</p>
<a href="#"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
<div class="level2-ctf level">
<h3>Analyse</h3>
<div class="sub-container">
<div class="sub-level">
<h4>3 - BURRO <i>(41 pontos)</i></h4>
<p>Com este desafio pomos à prova a tua análise de ficheiros e até pode ser que te rias a completar o 3º de muita diversão.</p>
<a href="https://enei.pt/ctf/Burro.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>4 - WHOAMI <i>(43 pontos)</i></h4>
<p> Vamos lá continuar a desenvolver esse raciocínio, mas desta vez com um pouco de pacotes à mistura. É uma confusão!! </p>
<a href="https://enei.pt/ctf/WHOAMI.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
<div class="level3-ctf level">
<h3>Reverse Engeneering </h3>
<div class="sub-container">
<div class="sub-level">
<h4>5 - REVERSEENGINNERING <i>(47 pontos)</i></h4>
<p> Daqui em diante a dificuldade começa a mudar de direção, vais acompanhar? Fica aqui um desafio de reverse_enginnering, nada de muito complicado (para ti).</p>
<a href="https://enei.pt/ctf/Try_Me.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>6 -OLD <i>(59 pontos)</i></h4>
<p>Prova o cerne destes desafios, explorando, analisando e percebendo como descobrir a flag escondida, o típico desafio crypto.</p>
<a href="https://enei.pt/ctf/OLD.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
<div class="level4-ctf level">
<h3> Crypto</h3>
<div class="sub-container">
<div class="sub-level">
<h4>7 - MASM_IS_LIFE <i>(61 pontos)</i></h4>
<p> Deixamos aqui um desafio destruidor de sonhos, é verdade.. Estás pronto para um bocadinho de assembly? </p>
<a href="https://enei.pt/ctf/ASM_IS_LIFE.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>8 - OLD2 <i>(89 pontos)</i></h4>
<p>Aqui fica a continuação do desafio nº 6, se ainda não o completas-te, não faz sentido continuares este. Se já o fizes-te, então estás pronto para experimentar esta aventura que teve início em 2002 (DosBox). </p>
<a href="https://enei.pt/ctf/OLD2.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
<div class="level5-ctf level">
<h3>Engeneering</h3>
<div class="sub-container">
<div class="sub-level">
<h4>9 - ZIPZIPZIPZIP <i>(101 pontos)</i></h4>
<p>(WARNING) Não aconselhado a pessoas sensíveis, este nível irá exigir de ti algum tempo, raciocínio e conhecimento. Descobre a flag neste desafio propício a dares em louco. (SPOILER ALERT) </p>
<a href="https://enei.pt/ctf/ZIPZIPZIPZIP.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>10 - THE_END <i>(109 pontos)</i></h4>
<p> (WARNING) Nem preciso de comentar... Um nível como este não requer descrições. Boa Sorte! </p>
<a href="https://enei.pt/ctf/THEEND.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
</div>
<div class="explain-qr">
<img src="imgs/QRstart.png" alt="app">
<div class="explain">
<h3>Como registar progresso no CTF?</h3>
<p>Depois de obter a flag (string) do nível, deves gerar um QR code com a mesma.</p>
<p>Em seguida, deves usar a App para ler este QR code.</p>
<p>Caso seja válida, a flag irá dar-te acesso ao cromo que representa o nível.</p>
<p>Para testar podes usar este QR code (free points).</p>
<p>Boa sorte, a equipa do ENEI'19</p>
</div>
</div>
<!-- faqs section -->
<section id="faqs">
<div class="container">
<div class="row">
<div class="col-lg-5">
<div class="pre-h1">Perguntas Frequentes</div>
<h1>Faqs</h1>
<hr>
</div>
</div>
<div class="row">
<div class="col-lg-10">
<ul id="accordion">
<li>
<a href="#" title="Como posso participar?" rel="nofollow" class="toggle">Como posso participar?</a>
<div class="content-accordion">
<p> Tal como o descrito acima, basta efetuares a compra do bilhete e fazeres scan do QR code da página do CTF.
</p>
<p>Deves então prosseguir à descoberta das frases escondidas em cada desafio, e procederes à geração de um QR code com essa string.</p>
</div>
</li>
<li>
<a href="#" title="Quando posso começar?" rel="nofollow" class="toggle">Quando posso começar?
inscrever?</a>
<div class="content-accordion">
<p> O concurso irá iniciar no domingo (dia 7) às 14:30 horas e terminar no sábado (dia 13) às 00:00 horas.</p>
</div>
</li>
<li>
<a href="#" title="O que tenho eu a ganhar?" rel="nofollow"
class="toggle">O que tenho eu a ganhar?</a>
<div class="content-accordion">
<p>Com a realização do concurso não só irás evoluir as tuas competências gerais relacionadas com Informática e Raciocínio Mental, como estás sujeito a ganhar prémios fenomenais.</p>
</div>
</li>
</ul>
</div>
</div>
</div>
</section>
<footer>
<div class="container">
<div class="row">
<div class="col-lg-4 col-xs-6">
<p>© 2019 ENEI . Todos os direitos reservados</p>
</div>
<div class="col-lg-8 col-xs-6">
<ul id="social-network">
<li><a href="https://www.facebook.com/ENEIConf/" title="Facebook" target="_blank"
class="icon-facebook"></a></li>
<li><a href="https://www.instagram.com/eneiconf/" title="Instagram" target="_blank"
class="icon-instagram"></a></li>
<li><a href="https://www.linkedin.com/company/enei/" title="Linkedin" target="_blank"
class="icon-linkedin"></a></li>
<li><a href="mailto:geral@enei.pt" title="Email" target="_blank" class="icon-email"></a>
</li>
</ul>
</div>
</div>
</div>
</footer>
<!-- Scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/scripts.js"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-130588243-1');
</script>
</body>
</html>

View File

@ -0,0 +1,62 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt" xml:lang="pt">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta content="width=device-width, initial-scale=1, user-scalable=0" name="viewport">
<meta content="width" name="MobileOptimized">
<meta content="true" name="HandheldFriendly">
<!-- Place favicon.ico in the root directory -->
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
<link rel="manifest" href="site.webmanifest">
<link rel="mask-icon" href="safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
<title>ENEI'19 - Error</title>
<meta name="description" content="Página do Encontro Nacional de Estudantes de Informática 2019, no Instituto Superior de Engenharia de Coimbra (ISEC) a realizar-se entre 12 e 15 de abril de 2019. O ENEI pretende oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial.">
<meta property="og:locale" content="pt_PT" />
<meta property="og:title" content="ENEI'19 - Error" />
<meta property="og:description" content="Página do Encontro Nacional de Estudantes de Informática 2019, no Instituto Superior de Engenharia de Coimbra (ISEC) a realizar-se entre 12 e 15 de abril de 2019. O ENEI pretende oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial." />
<meta property="og:site_name" content="ENEI'19 - Error" />
<meta property="og:url" content="http://www.enei.pt/error-page.html" />
<meta property="og:image" content="http://www.enei.pt/imgs/share-image.jpg" />
<meta property="og:type" content="Website" />
<link rel="canonical" href="http://www.enei.pt/error-page.html" />
<link href="bootstrap-grid.css" rel="stylesheet" type="text/css" />
<link href="main.css" rel="stylesheet" type="text/css" />
<link href="https://fonts.googleapis.com/css?family=Bai+Jamjuree:400,600,700" rel="stylesheet">
</head>
<body>
<!-- apresentation section -->
<div id="apresentation">
<h1 id="error-message">404</h1>
</div>
<!-- Scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/scripts.js"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src=“https://www.googletagmanager.com/gtag/js?id=UA-130588243-1“></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-130588243-1');
</script>
</body>
</html>

View File

@ -0,0 +1,112 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt" xml:lang="pt">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta content="width=device-width, initial-scale=1, user-scalable=0" name="viewport">
<meta content="width" name="MobileOptimized">
<meta content="true" name="HandheldFriendly">
<!-- Place favicon.ico in the root directory -->
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
<link rel="manifest" href="site.webmanifest">
<link rel="mask-icon" href="safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
<title>ENEI'19 - Error</title>
<meta name="description" content="Página do Encontro Nacional de Estudantes de Informática 2019, no Instituto Superior de Engenharia de Coimbra (ISEC) a realizar-se entre 12 e 15 de abril de 2019. O ENEI pretende oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial.">
<meta property="og:locale" content="pt_PT" />
<meta property="og:title" content="ENEI'19 - Error" />
<meta property="og:description" content="Página do Encontro Nacional de Estudantes de Informática 2019, no Instituto Superior de Engenharia de Coimbra (ISEC) a realizar-se entre 12 e 15 de abril de 2019. O ENEI pretende oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial." />
<meta property="og:site_name" content="ENEI'19 - Error" />
<meta property="og:url" content="http://www.enei.pt/error-page.html" />
<meta property="og:image" content="http://www.enei.pt/imgs/share-image.jpg" />
<meta property="og:type" content="Website" />
<link rel="canonical" href="http://www.enei.pt/error-page.html" />
<link href="bootstrap-grid.css" rel="stylesheet" type="text/css" />
<link href="https://enei.pt/main.css" rel="stylesheet" type="text/css" />
<link href="https://fonts.googleapis.com/css?family=Bai+Jamjuree:400,600,700" rel="stylesheet">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css"
integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<style>
html{
display: flex;
flex-direction: column;
justify-content: center;
height: 100%;
background-image: linear-gradient(0deg, rgba(208, 46, 44, 1) 20%, rgb(225, 73, 78) 100%);
}
.resetPassword{
margin: 0 auto;
// background-color:#CC1A17;
text-align: center;
width: 50%;
padding: 40px;
}
h1,h3{
color:black;
padding: 10px;
}
.button-reset{
margin: 20px;
padding: 20px;
}
</style>
</head>
<body>
<div class="download-app">
<div class="left">
<h1>Erro!!</h1>
<h3>Este código de recuperação não existe, ou já foi utilizado...</h3>
<h3>Volta a realizar o processo! Caso o erro persista, contacta a comissão.</h3>
<div class="buttons">
<a href="https://enei.pt/app">
<div class="button-app">
<div class="button-text">
<h3>Ir para</h3>
<h2>Página da APP</h2>
</div>
</div>
</a>
</div>
</div>
</div>
<!-- Scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/scripts.js"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src=“https://www.googletagmanager.com/gtag/js?id=UA-130588243-1“></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-130588243-1');
</script>
</body>
</html>

View File

@ -0,0 +1,125 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt" xml:lang="pt">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta content="width=device-width, initial-scale=1, user-scalable=0" name="viewport">
<meta content="width" name="MobileOptimized">
<meta content="true" name="HandheldFriendly">
<!-- Place favicon.ico in the root directory -->
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
<link rel="manifest" href="site.webmanifest">
<link rel="mask-icon" href="safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
<title>ENEI'19 - Error</title>
<meta name="description" content="Página do Encontro Nacional de Estudantes de Informática 2019, no Instituto Superior de Engenharia de Coimbra (ISEC) a realizar-se entre 12 e 15 de abril de 2019. O ENEI pretende oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial.">
<meta property="og:locale" content="pt_PT" />
<meta property="og:title" content="ENEI'19 - Error" />
<meta property="og:description" content="Página do Encontro Nacional de Estudantes de Informática 2019, no Instituto Superior de Engenharia de Coimbra (ISEC) a realizar-se entre 12 e 15 de abril de 2019. O ENEI pretende oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial." />
<meta property="og:site_name" content="ENEI'19 - Error" />
<meta property="og:url" content="http://www.enei.pt/error-page.html" />
<meta property="og:image" content="http://www.enei.pt/imgs/share-image.jpg" />
<meta property="og:type" content="Website" />
<link rel="canonical" href="http://www.enei.pt/error-page.html" />
<link href="bootstrap-grid.css" rel="stylesheet" type="text/css" />
<link href="https://enei.pt/main.css" rel="stylesheet" type="text/css" />
<link href="https://fonts.googleapis.com/css?family=Bai+Jamjuree:400,600,700" rel="stylesheet">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css"
integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<style>
html{
display: flex;
flex-direction: column;
justify-content: center;
height: 100%;
background-image: linear-gradient(0deg, rgba(208, 46, 44, 1) 20%, rgb(225, 73, 78) 100%);
}
.resetPassword{
margin: 0 auto;
// background-color:#CC1A17;
text-align: center;
width: 50%;
padding: 40px;
}
h1,h3{
color:black;
padding: 10px;
}
.button-reset{
margin: 20px;
padding: 20px;
}
</style>
</head>
<body>
<div class="download-app">
<div class="left">
<h1>Sucesso!!</h1>
<h3>Dentro de alguns minutos irás receber a nova password.</h3>
<h3>Podes aproveitar a espera para fazer o download.</h3>
<div class="buttons">
<a href="https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=1457702417&mt=8">
<div class="button-app">
<div class="button-logo">
<i class="fab fa-apple"></i>
</div>
<div class="button-text">
<h3>Available on the</h3>
<h2>App Store</h2>
</div>
</div>
</a>
<a href="https://play.google.com/store/apps/details?id=pt.enei">
<div class="button-app">
<div class="button-logo">
<i class="fab fa-google-play"></i>
</div>
<div class="button-text">
<h3>Available on the</h3>
<h2>Play Store</h2>
</div>
</div>
</a>
</div>
</div>
</div>
<!-- Scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/scripts.js"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src=“https://www.googletagmanager.com/gtag/js?id=UA-130588243-1“></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-130588243-1');
</script>
</body>
</html>

BIN
api/wwwroot/.DS_Store vendored

Binary file not shown.

View File

@ -123,11 +123,12 @@
</p>
<p>O login na app é feito usando esse QR code</p>
<p>Para obteres a password, deves efectuar reset através da APP, ou preenchendo o campo a baixo.</p>
<form>
<input type="email" placeholder="Introduz o teu email">
<input type="button" data-bind="click: buy" value="RESET PASSWORD">
</form>
<input id="email-input" type="email" name="email" placeholder="Introduz o teu email">
<button class="button-default" onclick="resetPassword()">Reset Password</button>
</div>
</div>
</div>
@ -348,40 +349,88 @@
</div>
</section>
<!-- social network section -->
<aside id="social-network">
<!-- footer -->
<footer>
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2>Segue-nos</h2>
<ul>
<div class="col-lg-4 col-xs-6">
<p>© 2019 ENEI . Todos os direitos reservados</p>
</div>
<div class="col-lg-8 col-xs-6">
<ul id="social-network">
<li><a href="https://www.facebook.com/ENEIConf/" title="Facebook" target="_blank"
class="icon-facebook"></a></li>
<li><a href="https://www.instagram.com/eneiconf/" title="Instagram" target="_blank"
class="icon-instagram"></a></li>
<li><a href="https://www.linkedin.com/company/enei/" title="Linkedin" target="_blank"
class="icon-linkedin"></a></li>
<li><a href="mailto:geral@enei.pt" title="Email" target="_blank" class="icon-email"></a></li>
<li><a href="mailto:geral@enei.pt" title="Email" target="_blank" class="icon-email"></a>
</li>
</ul>
</div>
</div>
</div>
</aside>
<!-- footer -->
<footer>
<div class="container">
<div class="row">
<div class="col-lg-12">
<p>© 2019 ENEI . Todos os direitos reservados</p>
</div>
</div>
</div>
</footer>
<!-- Scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/scripts.js"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
resetPassword = () => {
var input = document.getElementById("email-input");
if (input != " ") {
console.log(input.value);
axios({
url: `https://tickets.enei.pt/internal/api/User/RecoverPassword?input=${input.value}&type=0`,
method: 'get',
}).then(a => {
console.log(a);
Swal.fire(
'Sucesso!',
'Foi enviado para o teu email um pedido de recuperação. Pode demorar demorar alguns minutos...',
'success'
)
}).catch(err => {
if (err.response.status === 500) {
Swal.fire(
'Utilizador não existe!',
'Verifica se o email é válido, caso o erro continue contacta a comissão organizadora',
'error'
)
}
else {
Swal.fire(
'Erro!',
'Aconteceu algum erro com o teu pedido...',
'error'
)
}
})
} else {
Swal.fire(
'Erro!',
'Deves preencher o campo de email.',
'warning'
)
}
}
</script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script>
<script src="https://cdn.jsdelivr.net/npm/promise-polyfill"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
<script>

View File

@ -35,6 +35,10 @@
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css"
integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
</head>
<body>
@ -98,33 +102,153 @@
</div>
<h3 class="about-top">Estas pontuações refletem o somatório das pontuçãoes dos níveis cumpridos.</h3>
<h3 class="about-top">Estas pontuações refletem o somatório das pontuações dos níveis cumpridos.</h3>
</div>
<div class="ctf-explain">
<p>O CTF - capture the flag é um evento onde os participantes têm como objectivo encontrar as flags escondidas. </p>
<p>O nosso CTF não é sobre </p>
<div>
<h3>O que é o capture the flag?</h3>
<p>
O Capture The Flag é um concurso que vamos realizar diretamente relacionado com o jogo do ENEI, e com os
respetivos prémios espetaculares que temos a oferecer (Nintendo Switch, entre outros).
Este jogo é uma mistura de temas altamente relacionados com Informática, temas como WEB, CRYPTO,
REVERSE_ENGINNERING, e uma mistura de tantos outros. Todos os níveis têm o mesmo objetivo: Encontrar uma
frase (string) que por norma se encontra escondida.
Qualquer um pode participar no jogo (desde que já detenha um bilhete) apenas com um simples scan a este
QR code.
No fim de encontrares a string, deves gerar um QR code com ela e pronto, o nível está completo!
Basta então fazeres um scan a esse QR e obteres todos os pontos que mereces.
</p>
</div> <img src="imgs/flag.png" alt="app">
</div>
<div class="prizes">
<div class="ctf-prizes">
<h3>O que posso ganhar ao realizar estes desafios?</h3>
<p></p>
<h5>O CTF vale cerca de 50% dos pontos do jogo do ENEI.</h5>
<div class="prizes-container">
<div class="prize">
<div class="prize-logo"><i class="fab fa-nintendo-switch"></i></div>
<h4>Nitendo Switch</h4>
</div>
<div class="prize">
<div class="prize-logo"><i class="fas fa-volume-up"></i></div>
<h4>Coluna Bluetooth Xiaomi</h4>
</div>
<div class="prize">
<div class="prize-logo"><i class="fas fa-headphones"></i></i></div>
<h4>Auscultadores AKG K518</h4>
</div>
<div class="prize">
<div class="prize-logo"><i class="fas fa-battery-full"></i></div>
<h4>Power Bank Xiaomi Mi 5000</h4>
</div>
</div>
</div>
<div class="ctf-levels">
<div class="level1-ctf level">
<h3>Web</h3>
<div class="sub-container">
<div class="sub-level">
<h4>1 - WHATSTHEPASSWORD<i>(31 pontos)</i></h4>
<p>Começa esta jornada, com um desafio fácil relacionado com WEB. Talvez desta forma fiques motivado a continuar!</p>
<a href="#"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>2 - ROT13 <i>(37 pontos)</i></h4>
<p> De forma a provares melhor o significado deste concurso, deixamos-te um desafio WEB com alguma análise.</p>
<a href="#"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
<div class="level2-ctf level">
<h3>Analyse</h3>
<div class="sub-container">
<div class="sub-level">
<h4>3 - BURRO <i>(41 pontos)</i></h4>
<p>Com este desafio pomos à prova a tua análise de ficheiros e até pode ser que te rias a completar o 3º de muita diversão.</p>
<a href="https://enei.pt/ctf/Burro.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>4 - WHOAMI <i>(43 pontos)</i></h4>
<p> Vamos lá continuar a desenvolver esse raciocínio, mas desta vez com um pouco de pacotes à mistura. É uma confusão!! </p>
<a href="https://enei.pt/ctf/WHOAMI.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
<div class="level3-ctf level">
<h3>Reverse Engeneering </h3>
<div class="sub-container">
<div class="sub-level">
<h4>5 - REVERSEENGINNERING <i>(47 pontos)</i></h4>
<p> Daqui em diante a dificuldade começa a mudar de direção, vais acompanhar? Fica aqui um desafio de reverse_enginnering, nada de muito complicado (para ti).</p>
<a href="https://enei.pt/ctf/Try_Me.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>6 -OLD <i>(59 pontos)</i></h4>
<p>Prova o cerne destes desafios, explorando, analisando e percebendo como descobrir a flag escondida, o típico desafio crypto.</p>
<a href="https://enei.pt/ctf/OLD.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
<div class="level4-ctf level">
<h3> Crypto</h3>
<div class="sub-container">
<div class="sub-level">
<h4>7 - MASM_IS_LIFE <i>(61 pontos)</i></h4>
<p> Deixamos aqui um desafio destruidor de sonhos, é verdade.. Estás pronto para um bocadinho de assembly? </p>
<a href="https://enei.pt/ctf/ASM_IS_LIFE.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>8 - OLD2 <i>(89 pontos)</i></h4>
<p>Aqui fica a continuação do desafio nº 6, se ainda não o completas-te, não faz sentido continuares este. Se já o fizes-te, então estás pronto para experimentar esta aventura que teve início em 2002 (DosBox). </p>
<a href="https://enei.pt/ctf/OLD2.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
<div class="level5-ctf level">
<h3>Engeneering</h3>
<div class="sub-container">
<div class="sub-level">
<h4>9 - ZIPZIPZIPZIP <i>(101 pontos)</i></h4>
<p>(WARNING) Não aconselhado a pessoas sensíveis, este nível irá exigir de ti algum tempo, raciocínio e conhecimento. Descobre a flag neste desafio propício a dares em louco. (SPOILER ALERT) </p>
<a href="https://enei.pt/ctf/ZIPZIPZIPZIP.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>10 - THE_END <i>(109 pontos)</i></h4>
<p> (WARNING) Nem preciso de comentar... Um nível como este não requer descrições. Boa Sorte! </p>
<a href="https://enei.pt/ctf/THEEND.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
</div>
<div class="explain-qr">
<img src="imgs/QRstart.png" alt="app">
<div>
<h3>No decorrer do concurso sempre que encontrares a Flag, deves criar um QR code com a mesma e efectuar a
leitura utilizando a aplicação do envento.</h3>
<h3>Para começares lê este QR code com a APP</h3>
<div class="explain">
<h3>Como registar progresso no CTF?</h3>
<p>Depois de obter a flag (string) do nível, deves gerar um QR code com a mesma.</p>
<p>Em seguida, deves usar a App para ler este QR code.</p>
<p>Caso seja válida, a flag irá dar-te acesso ao cromo que representa o nível.</p>
<p>Para testar podes usar este QR code (free points).</p>
<p>Boa sorte, a equipa do ENEI'19</p>
</div>
</div>
<!-- faqs section -->
<section id="faqs">
<div class="container">
<div class="row">
<div class="col-lg-5">
<div class="pre-h1">Perguntas Frequentes</div>
<h1>Faq</h1>
<h1>Faqs</h1>
<hr>
</div>
</div>
@ -132,52 +256,26 @@
<div class="col-lg-10">
<ul id="accordion">
<li>
<a href="#" title="O que é o ENEI?" rel="nofollow" class="toggle">O que é o ENEI?</a>
<a href="#" title="Como posso participar?" rel="nofollow" class="toggle">Como posso participar?</a>
<div class="content-accordion">
<p>O Encontro Nacional de Estudantes de Informática (ENEI) é um evento que pretende
oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca
de
ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial.
<p> Tal como o descrito acima, basta efetuares a compra do bilhete e fazeres scan do QR code da página do CTF.
</p>
<p>Esta versão do evento também incluirá os tradicionais momentos de diversão noturnos
que
muito apelam a todos os participantes das antigas edições e são uma excelente via de
networking e transferência de conhecimento!</p>
<p>Deves então prosseguir à descoberta das frases escondidas em cada desafio, e procederes à geração de um QR code com essa string.</p>
</div>
</li>
<li>
<a href="#" title="Onde me posso inscrever?" rel="nofollow" class="toggle">Onde me posso
<a href="#" title="Quando posso começar?" rel="nofollow" class="toggle">Quando posso começar?
inscrever?</a>
<div class="content-accordion">
<p>Podes adquirir o teu bilhete <a href="https://tickets.enei.pt" title="Aqui">AQUI</a>.
</p>
<p> O concurso irá iniciar no domingo (dia 7) às 14:30 horas e terminar no sábado (dia 13) às 00:00 horas.</p>
</div>
</li>
<li>
<a href="#" title="Quando é o programa vai estar disponível?" rel="nofollow"
class="toggle">Quando é o programa vai estar disponível?</a>
<a href="#" title="O que tenho eu a ganhar?" rel="nofollow"
class="toggle">O que tenho eu a ganhar?</a>
<div class="content-accordion">
<p>O programa vai sendo lançado nas próximas semanas de forma iterativa.</p>
</div>
</li>
<li>
<a href="#" title="Quem pode participar no evento?" rel="nofollow" class="toggle">Quem pode
participar no evento?</a>
<div class="content-accordion">
<p>Podem participar no ENEI19 todos os estudantes de cursos relacionados com
informática e
todos aqueles que querem aprender mais sobre os temas abordados!</p>
</div>
</li>
<li>
<a href="#" title="Tenho acesso a todas as sessões?" rel="nofollow" class="toggle">Tenho
acesso a todas as sessões?</a>
<div class="content-accordion">
<p>Não, as palestras e workshops necessitam de inscrições visto que têm lugares
limitados.</p>
<p>Brevemente poderás te inscrever na aplicação móvel do ENEI'19!</p>
<p>Com a realização do concurso não só irás evoluir as tuas competências gerais relacionadas com Informática e Raciocínio Mental, como estás sujeito a ganhar prémios fenomenais.</p>
</div>
</li>
</ul>
@ -186,36 +284,29 @@
</div>
</section>
<!-- social network section -->
<aside id="social-network">
<footer>
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2>Segue-nos</h2>
<ul>
<div class="col-lg-4 col-xs-6">
<p>© 2019 ENEI . Todos os direitos reservados</p>
</div>
<div class="col-lg-8 col-xs-6">
<ul id="social-network">
<li><a href="https://www.facebook.com/ENEIConf/" title="Facebook" target="_blank"
class="icon-facebook"></a></li>
<li><a href="https://www.instagram.com/eneiconf/" title="Instagram" target="_blank"
class="icon-instagram"></a></li>
<li><a href="https://www.linkedin.com/company/enei/" title="Linkedin" target="_blank"
class="icon-linkedin"></a></li>
<li><a href="mailto:geral@enei.pt" title="Email" target="_blank" class="icon-email"></a></li>
<li><a href="mailto:geral@enei.pt" title="Email" target="_blank" class="icon-email"></a>
</li>
</ul>
</div>
</div>
</div>
</aside>
<!-- footer -->
<footer>
<div class="container">
<div class="row">
<div class="col-lg-12">
<p>© 2019 ENEI . Todos os direitos reservados</p>
</div>
</div>
</div>
</footer>
<!-- Scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/scripts.js"></script>

BIN
api/wwwroot/ctf/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
api/wwwroot/ctf/Burro.zip Normal file

Binary file not shown.

BIN
api/wwwroot/ctf/OLD.zip Normal file

Binary file not shown.

BIN
api/wwwroot/ctf/OLD2.zip Normal file

Binary file not shown.

BIN
api/wwwroot/ctf/THEEND.zip Normal file

Binary file not shown.

BIN
api/wwwroot/ctf/Try_Me.zip Normal file

Binary file not shown.

BIN
api/wwwroot/ctf/WHOAMI.zip Normal file

Binary file not shown.

Binary file not shown.

View File

@ -38,28 +38,9 @@
<h1 id="error-message">404</h1>
</div>
<!-- social network section -->
<aside id="social-network">
<div class="container">
<div class="col-lg-8 col-lg-offset-2">
<h2>Siga-nos</h2>
<ul>
<li><a href="https://www.facebook.com/ENEIConf/" title="Facebook" target="_blank" class="icon-facebook"></a></li>
<li><a href="https://www.instagram.com/eneiconf/" title="Instagram" target="_blank" class="icon-instagram"></a></li>
<li><a href="https://www.linkedin.com/company/enei/" title="Linkedin" target="_blank" class="icon-linkedin"></a></li>
<li><a href="mailto:geral@enei.pt" title="Email" target="_blank" class="icon-email"></a></li>
</ul>
</div>
</div>
</aside>
<!-- footer -->
<footer>
<div class="container">
<div class="col-lg-12">
<p>© 2018 ENEI . Todos os direitos reservados</p>
</div>
</div>
</footer>
<!-- Scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
@ -67,12 +48,13 @@
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src=“https://www.googletagmanager.com/gtag/js?id=UA-130588243-1“></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag(js, new Date());
gtag(config, UA-130588243-1);
gtag('js', new Date());
gtag('config', 'UA-130588243-1');
</script>
</body>

Binary file not shown.

BIN
api/wwwroot/imgs/caching/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
api/wwwroot/imgs/caching/nova/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

BIN
api/wwwroot/imgs/caching/porta/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

BIN
api/wwwroot/imgs/caching/praca/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

BIN
api/wwwroot/imgs/caching/velha/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

BIN
api/wwwroot/imgs/flag.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

229
api/wwwroot/main.css Executable file → Normal file
View File

@ -1730,12 +1730,23 @@ footer p {
.ctf-header .ctf-top10 td {
text-align: center;
}
@media screen and (max-width: 769px) {
.ctf-header .ctf-top10 {
width: 95%;
padding-top: 20px;
}
}
.ctf-header .about-top {
color: white;
font-size: 15px;
text-align: center;
margin: 2%;
}
@media screen and (max-width: 769px) {
.ctf-header {
width: 100%;
}
}
.container-app {
background-image: linear-gradient(0deg, #d02e2c 20%, #e1494e 100%);
@ -1860,6 +1871,23 @@ footer p {
width: 60%;
height: 60%;
}
.login-app .button-default {
padding: 20px;
font-size: 14px;
line-height: 14px;
color: black;
font-weight: 700;
text-transform: uppercase;
border: 1px solid #eeeeee;
padding: 30px 30px;
transition: border-color 150ms ease-out, background-color 150ms ease-out, color 150ms ease-out;
-webkit-transition: border-color 150ms ease-out, background-color 150ms ease-out, color 150ms ease-out;
}
.login-app .button-default:hover {
border-color: #cc1a17;
background-color: #cc1a17;
color: #ffffff;
}
@media screen and (max-width: 769px) {
.login-app {
flex-direction: column;
@ -2080,12 +2108,37 @@ footer p {
flex: 1;
display: flex;
flex-direction: row;
padding: 50px;
justify-content: center;
background-image: url("./imgs/bg_phone.png");
}
@media screen and (max-width: 769px) {
.explain-qr {
padding: 10px;
}
}
.explain-qr .explain {
margin: 30px;
}
@media screen and (max-width: 769px) {
.explain-qr .explain {
margin: 10px;
}
}
.explain-qr .explain h3 {
margin-bottom: 0;
color: white;
margin: 20px;
}
.explain-qr .explain p {
color: white;
margin-left: 20px;
}
.explain-qr img {
width: 20%;
height: 20%;
margin: 20px;
align-self: center;
}
@media screen and (max-width: 769px) {
.explain-qr {
@ -2096,13 +2149,181 @@ footer p {
height: 100%;
}
}
.explain-qr h3 {
color: white;
margin: 30px;
}
.ctf-explain {
flex: 1;
display: flex;
flex-direction: row;
background-color: #eeeeee;
padding: 40px;
}
.ctf-explain h3 {
padding: 30px;
padding-bottom: 0px;
}
.ctf-explain p {
padding: 30px;
text-align: justify;
text-justify: inter-word;
}
.ctf-explain img {
width: 30%;
height: 30%;
}
@media screen and (max-width: 769px) {
.ctf-explain {
flex-direction: column;
padding: 1px;
}
.ctf-explain img {
width: 100%;
height: 100%;
}
.ctf-explain p {
width: 100%;
padding: 15px;
}
}
.ctf-levels .level1-ctf {
background-color: #de6d6b;
}
.ctf-levels .level2-ctf {
background-color: #d95856;
}
.ctf-levels .level3-ctf {
background-color: #d54341;
}
.ctf-levels .level4-ctf {
background-color: #d02e2c;
}
.ctf-levels .level5-ctf {
background-color: #cc1a17;
}
.ctf-levels .level {
padding: 80px;
}
@media screen and (max-width: 769px) {
.ctf-levels .level {
padding: 30px 10px;
}
}
.ctf-levels .level h3 {
color: white;
padding-left: 30px;
}
.ctf-levels .level .sub-container {
flex: 1;
display: flex;
flex-direction: row;
}
@media screen and (max-width: 769px) {
.ctf-levels .level .sub-container {
flex-direction: column;
}
}
.ctf-levels .level .sub-container .sub-level {
width: 100%;
border: 1px dashed white;
margin: 20px;
padding: 20px;
align-content: center;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
}
@media screen and (max-width: 769px) {
.ctf-levels .level .sub-container .sub-level {
padding: 5;
margin: 10px 0;
}
}
.ctf-levels .level .sub-container .sub-level p {
color: black;
text-align: justify;
text-justify: inter-word;
}
.ctf-levels .level .sub-container .sub-level i {
color: #eeeeee;
font-size: 18px;
}
.ctf-levels .level .sub-container .sub-level .btn-dwn-ctf {
flex: 1;
display: flex;
flex-direction: row;
color: white;
width: 40%;
margin: 20px;
text-align: center;
margin: 0 auto;
}
.ctf-levels .level .sub-container .sub-level .btn-dwn-ctf i {
font-size: 30px;
}
.ctf-levels .level .sub-container .sub-level .btn-dwn-ctf:hover {
text-decoration: none;
}
.ctf-levels .level .sub-container .sub-level .btn-dwn-ctf:hover a:hover {
text-decoration: none;
}
.ctf-levels .level .sub-container .sub-level .btn-dwn-ctf h3 {
font-size: 20px;
margin: 10px;
align-content: center;
align-self: center;
}
.ctf-prizes {
padding: 50px;
}
.ctf-prizes h3 {
padding: 30px;
padding-bottom: 0px;
}
.ctf-prizes h5 {
padding-left: 30px;
color: #cc1a17;
}
@media screen and (max-width: 769px) {
.ctf-prizes {
padding: 0;
}
.ctf-prizes h3 {
padding: 20px;
text-align: center;
}
.ctf-prizes h5 {
text-align: center;
padding: 10px;
}
}
.ctf-prizes .prizes-container {
flex: 1;
display: flex;
flex-direction: row;
padding-top: 30px;
}
.ctf-prizes .prizes-container .prize {
flex: 1;
flex-direction: column;
display: flex;
width: 100%;
margin: 20px;
align-content: center;
align-items: center;
}
.ctf-prizes .prizes-container .prize .prize-logo {
font-size: 100px;
}
@media screen and (max-width: 769px) {
.ctf-prizes .prizes-container {
flex-direction: column;
padding-bottom: 20px;
}
.ctf-prizes .prizes-container .prize {
margin: 0;
}
}
/*# sourceMappingURL=main.css.map */

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,3 @@
$black: #000000;
$white: #ffffff;
$grey: #777777;
@ -1636,8 +1635,6 @@ footer {
}
}
.ctf-header {
background-image: linear-gradient(0deg, rgba(208, 46, 44, 1) 20%, rgb(225, 73, 78) 100%);
flex: 1;
@ -1662,6 +1659,10 @@ footer {
td {
text-align: center;
}
@media screen and (max-width: $mobile) {
width: 95%;
padding-top: 20px;
}
}
.about-top {
color: white;
@ -1669,6 +1670,9 @@ footer {
text-align: center;
margin: 2%;
}
@media screen and (max-width: $mobile) {
width: 100%;
}
}
.container-app {
background-image: linear-gradient(0deg, rgba(208, 46, 44, 1) 20%, rgb(225, 73, 78) 100%);
@ -1786,6 +1790,26 @@ footer {
width: 60%;
height: 60%;
}
.button-default {
padding: 20px;
//font-family: "Bai Jamjuree", sans-serif;
font-size: 14px;
line-height: 14px;
color: black;
font-weight: 700;
text-transform: uppercase;
border: 1px solid #eeeeee;
padding: 30px 30px;
transition: border-color 150ms ease-out, background-color 150ms ease-out, color 150ms ease-out;
-webkit-transition: border-color 150ms ease-out, background-color 150ms ease-out, color 150ms ease-out;
&:hover {
border-color: #cc1a17;
background-color: #cc1a17;
color: #ffffff;
}
}
background-image: url("./imgs/bg_phone.png");
//border-bottom: 2px solid #cc1a17;
@ -1939,7 +1963,6 @@ footer {
padding: 5rem;
@media screen and (max-width: $mobile) {
padding: 1rem;
}
}
h1 {
@ -1962,7 +1985,6 @@ footer {
justify-content: center;
@media screen and (max-width: $mobile) {
flex-direction: column;
}
}
@ -1976,7 +1998,6 @@ footer {
display: flex;
@media screen and (max-width: $mobile) {
//padding: 20px;
}
.button-logo {
@ -2019,11 +2040,36 @@ footer {
flex: 1;
display: flex;
flex-direction: row;
padding: 50px;
justify-content: center;
@media screen and (max-width: $mobile) {
padding: 10px;
}
.explain {
margin: 30px;
@media screen and (max-width: $mobile) {
margin: 10px;
}
h3 {
//margin-left: 20px;
margin-bottom: 0;
color: white;
margin: 20px;
}
p {
color: white;
margin-left: 20px;
}
}
img {
width: 20%;
height: 20%;
margin: 20px;
align-self: center;
}
background-image: url("./imgs/bg_phone.png");
//border-bottom: 2px solid #cc1a17;
@ -2034,14 +2080,181 @@ footer {
width: 100%;
height: 100%;
}
}
h3{
color:white;
margin: 30px;
}
}
.ctf-explain {
flex: 1;
display: flex;
flex-direction: row;
background-color: #eeeeee;
padding: 40px;
h3 {
padding: 30px;
padding-bottom: 0px;
}
p {
padding: 30px;
text-align: justify;
text-justify: inter-word;
}
img {
width: 30%;
height: 30%;
}
@media screen and (max-width: $mobile) {
flex-direction: column;
img {
width: 100%;
height: 100%;
}
p {
width: 100%;
padding: 15px;
}
padding: 1px;
}
}
.ctf-levels {
.level1-ctf {
background-color: #de6d6b;
}
.level2-ctf {
background-color: #d95856;
}
.level3-ctf {
background-color: #d54341;
}
.level4-ctf {
background-color: #d02e2c;
}
.level5-ctf {
background-color: #cc1a17;
}
.level {
@media screen and (max-width: $mobile) {
padding: 30px 10px;
}
padding: 80px;
h3 {
color: white;
padding-left: 30px;
}
.sub-container {
@media screen and (max-width: $mobile) {
flex-direction: column;
}
flex: 1;
display: flex;
flex-direction: row;
.sub-level {
width: 100%;
border: 1px dashed white;
margin: 20px;
padding: 20px;
align-content: center;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
@media screen and (max-width: $mobile) {
// flex-direction: column;
padding:5;
margin:10px 0;
}
p {
color: black;
text-align: justify;
text-justify: inter-word;
}
i {
color: #eeeeee;
font-size: 18px;
}
.btn-dwn-ctf {
flex: 1;
display: flex;
flex-direction: row;
color: white;
// border: 1px dashed white;
width: 40%;
margin: 20px;
//padding: 20px;
text-align: center;
margin: 0 auto;
i {
font-size: 30px;
}
&:hover {
// background-color: black;
//color: #cc1a17;
text-decoration: none;
a:hover {
text-decoration: none;
}
}
h3 {
font-size: 20px;
margin: 10px;
align-content: center;
align-self: center;
}
}
}
}
}
}
.ctf-prizes {
padding: 50px;
h3 {
padding: 30px;
padding-bottom: 0px;
}
h5 {
padding-left: 30px;
color: #cc1a17;
}
@media screen and (max-width: $mobile) {
padding: 0;
h3{
padding: 20px;
text-align: center;
}
h5{
text-align: center;
padding: 10px;
}
}
.prizes-container {
flex: 1;
display: flex;
flex-direction: row;
padding-top: 30px;
.prize {
flex: 1;
flex-direction: column;
display: flex;
width: 100%;
//background-color: red;
margin: 20px;
align-content: center;
align-items: center;
.prize-logo {
font-size: 100px;
}
}
@media screen and (max-width: $mobile) {
flex-direction: column;
.prize{
margin: 0
}
padding-bottom: 20px;
}
}
}

BIN
website/.DS_Store vendored

Binary file not shown.

View File

@ -123,11 +123,12 @@
</p>
<p>O login na app é feito usando esse QR code</p>
<p>Para obteres a password, deves efectuar reset através da APP, ou preenchendo o campo a baixo.</p>
<form>
<input type="email" placeholder="Introduz o teu email">
<input type="button" data-bind="click: buy" value="RESET PASSWORD">
</form>
<input id="email-input" type="email" name="email" placeholder="Introduz o teu email">
<button class="button-default" onclick="resetPassword()">Reset Password</button>
</div>
</div>
</div>
@ -368,10 +369,65 @@
</div>
</footer>
<!-- Scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/scripts.js"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
resetPassword = () => {
var input = document.getElementById("email-input");
if (input != " ") {
console.log(input.value);
axios({
url: `https://tickets.enei.pt/internal/api/User/RecoverPassword?input=${input.value}&type=0`,
method: 'get',
}).then(a => {
console.log(a);
Swal.fire(
'Sucesso!',
'Foi enviado para o teu email um pedido de recuperação. Pode demorar demorar alguns minutos...',
'success'
)
}).catch(err => {
if (err.response.status === 500) {
Swal.fire(
'Utilizador não existe!',
'Verifica se o email é válido, caso o erro continue contacta a comissão organizadora',
'error'
)
}
else {
Swal.fire(
'Erro!',
'Aconteceu algum erro com o teu pedido...',
'error'
)
}
})
} else {
Swal.fire(
'Erro!',
'Deves preencher o campo de email.',
'warning'
)
}
}
</script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script>
<script src="https://cdn.jsdelivr.net/npm/promise-polyfill"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
<script>

View File

@ -35,6 +35,10 @@
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css"
integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
</head>
<body>
@ -98,33 +102,153 @@
</div>
<h3 class="about-top">Estas pontuações refletem o somatório das pontuçãoes dos níveis cumpridos.</h3>
<h3 class="about-top">Estas pontuações refletem o somatório das pontuações dos níveis cumpridos.</h3>
</div>
<div class="ctf-explain">
<p>O CTF - capture the flag é um evento onde os participantes têm como objectivo encontrar as flags escondidas. </p>
<p>O nosso CTF não é sobre </p>
<div>
<h3>O que é o capture the flag?</h3>
<p>
O Capture The Flag é um concurso que vamos realizar diretamente relacionado com o jogo do ENEI, e com os
respetivos prémios espetaculares que temos a oferecer (Nintendo Switch, entre outros).
Este jogo é uma mistura de temas altamente relacionados com Informática, temas como WEB, CRYPTO,
REVERSE_ENGINNERING, e uma mistura de tantos outros. Todos os níveis têm o mesmo objetivo: Encontrar uma
frase (string) que por norma se encontra escondida.
Qualquer um pode participar no jogo (desde que já detenha um bilhete) apenas com um simples scan a este
QR code.
No fim de encontrares a string, deves gerar um QR code com ela e pronto, o nível está completo!
Basta então fazeres um scan a esse QR e obteres todos os pontos que mereces.
</p>
</div> <img src="imgs/flag.png" alt="app">
</div>
<div class="prizes">
<div class="ctf-prizes">
<h3>O que posso ganhar ao realizar estes desafios?</h3>
<p></p>
<h5>O CTF vale cerca de 50% dos pontos do jogo do ENEI.</h5>
<div class="prizes-container">
<div class="prize">
<div class="prize-logo"><i class="fab fa-nintendo-switch"></i></div>
<h4>Nitendo Switch</h4>
</div>
<div class="prize">
<div class="prize-logo"><i class="fas fa-volume-up"></i></div>
<h4>Coluna Bluetooth Xiaomi</h4>
</div>
<div class="prize">
<div class="prize-logo"><i class="fas fa-headphones"></i></i></div>
<h4>Auscultadores AKG K518</h4>
</div>
<div class="prize">
<div class="prize-logo"><i class="fas fa-battery-full"></i></div>
<h4>Power Bank Xiaomi Mi 5000</h4>
</div>
</div>
</div>
<div class="ctf-levels">
<div class="level1-ctf level">
<h3>Web</h3>
<div class="sub-container">
<div class="sub-level">
<h4>1 - WHATSTHEPASSWORD<i>(31 pontos)</i></h4>
<p>Começa esta jornada, com um desafio fácil relacionado com WEB. Talvez desta forma fiques motivado a continuar!</p>
<a href="#"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>2 - ROT13 <i>(37 pontos)</i></h4>
<p> De forma a provares melhor o significado deste concurso, deixamos-te um desafio WEB com alguma análise.</p>
<a href="#"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
<div class="level2-ctf level">
<h3>Analyse</h3>
<div class="sub-container">
<div class="sub-level">
<h4>3 - BURRO <i>(41 pontos)</i></h4>
<p>Com este desafio pomos à prova a tua análise de ficheiros e até pode ser que te rias a completar o 3º de muita diversão.</p>
<a href="https://enei.pt/ctf/Burro.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>4 - WHOAMI <i>(43 pontos)</i></h4>
<p> Vamos lá continuar a desenvolver esse raciocínio, mas desta vez com um pouco de pacotes à mistura. É uma confusão!! </p>
<a href="https://enei.pt/ctf/WHOAMI.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
<div class="level3-ctf level">
<h3>Reverse Engeneering </h3>
<div class="sub-container">
<div class="sub-level">
<h4>5 - REVERSEENGINNERING <i>(47 pontos)</i></h4>
<p> Daqui em diante a dificuldade começa a mudar de direção, vais acompanhar? Fica aqui um desafio de reverse_enginnering, nada de muito complicado (para ti).</p>
<a href="https://enei.pt/ctf/Try_Me.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>6 -OLD <i>(59 pontos)</i></h4>
<p>Prova o cerne destes desafios, explorando, analisando e percebendo como descobrir a flag escondida, o típico desafio crypto.</p>
<a href="https://enei.pt/ctf/OLD.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
<div class="level4-ctf level">
<h3> Crypto</h3>
<div class="sub-container">
<div class="sub-level">
<h4>7 - MASM_IS_LIFE <i>(61 pontos)</i></h4>
<p> Deixamos aqui um desafio destruidor de sonhos, é verdade.. Estás pronto para um bocadinho de assembly? </p>
<a href="https://enei.pt/ctf/ASM_IS_LIFE.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>8 - OLD2 <i>(89 pontos)</i></h4>
<p>Aqui fica a continuação do desafio nº 6, se ainda não o completas-te, não faz sentido continuares este. Se já o fizes-te, então estás pronto para experimentar esta aventura que teve início em 2002 (DosBox). </p>
<a href="https://enei.pt/ctf/OLD2.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
<div class="level5-ctf level">
<h3>Engeneering</h3>
<div class="sub-container">
<div class="sub-level">
<h4>9 - ZIPZIPZIPZIP <i>(101 pontos)</i></h4>
<p>(WARNING) Não aconselhado a pessoas sensíveis, este nível irá exigir de ti algum tempo, raciocínio e conhecimento. Descobre a flag neste desafio propício a dares em louco. (SPOILER ALERT) </p>
<a href="https://enei.pt/ctf/ZIPZIPZIPZIP.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
<div class="sub-level">
<h4>10 - THE_END <i>(109 pontos)</i></h4>
<p> (WARNING) Nem preciso de comentar... Um nível como este não requer descrições. Boa Sorte! </p>
<a href="https://enei.pt/ctf/THEEND.zip"><div class="btn-dwn-ctf"> <h3>Download</h3> <i class="fas fa-file-download"></i></div></a>
</div>
</div>
</div>
</div>
<div class="explain-qr">
<img src="imgs/QRstart.png" alt="app">
<div>
<h3>No decorrer do concurso sempre que encontrares a Flag, deves criar um QR code com a mesma e efectuar a
leitura utilizando a aplicação do envento.</h3>
<h3>Para começares lê este QR code com a APP</h3>
<div class="explain">
<h3>Como registar progresso no CTF?</h3>
<p>Depois de obter a flag (string) do nível, deves gerar um QR code com a mesma.</p>
<p>Em seguida, deves usar a App para ler este QR code.</p>
<p>Caso seja válida, a flag irá dar-te acesso ao cromo que representa o nível.</p>
<p>Para testar podes usar este QR code (free points).</p>
<p>Boa sorte, a equipa do ENEI'19</p>
</div>
</div>
<!-- faqs section -->
<section id="faqs">
<div class="container">
<div class="row">
<div class="col-lg-5">
<div class="pre-h1">Perguntas Frequentes</div>
<h1>Faq</h1>
<h1>Faqs</h1>
<hr>
</div>
</div>
@ -132,52 +256,26 @@
<div class="col-lg-10">
<ul id="accordion">
<li>
<a href="#" title="O que é o ENEI?" rel="nofollow" class="toggle">O que é o ENEI?</a>
<a href="#" title="Como posso participar?" rel="nofollow" class="toggle">Como posso participar?</a>
<div class="content-accordion">
<p>O Encontro Nacional de Estudantes de Informática (ENEI) é um evento que pretende
oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca
de
ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial.
<p> Tal como o descrito acima, basta efetuares a compra do bilhete e fazeres scan do QR code da página do CTF.
</p>
<p>Esta versão do evento também incluirá os tradicionais momentos de diversão noturnos
que
muito apelam a todos os participantes das antigas edições e são uma excelente via de
networking e transferência de conhecimento!</p>
<p>Deves então prosseguir à descoberta das frases escondidas em cada desafio, e procederes à geração de um QR code com essa string.</p>
</div>
</li>
<li>
<a href="#" title="Onde me posso inscrever?" rel="nofollow" class="toggle">Onde me posso
<a href="#" title="Quando posso começar?" rel="nofollow" class="toggle">Quando posso começar?
inscrever?</a>
<div class="content-accordion">
<p>Podes adquirir o teu bilhete <a href="https://tickets.enei.pt" title="Aqui">AQUI</a>.
</p>
<p> O concurso irá iniciar no domingo (dia 7) às 14:30 horas e terminar no sábado (dia 13) às 00:00 horas.</p>
</div>
</li>
<li>
<a href="#" title="Quando é o programa vai estar disponível?" rel="nofollow"
class="toggle">Quando é o programa vai estar disponível?</a>
<a href="#" title="O que tenho eu a ganhar?" rel="nofollow"
class="toggle">O que tenho eu a ganhar?</a>
<div class="content-accordion">
<p>O programa vai sendo lançado nas próximas semanas de forma iterativa.</p>
</div>
</li>
<li>
<a href="#" title="Quem pode participar no evento?" rel="nofollow" class="toggle">Quem pode
participar no evento?</a>
<div class="content-accordion">
<p>Podem participar no ENEI19 todos os estudantes de cursos relacionados com
informática e
todos aqueles que querem aprender mais sobre os temas abordados!</p>
</div>
</li>
<li>
<a href="#" title="Tenho acesso a todas as sessões?" rel="nofollow" class="toggle">Tenho
acesso a todas as sessões?</a>
<div class="content-accordion">
<p>Não, as palestras e workshops necessitam de inscrições visto que têm lugares
limitados.</p>
<p>Brevemente poderás te inscrever na aplicação móvel do ENEI'19!</p>
<p>Com a realização do concurso não só irás evoluir as tuas competências gerais relacionadas com Informática e Raciocínio Mental, como estás sujeito a ganhar prémios fenomenais.</p>
</div>
</li>
</ul>
@ -186,36 +284,29 @@
</div>
</section>
<!-- social network section -->
<aside id="social-network">
<footer>
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2>Segue-nos</h2>
<ul>
<div class="col-lg-4 col-xs-6">
<p>© 2019 ENEI . Todos os direitos reservados</p>
</div>
<div class="col-lg-8 col-xs-6">
<ul id="social-network">
<li><a href="https://www.facebook.com/ENEIConf/" title="Facebook" target="_blank"
class="icon-facebook"></a></li>
<li><a href="https://www.instagram.com/eneiconf/" title="Instagram" target="_blank"
class="icon-instagram"></a></li>
<li><a href="https://www.linkedin.com/company/enei/" title="Linkedin" target="_blank"
class="icon-linkedin"></a></li>
<li><a href="mailto:geral@enei.pt" title="Email" target="_blank" class="icon-email"></a></li>
<li><a href="mailto:geral@enei.pt" title="Email" target="_blank" class="icon-email"></a>
</li>
</ul>
</div>
</div>
</div>
</aside>
<!-- footer -->
<footer>
<div class="container">
<div class="row">
<div class="col-lg-12">
<p>© 2019 ENEI . Todos os direitos reservados</p>
</div>
</div>
</div>
</footer>
<!-- Scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/scripts.js"></script>

BIN
website/ctf/.DS_Store vendored Normal file

Binary file not shown.

BIN
website/ctf/ASM_IS_LIFE.zip Normal file

Binary file not shown.

BIN
website/ctf/Burro.zip Normal file

Binary file not shown.

BIN
website/ctf/OLD.zip Normal file

Binary file not shown.

BIN
website/ctf/OLD2.zip Normal file

Binary file not shown.

BIN
website/ctf/THEEND.zip Normal file

Binary file not shown.

BIN
website/ctf/Try_Me.zip Normal file

Binary file not shown.

BIN
website/ctf/WHOAMI.zip Normal file

Binary file not shown.

Binary file not shown.

View File

@ -38,28 +38,9 @@
<h1 id="error-message">404</h1>
</div>
<!-- social network section -->
<aside id="social-network">
<div class="container">
<div class="col-lg-8 col-lg-offset-2">
<h2>Siga-nos</h2>
<ul>
<li><a href="https://www.facebook.com/ENEIConf/" title="Facebook" target="_blank" class="icon-facebook"></a></li>
<li><a href="https://www.instagram.com/eneiconf/" title="Instagram" target="_blank" class="icon-instagram"></a></li>
<li><a href="https://www.linkedin.com/company/enei/" title="Linkedin" target="_blank" class="icon-linkedin"></a></li>
<li><a href="mailto:geral@enei.pt" title="Email" target="_blank" class="icon-email"></a></li>
</ul>
</div>
</div>
</aside>
<!-- footer -->
<footer>
<div class="container">
<div class="col-lg-12">
<p>© 2018 ENEI . Todos os direitos reservados</p>
</div>
</div>
</footer>
<!-- Scripts -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
@ -67,12 +48,13 @@
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src=“https://www.googletagmanager.com/gtag/js?id=UA-130588243-1“></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag(js, new Date());
gtag(config, UA-130588243-1);
gtag('js', new Date());
gtag('config', 'UA-130588243-1');
</script>
</body>

BIN
website/imgs/.DS_Store vendored

Binary file not shown.

BIN
website/imgs/caching/.DS_Store vendored Normal file

Binary file not shown.

BIN
website/imgs/caching/aac/AAC.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

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