Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
name_reverser — Aplicação Rails Boba para demonstrar a vulnerabilidade CVE-2013-0156 | Kitploit
Ferramentas/GitHubGitHub/terracatta/name_reverser
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubterracatta/name_reverser

name_reverser

Aplicação Rails Boba para demonstrar a vulnerabilidade CVE-2013-0156

Ver Repositório
há 13 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

== Bem-vindo ao Rails

Rails é um framework de aplicações web que inclui tudo o que é necessário para criar aplicações web com suporte a banco de dados de acordo com o padrão Modelo-Visão-Controle (MVC).

Esse padrão divide a visão (também chamada de apresentação) em templates "burros" que são responsáveis principalmente por inserir dados pré-construídos entre tags HTML. O modelo contém os objetos de domínio "inteligentes" (como Conta, Produto, Pessoa, Postagem) que detêm toda a lógica de negócio e sabem como persistir-se em um banco de dados. O controlador lida com as requisições de entrada (como Salvar Nova Conta, Atualizar Produto, Mostrar Postagem) manipulando o modelo e direcionando os dados para a visão.

No Rails, o modelo é tratado por uma camada de mapeamento objeto-relacional chamada Active Record. Essa camada permite que você apresente os dados de linhas do banco de dados como objetos e enriqueça esses objetos de dados com métodos de lógica de negócio. Você pode ler mais sobre o Active Record em link:files/vendor/rails/activerecord/README.html.

O controlador e a visão são tratados pelo Action Pack, que lida com ambas as camadas através de suas duas partes: Action View e Action Controller. Essas duas camadas são agrupadas em um único pacote devido à sua forte interdependência. Isso é diferente do relacionamento entre o Active Record e o Action Pack, que é muito mais separado. Cada um desses pacotes pode ser usado independentemente fora do Rails. Você pode ler mais sobre o Action Pack em link:files/vendor/rails/actionpack/README.html.

== Começando

  1. No prompt de comando, crie uma nova aplicação Rails: rails new myapp (onde myapp é o nome da aplicação)

  2. Mude para o diretório myapp e inicie o servidor web: cd myapp; rails server (execute com --help para opções)

  3. Vá para http://localhost:3000/ e você verá: "Welcome aboard: You're riding Ruby on Rails!"

  4. Siga as diretrizes para começar a desenvolver sua aplicação. Você pode encontrar os seguintes recursos úteis:

  • O Guia de Introdução: http://guides.rubyonrails.org/getting_started.html
  • Livro Tutorial Ruby on Rails: http://www.railstutorial.org/

== Depurando o Rails

Às vezes sua aplicação dá errado. Felizmente, existem muitas ferramentas que ajudarão você a depurá-la e colocá-la de volta nos trilhos.

A primeira área a verificar são os arquivos de log da aplicação. Mantenha comandos "tail -f" em execução no server.log e no development.log. O Rails exibirá automaticamente informações de depuração e tempo de execução nesses arquivos. Informações de depuração também serão mostradas no navegador em requisições de 127.0.0.1.

Você também pode registrar suas próprias mensagens diretamente no arquivo de log a partir do seu código usando a classe logger do Ruby dentro de seus controladores. Exemplo:

class WeblogController < ActionController::Base def destroy @weblog = Weblog.find(params[:id]) @weblog.destroy logger.info("#{Time.now} Destroyed Weblog ID ##{@weblog.id}!") end end

O resultado será uma mensagem em seu arquivo de log como:

Mon Oct 08 14:22:29 +1000 2007 Destroyed Weblog ID #1!

Mais informações sobre como usar o logger estão em http://www.ruby-doc.org/core/

Além disso, a documentação do Ruby pode ser encontrada em http://www.ruby-lang.org/. Existem vários livros disponíveis online também:

  • Programming Ruby: http://www.ruby-doc.org/docs/ProgrammingRuby/ (Pickaxe)
  • Learn to Program: http://pine.fm/LearnToProgram/ (um guia para iniciantes)

Esses dois livros o deixarão atualizado sobre a linguagem Ruby e também sobre programação em geral.

== Depurador

O suporte ao depurador está disponível através do comando debugger quando você inicia seu servidor Mongrel ou WEBrick com --debugger. Isso significa que você pode interromper a execução em qualquer ponto do código, investigar e alterar o modelo, e então, retomar a execução! Você precisa instalar o ruby-debug para executar o servidor em modo de depuração. Com gems, use sudo gem install ruby-debug. Exemplo:

class WeblogController < ActionController::Base def index @posts = Post.all debugger end end

Então o controlador aceitará a ação, executará a primeira linha e então apresentará a você um prompt IRB na janela do servidor. Aqui você pode fazer coisas como:

@posts.inspect => "[#<Post:0x14a6be8 @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}>, #<Post:0x14a6620 @attributes={"title"=>"Rails", "body"=>"Only ten..", "id"=>"2"}>]" @posts.first.title = "hello from a debugger" => "hello from a debugger"

...e ainda melhor, você pode examinar como seus objetos em tempo de execução realmente funcionam:

f = @posts.first => #<Post:0x13630c4 @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}> f. Display all 152 possibilities? (y or n)

Finalmente, quando estiver pronto para retomar a execução, você pode digitar "cont".

== Console

O console é um shell Ruby, que permite que você interaja com o modelo de domínio da sua aplicação. Aqui você terá todas as partes da aplicação configuradas, exatamente como quando a aplicação está em execução. Você pode inspecionar modelos de domínio, alterar valores e salvar no banco de dados. Iniciar o script sem argumentos o lançará no ambiente de desenvolvimento.

Para iniciar o console, execute rails console a partir do diretório da aplicação.

Opções:

  • Passar o argumento -s, --sandbox reverterá qualquer modificação feita no banco de dados.
  • Passar um nome de ambiente como argumento carregará o ambiente correspondente. Exemplo: rails console production.

Para recarregar seus controladores e modelos após iniciar o console, execute reload!

Mais informações sobre o irb podem ser encontradas em: link:http://www.rubycentral.org/pickaxe/irb.html

== dbconsole

Você pode ir para a linha de comando do seu banco de dados diretamente através de rails dbconsole. Você estará conectado ao banco de dados com as credenciais definidas em database.yml. Iniciar o script sem argumentos o conectará ao banco de dados de desenvolvimento. Passar um argumento o conectará a um banco de dados diferente, como rails dbconsole production. Atualmente funciona para MySQL, PostgreSQL e SQLite 3.

== Descrição dos Conteúdos

A estrutura de diretórios padrão de uma aplicação Ruby on Rails gerada:

|-- app | |-- assets | |-- images | |-- javascripts | -- stylesheets | |-- controllers | |-- helpers | |-- mailers | |-- models | -- views | -- layouts |-- config | |-- environments | |-- initializers | -- locales |-- db |-- doc |-- lib | -- tasks |-- log |-- public |-- script |-- test | |-- fixtures | |-- functional | |-- integration | |-- performance | -- unit |-- tmp | |-- cache | |-- pids | |-- sessions | -- sockets -- vendor |-- assets -- stylesheets -- plugins

app Contém todo o código específico para esta aplicação em particular.

app/assets Contém subdiretórios para imagens, folhas de estilo e arquivos JavaScript.

app/controllers Contém controladores que devem ser nomeados como weblogs_controller.rb para mapeamento automático de URL. Todos os controladores devem descender de ApplicationController, que por sua vez descende de ActionController::Base.

app/models Contém modelos que devem ser nomeados como post.rb. Os modelos descendem de ActiveRecord::Base por padrão.

app/views Contém os arquivos de template para a visão que devem ser nomeados como weblogs/index.html.erb para a ação WeblogsController#index. Todas as visões usam sintaxe eRuby por padrão.

app/views/layouts Contém os arquivos de template para layouts a serem usados com as visões. Isso modela o método comum de cabeçalho/rodapé para envolver as visões. Em suas visões, defina um layout usando layout :default e crie um arquivo chamado default.html.erb. Dentro de default.html.erb, chame <% yield %> para renderizar a visão usando este layout.

app/helpers Contém helpers de visão que devem ser nomeados como weblogs_helper.rb. Estes são gerados automaticamente para você ao usar geradores para controladores. Helpers podem ser usados para encapsular funcionalidades para suas visões em métodos.

config Arquivos de configuração para o ambiente Rails, o mapa de roteamento, o banco de dados, e outras dependências.

db Contém o esquema do banco de dados em schema.rb. db/migrate contém toda a sequência de Migrations para seu esquema.

doc Este diretório é onde a documentação da sua aplicação será armazenada quando gerada usando rake doc:app

lib Bibliotecas específicas da aplicação. Basicamente, qualquer tipo de código personalizado que não pertence a controladores, modelos ou helpers. Este diretório está no caminho de carga (load path).

public O diretório disponível para o servidor web. Também contém os despachantes (dispatchers) e os arquivos HTML padrão. Isto deve ser definido como DOCUMENT_ROOT do seu servidor web.

script Scripts auxiliares para automação e geração.

test Testes unitários e funcionais juntamente com fixtures. Ao usar o comando rails generate, arquivos de teste de modelo serão gerados para você e colocados neste diretório.

vendor Bibliotecas externas das quais a aplicação depende. Também inclui o subdiretório plugins. Se a aplicação tiver rails congelados (frozen), essas gems também vão aqui, sob vendor/rails/. Este diretório está no caminho de carga (load path).

Baixar ferramenta