-
Progresso em PenTesting Reporting Tool
-
Esta fase marca o inicio do projeto com o intuito de me adaptar a Laravel e desenvolver a gestão de utilizadores e acessos à aplicação
-
Recomendado iniciar com curso de introdução a Laravel no LaraCast.
-
Neste primeiro dia em escritório tive a oportunidade de acompanhar a equipa de cibersegurança num dia normal de trabalho.
Recebi portátil da empresa onde formatei e instalei:
VSC, MySQL, TablePlus, Composer, PHP 8 e Laravel.
Abrir também um repositório no Git e iniciei um projecto Laravel. -
Continuação de curso LaraCast
Criação de Base de Dados
Pequenos testes -
Inicio do desenvolvimento de sistema de autenticação
Diversos problemas de backend -
Avanços de UI/UX na autenticação
Correção de erros de backend
Encriptação automática de passwords com bcrypt Obs: Bcrypt é basead na cifra Blowfish e usa Salt -
Continuação de LaraCasts.
Reformatação de base de dados
Criação de: Migrations, Seeding e Factory
Inicio da ligação backend para registo de novos utilizadores -
Aplicação de form validation aos forms desenvolvidos (login & registo)
Desenvolvimento de mutators e acessores
Desenvolvimento de funcionalidades para aumentar UX como session saver e timeout flash
Frontent de botão de Logout -
Estudo e aplicação de middleware para controlar acessos
Sistemas de registo, login, e funcionalidade de logout funcionais
Ajuste de UI -
Modelação de base de dados, migrations e seeders com o intuito de prever 3 tipos de utilizadores: PenTesters, Managers e Admins.
Ajuste de UI -
Desenvolvimento de Dashboard e Menu em conformidade com fase B1
Alteração a middleware para direcionar utilizadores não autenticados para menu de login
Menu dinamico em conformidade com grau de previlégio de utilizador -
Adicionados novos campos na base de dados para monitorizar utilizador.
Role: Qual a sua função ?
Ativo: Utilizador está bloqueado por admin?
Password_reset: Flag para obrigar a alterar password
Inicio de user table -
Melhoramento da tabela de utilizadores
Adição de botão DELETE
Middleware para gerir acessos exclusivos a admin
Middleware para gerir acessos exclusivos a managers
Redirecionar para 403 caso seja utilizador basico a tentar acessar áreas de admin/manager
Inicio de Push notifications -
Desenvolvimento de sistema de password reset através de tokens enviados para e-mail de utilizador (mailtrap.io).
Alterações estruturais a pedido de Eng. Rui Carreira. -
Finalização de password reset após algumas dificuldades devido a funções nativas de Laravel que formatavam dados de forma incorrecta.
Ajustes de UI
Inicio de componente "modal button" para adicionar utilizadores -
Alterações backend e frontend para garantir que admin consegue adicionar novos utilizadores
Nova flashmessage para caso de erro
Nova validações frontend e backend -
Desenvolvida capacidade de bloquear utilizador
Possibilidade de admin editar perfil de utilizador
Corrigidas vulnerabilidades de segurança (informação que email estava ou não registado na app)
UI para sinalizar utilizadores bloqueados -
Inicio de perfil de utilizador
Breadcrumbs
Paginação em nas listas
Update de UI -
Com os progressos da fase 1 várias features foram aplicadas aqui, com o aumenta da complexidade e restrições algumas features desta fase foram implementadas na anterior.
-
Trabalho de FE e BE para upload de foto de utilizador
Script de para preview de foto antes de registar -
Adicionadas algumas restrições de backend como:
- Delete / block de admin apenas é possível se existir um ou mais admins sem imposições.
- Force password reset não permite utilizador progredir sem alterar para uma password diferente da anterior -
Feature para prevenir admin editar outro sem haver pelo menos 2 admins ativos
Feature de primeiro login utilizador ser obrigado a alterar palavra-chave
Possibilidade de escalar permissões na criação de utilizador -
Desenvolvimento de base de dados em UML para melhor entendimento e desenvolvimento de produto final.
-
Sortable table para organizar por ordem alfabética
Action buttons para admin e managers
Linkable Breadcrumbs
Modal para adicionar clientes -
Verificação e alteração da base de dados para restringir inputs como max chars, chars em campos de contato telefónico, etc...
-
Criada infraestrutura para uma tabela de contatos pertencentes a um cliente.
Inicio de desenvolvimento de tabela AJAX para adicionar, editar e remover contatos de forma assincrona. -
Continuo melhoramento da tabela contacts
Desenvolvimento de add contact -
Quando falha validação, modal volta a abrir.
Melhoramento de UI
Melhorada tabela de clientes
Mensagens de notificação na alteração, adição e remoção de contacto -
Implementação de 4 dropdown menus:
Contatos
Alterar perfil
Status
Assessements -
Script a prever todo o tipo de validação de dados necessária para a tabela de contatos.
** Verificar se é email válido
Verificar se é numero válido
Verifica se não contem caracteres inválidos em todos os campos
Verificar se não existem keywords no input, evitando assim OR loads entre outros riscos** -
Início de relatório
Início de documentação
Tentativa de hosting em:
- FreeInfinity ❌
- 00webhosting ❌
- Fly.io ❌
- Railway ❌
- Google Cloud App Engine