Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
name_reverser — App Rails semplice per dimostrare la vulnerabilità CVE-2013-0156 | Kitploit
Strumenti/GitHubGitHub/terracatta/name_reverser
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e Formazione
GitHubterracatta/name_reverser

name_reverser

App Rails semplice per dimostrare la vulnerabilità CVE-2013-0156

Vedi Repository
13 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

== Benvenuto in Rails

Rails è un framework per applicazioni web che include tutto il necessario per creare applicazioni web basate su database secondo il pattern Model-View-Control.

Questo pattern divide la view (chiamata anche presentazione) in template "stupidi" che sono principalmente responsabili di inserire dati precompilati tra i tag HTML. Il model contiene gli oggetti di dominio "intelligenti" (come Account, Product, Person, Post) che detengono tutta la logica di business e sanno come persistere su un database. Il controller gestisce le richieste in arrivo (come Save New Account, Update Product, Show Post) manipolando il model e indirizzando i dati alla view.

In Rails, il model è gestito da quello che viene chiamato livello di mapping object-relational denominato Active Record. Questo livello ti permette di presentare i dati delle righe del database come oggetti e di arricchire questi oggetti dati con metodi di logica di business. Puoi leggere ulteriori informazioni su Active Record in link:files/vendor/rails/activerecord/README.html.

Il controller e la view sono gestiti da Action Pack, che gestisce entrambi i livelli con le sue due parti: Action View e Action Controller. Questi due livelli sono riuniti in un unico pacchetto a causa della loro forte interdipendenza. Questo è diverso dalla relazione tra Active Record e Action Pack, che è molto più separata. Ciascuno di questi pacchetti può essere usato in modo indipendente al di fuori di Rails. Puoi leggere ulteriori informazioni su Action Pack in link:files/vendor/rails/actionpack/README.html.

== Per Iniziare

  1. Al prompt dei comandi, crea una nuova applicazione Rails: rails new myapp (dove myapp è il nome dell'applicazione)

  2. Portati nella directory myapp e avvia il server web: cd myapp; rails server (esegui con --help per le opzioni)

  3. Vai su http://localhost:3000/ e vedrai: "Benvenuto a bordo: stai usando Ruby on Rails!"

  4. Segui le linee guida per iniziare a sviluppare la tua applicazione. Puoi trovare utili le seguenti risorse:

  • La Guida per Iniziare: http://guides.rubyonrails.org/getting_started.html
  • Il libro Tutorial di Ruby on Rails: http://www.railstutorial.org/

== Debug di Rails

Qualche volta la tua applicazione va in errore. Fortunatamente ci sono molti strumenti che ti aiuteranno a fare debug e a rimetterla sui binari.

La prima area da controllare sono i file di log dell'applicazione. Tieni in esecuzione i comandi "tail -f" su server.log e development.log. Rails mostrerà automaticamente le informazioni di debug e di runtime in questi file. Le informazioni di debug verranno mostrate anche nel browser per le richieste da 127.0.0.1.

Puoi anche registrare i tuoi messaggi direttamente nel file di log dal tuo codice usando la classe logger di Ruby all'interno dei tuoi controller. Esempio:

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

Il risultato sarà un messaggio nel tuo file di log simile a:

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

Ulteriori informazioni su come usare il logger sono disponibili su http://www.ruby-doc.org/core/

Inoltre, la documentazione di Ruby si trova su http://www.ruby-lang.org/. Ci sono anche diversi libri disponibili online:

  • Programming Ruby: http://www.ruby-doc.org/docs/ProgrammingRuby/ (Pickaxe)
  • Learn to Program: http://pine.fm/LearnToProgram/ (una guida per principianti)

Questi due libri ti metteranno al passo con il linguaggio Ruby e anche con la programmazione in generale.

== Debugger

Il supporto al debugger è disponibile tramite il comando debugger quando avvii il tuo server Mongrel o WEBrick con --debugger. Questo significa che puoi interrompere l'esecuzione in qualsiasi punto del codice, esaminare e modificare il model e poi riprendere l'esecuzione! Devi installare ruby-debug per eseguire il server in modalità di debug. Con i gem, usa sudo gem install ruby-debug. Esempio:

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

Quindi il controller accetterà l'azione, eseguirà la prima riga e poi ti presenterà un prompt IRB nella finestra del server. Qui puoi fare cose come:

@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 ancora meglio, puoi esaminare come funzionano realmente i tuoi oggetti in esecuzione:

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

Infine, quando sei pronto a riprendere l'esecuzione, puoi inserire "cont".

== Console

La console è una shell Ruby che ti permette di interagire con il modello di dominio della tua applicazione. Qui troverai tutte le parti dell'applicazione configurate, proprio come quando l'applicazione è in esecuzione. Puoi ispezionare i modelli di dominio, modificarne i valori e salvare nel database. Avviare lo script senza argomenti lo lancerà nell'ambiente di sviluppo.

Per avviare la console, esegui rails console dalla directory dell'applicazione.

Opzioni:

  • Passare l'argomento -s, --sandbox eseguirà il rollback di qualsiasi modifica apportata al database.
  • Passare un nome di ambiente come argomento caricherà l'ambiente corrispondente. Esempio: rails console production.

Per ricaricare i tuoi controller e i tuoi modelli dopo aver avviato la console, esegui reload!

Ulteriori informazioni su irb sono disponibili su: link:http://www.rubycentral.org/pickaxe/irb.html

== dbconsole

Puoi accedere alla riga di comando del tuo database direttamente tramite rails dbconsole. Verrai connesso al database con le credenziali definite in database.yml. Avviare lo script senza argomenti ti collegherà al database di sviluppo. Passando un argomento ti collegherai a un database diverso, come rails dbconsole production. Attualmente funziona con MySQL, PostgreSQL e SQLite 3.

== Descrizione dei Contenuti

La struttura di directory predefinita di un'applicazione Ruby on Rails generata:

|-- 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 Contiene tutto il codice specifico di questa particolare applicazione.

app/assets Contiene le sottodirectory per immagini, fogli di stile e file JavaScript.

app/controllers Contiene i controller che dovrebbero essere nominati come weblogs_controller.rb per il mapping automatico degli URL. Tutti i controller dovrebbero discendere da ApplicationController, che a sua volta discende da ActionController::Base.

app/models Contiene i modelli che dovrebbero essere nominati come post.rb. I modelli discendono da ActiveRecord::Base per impostazione predefinita.

app/views Contiene i file template per la vista che dovrebbero essere nominati come weblogs/index.html.erb per l'azione WeblogsController#index. Tutte le viste usano la sintassi eRuby per impostazione predefinita.

Scarica lo strumento