6 nov, 2009
hacking proteggere
In questi giorni è stata resa nota la scoperta di una grave vulnerabilità nei protocolli ssl e tls!
A quando si dice sembrerebbe che la vulnerabilità permetta all’ attaccante un attacco man in the middle e inserire nel flusso delle informazioni cifrate dei comandi a sua scelta: ciò potrebbero renderlo in grado di alterare i dati trasmessi, iniettarvi del codice maligno e, ancor peggio, ottenere il certificato digitale del client, assumendone così l’identità.
maggiori informazioni sono disponibili qui.
1 nov, 2009
Windows
Ogni tanto utilizzo Windows per motivi vari, ma ogni volta mi tira fuori un problema nuovo.. Quello che mi disturbava ultimamente era eseguire lo scandisk ogni volta che avviavo il sistema operativo.. La soluzione è stata modificare una chiave nel registro di sistema così da bloccare definitivamente il controllo all’ avvio..
- Avviare REGEDIT
- andare in: HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\CONTROL\SESSION MANAGER
- fare doppio click BOOTEXECUTE
- inseriamo questa riga: AUTOCHECK AUTOCHK /K:c*
ovviamente se il vostro disco non è C sostituite la C con la lettera del vostro disco.
1 nov, 2009
debian hacking Linux ubuntu
Di default solitamente quando si installa una versione server di linux non viene installato l’ ACPI, se abbiamo la necessità di spegnere il nostro server dal pulsante di accensione/spegnimento dobbiamo installare ACPI.
Su sistemi Debian based come Ubuntu il comando è:
sudo apt-get install acpid
Ovviamente installare ACPID non basta, bisogna assicurarsi che ACPI sia abilitato nel bios.
Ora assicuriamoci che nel file /etc/acpi/powerbtn.sh ci sia da qualche parte la riga:
/sbin/shutdown -h now “Power button pressed”
se così non fosse dobbiamo aggiungerla e salvare..
Operazione completata
25 ott, 2009
craccare hacking
Sul blog di Geekissimo ho trovato questa interessante guida al cracking del recovery manager HP.
Non so il perchè devono limitare il software ad effettuare una sola copia comunque io mi sono trovato il problema di aver masterizzato su un disco difettoso che in lettura non andava più, ma fortunatamente esiste sempre una soluzione 
HP Recovery Manager, l’utility per la creazione dei dischi di ripristino integrata nei computer di Hewlett Packard ha una grave limitazione: i dischi di ripristino possono essere creati una sola volta.
In pochi semplici passi si potrà ovviare a questo problema..
Occorrente? WinRAR, 7Zip:
1. Accedere all’Esplora Risorse di Windows;
2. Recarsi nel menu Organizza > Opzioni cartella e ricerca (Strumenti > Opzioni Cartella, se si usa XP);
3. Selezionare la scheda visualizzazione;
4. Mettere il segno di spunta accanto alla voce Visualizza cartelle e file nascosti;
5. Togliere il segno di spunta dalla voce Nascondi i file protetti di sistema e cliccare su OK per salvare i cambiamenti;
6. Avviare WinRAR;
7. Accedere con WinRAR alla partizione di ripristino (es: FACTORY IMAGE D:);
8. Fare click destro sul file HPCD.sys e rinominarlo in HPCD.bak;
9. Recarsi nella cartella C:\Windows\SMINST, fare click destro sul file HPCD.sys e rinominarlo in HPCD.bak.
Adesso provate ad avviare nuovamente l’utility per la creazione dei dischi di ripristino e dovreste avere una bella sorpresa.
L’operazione è ripetibile ogni volta che si desidera, ma non credo serva più di una volta..
24 ott, 2009
DS
Due ragazzi hanno avviato un progetto, creare una cartuccia modificata del nintendo DS con un modulo bluetooth ed un accelerometro a tre assi con un set completo di API per gesterle e quindi sviluppare del software che sfrutti queste caratteristiche. Il sito del progetto so li può trovare all’ indirizzo dsbrut.sukzessiv.net Happy Hacking a tutti!
19 ott, 2009
Linux
Il 21,22,23 Ottobre 2009 la Smartlab sarà in fiera allo SMAU2009 per presentare il suo nuovo prodotto hardware/software ideato per ottimizzare i processi di comunicazione tramite messaggi SMS,MMS,FAX,VOCE,POSTA IBRIDA.
SmartCast è composto da un router multicanale, amministrabile tramite strumenti web, corredato da librerie per lo sviluppo di soluzioni software personalizzate. Le librerie di sviluppo, rilasciate in versione sorgente, garantiscono l’ accesso ai servizi di trasmissione dalle piattaforme più diffuse: .Net, Java, PHP, Flex.
Il sistema si compone di una parte hardware e di una software, la parte hardware è un server con una distribuzione linux (Ubuntu server LTS) su cui gira la piattaforma SmartCast che è scritta in JavaEE.
Per maggiori informazioni visitare il sito www.smartlab.it/cast
17 ott, 2009
AT
Per lavoro ho avuto sotto mano dei fantastici moduli Wavecom Q24 Plus, dei moduli GSM/GPRS quadband che hanno solo un piccolo problemino (se così si può dire), perchè di default sono impostati a lavorare sulle frequenze 850/1900 MHz che sono le frequanze Americane a qui da noi il modulo sembra morto, nel senzo che non prende linea e quindi la prima operazione da fare per poterlo utilizzare è cambiare le frequenze di funzionamento sulle frequenze 900/1800 MHz.
Per fare questo bisogna inviargli il comando: AT+WMBS=5,1 -> il modulo risponderà con un bel OK e da ora in poi sarà pronto ad eseguire qualsiasi compito noi vogliamo programmargli!!
17 ott, 2009
cups Linux
Ieri per un amico mi sono ritrovato a dover scrivere uno script bash che messi dei file PDF,DOC,TXT si occupa in automatico di inviarli alla stampante predefinita in CUPS.
Sostamzialmente lo script una volta avviato non fa altro che provare ad intervalli di 10 secondi il comando ls, passarlo al grep così da filtrare i tipi di file e stamparli.
#!/bin/bash
INTERVAL=10
INTERVALTOREMOVE=2
echo
echo "Automated Printing Started."
echo
while [ 0 ]
do
for elemento in $(ls $1 | grep ".*.pdf$\|.*.doc$\|.*.txt$")
do
lp $1$elemento
sleep $INTERVALTOREMOVE
rm $1$elemento
done
sleep $INTERVAL
done
exit 0
Per utilizzare lo script basta semplicemente avviarlo e come parametro passargli la cartella da monitorare, es. /home/Predator/
25 set, 2009
java programmare
Vi presento un piccolo esempio di come si può scrivere facilmente un parser LL1 in java con il tool JavaCC.
Il seguente codice è solo a scopo didattico, ovviamente non riconosce tutti i costrutti del linguaggio html ma rende l’ idea della semplicità di realizzazione di un parser.
options { IGNORE_CASE = true; }
PARSER_BEGIN(parserHTML)
public class parserHTML {
public static void main(String[] args)
throws ParseException, TokenMgrError, java.io.FileNotFoundException{
parserHTML parser = new parserHTML(new java.io.FileInputStream("input.txt"));
parser.Start();
}
}
PARSER_END(parserHTML)
SKIP: {" "}
SKIP: {"\n" | "\r" | "\r\n" |"\t"}
SKIP: {"<!--": INCOMMENTO}
<INCOMMENTO>
SKIP:{"-->":DEFAULT | <~[]>}
TOKEN: {
<PAGINAAPERTA: "<html>">
| <PAGINACHIUSA: "</html>">
| <TESTAAPERTA: "<head>">
| <TESTACHIUSA: "</head>">
| <TITOLOAPERTO: "<title>">
| <TITOLOCHIUSO: "</title>">
| <CORPOAPERTO: "<body>">
| <CORPOCHIUSO: "</body>">
| <FORMATTAZIONEAPERTA: "<b>">
| <FORMATTAZIONECHIUSA: "</b>">
| <PARAGRAFOAPERTO: "<p>">
| <PARAGRAFOCHIUSO: "</p>">
| <METAAPERTO: "<meta>">
| <CHIAVEMETA: "http-equiv">
| <METACHIUSO: "</meta>">
| <STILEAPERTO: "<style">
| <CHIAVESTILE: "text/css">
| <STILECHIUSO: "</style>">
| <COLLEGAMENTOAPERTO: "<a">
| <COLLEGAMENTOCHIUSO: "</a>">
| <INPUTAPERTO: "<input">
| <CHIAVE: "type" | "id" | "name">
| <CHIAVEINPUT: "checkbox" | "radio" | "submit">
| <CHIAVECOLLEGAMENTO: "href" | "title">
| <ACUTACHIUSA: ">">
| <NUOVALINEA: "<br>">
| <FORMAPERTO: "<form>">
| <FORMCHIUSO: "</form>">
| <UGUALE: "=">
| <VIRGOLETTE: "\"">
| <HAPERTA: "<h1>">
| <HCHIUSA: "</h1>">
| <TABELLAAPERTA: "<table>">
| <TABELLACHIUSA: "</table>">
| <RIGAAPERTA: "<tr>">
| <RIGACHIUSA: "</tr>">
| <CELLAAPERTA: "<td>">
| <CELLACHIUSA: "</td>">
| <CARATTERE: ["$","A"-"Z","_",",",".","a"-"z","0"-"9"]>
}
void Start():
{}
{
<PAGINAAPERTA>
testa()
corpo()
<PAGINACHIUSA>
|
{System.out.println("FILE VUOTO");}
}
void testa():
{}
{
(
<TESTAAPERTA>
corpotesta()
<TESTACHIUSA>
)
|
{System.out.println("testa epsilon");}
}
void corpotesta():
{}
{
(
<TITOLOAPERTO>
stringa()
<TITOLOCHIUSO>
corpotesta()
)
|
(
<METAAPERTO>
<CHIAVEMETA>
<UGUALE>
<VIRGOLETTE>
stringa()
<VIRGOLETTE>
<METACHIUSO>
corpotesta()
)
|
(
<STILEAPERTO>
<CHIAVE>
<UGUALE>
<VIRGOLETTE>
<CHIAVESTILE>
<VIRGOLETTE>
<ACUTACHIUSA>
stringa()
<STILECHIUSO>
corpotesta()
)
|
{System.out.println("corpotesta epsilon");}
}
void stringa():
{}
{
(
(<CARATTERE>)*
(<NUOVALINEA>)*
)
|
{System.out.println("stringa epsilon");}
}
void corpo():
{}
{
<CORPOAPERTO>
contenuto()
<CORPOCHIUSO>
(<NUOVALINEA>)*
|
{System.out.println("corpo epsilon");}
}
void contenuto():
{}
{
(
<HAPERTA>
stringa()
<HCHIUSA>
contenuto()
)
|
(
<PARAGRAFOAPERTO>
contenuto()
<PARAGRAFOCHIUSO>
contenuto()
)
|
(
<COLLEGAMENTOAPERTO>
(
<CHIAVECOLLEGAMENTO>
<UGUALE>
<VIRGOLETTE>
stringa()
<VIRGOLETTE>
)*
<ACUTACHIUSA>
stringa()
<COLLEGAMENTOCHIUSO>
contenuto()
)
|
(
<NUOVALINEA>
contenuto()
)
|
(
<FORMAPERTO>
contenuto()
<FORMCHIUSO>
contenuto()
)
|
(
<INPUTAPERTO>
(
<CHIAVE>
<UGUALE>
<VIRGOLETTE>
<CHIAVEINPUT>
<VIRGOLETTE>
)+
<ACUTACHIUSA>
contenuto()
)
|
(
<CARATTERE>
stringa()
contenuto()
)
|
(
<FORMATTAZIONEAPERTA>
stringa()
<FORMATTAZIONECHIUSA>
contenuto()
)
|
(
<TABELLAAPERTA>
(
<RIGAAPERTA>
(
<CELLAAPERTA>
stringa()
<CELLACHIUSA>
)*
<RIGACHIUSA>
)*
<TABELLACHIUSA>
contenuto()
)
|
{System.out.println("contenuto epsilon");}
}