Coder Social home page Coder Social logo

githiago-f / hackme-store Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 1.0 185 KB

Try and hack this intentionally vulnerable nodejs e-commerce application! Possible tests are listed on wiki.

License: MIT License

Dockerfile 0.91% JavaScript 65.78% CSS 4.77% Pug 25.11% Shell 3.43%
e-commerce express expressjs nodejs

hackme-store's Introduction

NodeJS Java TypeScript Kafka Docker Spring ReactJS AWS

| Hello! I'm Thiago

@@I'm a Full-stack developer@@
+ Expert in NodeJS
! Studying software architecture and web services with Spring
- Level 23
+ Experienced in Functional Programming & OOP
+ Clean-coder

Efficient, scalable, and maintainable applications developer.

hackme-store's People

Contributors

githiago-f avatar

Watchers

 avatar

Forkers

hackmogador

hackme-store's Issues

HTTPS Demo com node:https

Utilizar node:https como servidor https para o projeto.

Deve-se gerar um par de chaves ssl:

$ openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem

Esse comando irá gerar duas chaves que iremos usar para a criptografia.

Podemos atualizar o arquivo app.js para ser parecido com isso (apenas um exemplo):

import { createServer } from 'node:https';
import { readFileSync } from 'node:fs';
const app = express();

const options = {
  key: readFileSync('caminho/para/key.pem'),
  cert: readFileSync('caminho/para/cert.cert')
};

const httpsServer = createServer(options, app);

httpsServer.listen(443, () => {
    let { address, family, port } = httpsServer.address();
    if(family === 'IPv6' && address === '::') {
        address = 'localhost';
    }
    app.set('address', address);
    rootLogger.info(`Listening on http://${address}:${port}`);
});

Referencias

Politica de segurança

desenvolver e implementar utilizando um padrão de politica de privacidade e segurança - ampliar segurança do sistema em conjunto.

Estrutura da politica de segurança e privacidade

Politica de segurança e privacidade

Resumir a necessidade de tal politica, elaborando os pontos de "Confidencialidade", "autenticidade", "disponibilidade" e "integridade". Devemos destacar como prertendemos adaptar nosso sistema a estes conceitos e por se tratar de um contexto de vendas e compras online, teremos que garantir também a "Irretratabilidade ou não repúdio", isto é, garantir a impossibilidade de negar a autoria em relação a uma transação anteriormente feita, seja compra ou anuncio de produtos.

Autenticidade

Explicar como deve ser realizada a identificação de pessoa natural portadora de dados e como ela deve se portar ao:

  • Adicionar produtos
  • Acessar pedidos
  • Atualizar dados de pedidos
  • Realizar pedidos

Confidencialidade

Explicar a necessidade de se manter a confidencialidade de informações pertencentes à pessoa natural portadora de dados.
Isto é, garantir que apenas o portador de um cartão por exemplo, poderá acessar esta informação.

Deve listar formas de manter as informações sensíveis confidenciais, e garantir que todas as comunicações cliente-servidor serão confidenciais.

Disponibilidade

Descrever a relevancia do serviço permanecer no ar, destacando relevantes e possíveis causas de queda e como mitigá-las.
Será importante descrever os processos e post-mortem? Se sim, como deve ser armazenado o documento de incidente e resolução?

Integridade

Descrever como os processos internos da aplicação devem permitir auditoria sobre cada operação desempenhada e garantir o estado original (estabelecido pelo proprietário dos dados) assim como um histórico de alterações sobre cada atualização.

Ex.: Caso um pedido seja alterado, deve-se manter um log confiável de cada alteração e quem o alterou (incluindo alterações feitas pelo sistema).

Orientações de segurança para o usuário final (formato de lista)

[TODO]

Quebra de senhas com hydra

Quebre senhas simples com Hydra. Isso pode servir como uma forma de demonstrar porque devemos usar senhas fortes e melhorar nossa politica de segurança na plataforma.

Todo list:

[ ] Explicar como funciona o Hydra
[ ] Melhorar o arquivo de politica de segurança para que os devs saibam como resolver isso

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.