Jump to content

Recommended Posts

Posted

Titulo do Projecto: ZwamePap

Líder do Projecto: inginheiiro

Descrição

Surgiu como um desafio proposto no site Zwame. O Objectivo seria através de código aceder ao site Zwame (VBulletin), autenticando-se e extraindo paginas como um user autenticado.

Basicamente criei uma data de metodos que permite :

a) Entrar no Zwame e no Portugal-a-Programar (SMF) como um utilizador

👍 Já autenticado, descarregar qq url de um dos sites, convertendo esse mesmo html para SGML para posterior parser.

c) Existem ainda alguns metodos adicionais (Wrappers) para o site Zwame, que permitem extrair conteudo tais como:

[*]Obter as Mensagens Privada enviadas/recebidas

[*]Obter a lista de foruns

[*]Obter a lista de subscrições

Objectivo do post:

Decidi colocar aqui a DLL (protegida) caso alguém com credebilidade queira fazer algo útil com a mesma.

Eu simplesmente a desenvolvi como desafio mental para tentar contornar o sistema de autenticação/protecção do SMF e VBulletin.

DLL:http://www.megaupload.com/?d=ETIEMC28

Requesitos: Framework 3.5

Uso Zwame:




ZwameLogin l = new ZwameLogin ("eu", "querias tu saber");
using (ZwameWebRequest wr = new ZwameWebRequest(l))
{
            /* Retorna para um DataSet todas as mensagens privadas. */
            DataSet ds = wr.LoadZwamePrivateMessages();

/* Retorna uma pagina . */
XmlDocument doc = SgmlLoadZwameUrl("http://forum.zwame.pt/")
}

Uso Portugal-a-Programar:




PapLogin p = new PaP.PapLogin("eu", "querias tu saber");
using (PapWebRequest wr = new PapWebRequest(p))
{
/* Retorna todos os posts novos do PaP . */
XmlDocument document = wr.SgmlLoadPaPUrl("http://www.portugal-a-programar.org/forum/index.php?action=unread");               
}

I used to have a life ... but i bought a programmable machine in 1982 ...

  • Replies 51
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted
Eu simplesmente a desenvolvi como desafio mental para tentar contornar o sistema de autenticação/protecção do SMF e VBulletin.

Ok, mas se calhar seria interessante ter uma coisa destas genérica para qualquer fórum, talvez suportando vários (os que fosse possível e que valesse a pena) scripts. Mas tudo bem, fizeste isto só com um objectivo que já está a cumprido, é só uma ideia.

E já agora, que "sistema de autenticação/protecção" é que estamos a falar? Estou curioso...

E a DLL está protegida em que sentido, ofuscada ou alguma cena do género? Só para saber mesmo, não faço intenções de tentar quebrar nada.

Posted

E já agora, que "sistema de autenticação/protecção" é que estamos a falar? Estou curioso...

E a DLL está protegida em que sentido, ofuscada ou alguma cena do género? Só para saber mesmo, não faço intenções de tentar quebrar nada.

basicamente é fazer o bypass da autenticação com um utilizador registado num dos foruns.

os sistemas de autenticação do SMF e Vbulletin são diferentes, mas ambos se baseiam em Cookies e hash's criptograficas.

A dll está obfuscada.

I used to have a life ... but i bought a programmable machine in 1982 ...

Posted

Podes explicar melhor o que queres dizer com o "contornar" do sistema de autenticação?

Pelo que vi no código tens um local para inserir um utilizador e uma password, por isso de que maneira é que isto contorna esses mecanismos?

<3 life

Posted

Podes explicar melhor o que queres dizer com o "contornar" do sistema de autenticação?

Pelo que vi no código tens um local para inserir um utilizador e uma password, por isso de que maneira é que isto contorna esses mecanismos?

tenta através de código (Python | C | perl |Vb | etc) extrair (HTML) dum link do pap .

tenta obter as tuas mensagens privadas p.ex.

Forneçendo um login/password, a dll cria um cookie de autenticação que permite posteriormente, já autenticado, obter qq link dos sites.

O desafio é mesmo isto.

Se pesquisares um pouco (google) verás que não existem soluções de SSO para o Vbulletin ou SMF , para interligar com outros sistemas. Esta dll pode ser usada para isso p.ex.

/ing

I used to have a life ... but i bought a programmable machine in 1982 ...

Posted

Porquê converter o html para SGML para posterior parser?!?

O HTML já é um sub conjunto do SGML, e como tal é totalmente "parsável"...

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted

Html, como sabes , é um "subconjunto" de SGML.

o objectivo principal é HTML->SGML->XML.

Este processo vai eliminar bad format tags do HTML, e garantir que um documento XML é sempre realizado.

resumindo

1)obtenho o HTML de um url

2)"Converto-o" para SGML.

3)Converto-o de SGML para XML e retorno um XMLDocument.

assim posso fazer o parse ao HTML como XML usando XLINQ p.ex.

cumps

I used to have a life ... but i bought a programmable machine in 1982 ...

Posted

Tá porreiro, sim senhor!

Bom trabalho.

thanks

Isso dava para fazer umas aplicações bem porreiras a partir daí!

Bem fixe!

pois dava.

Se alguém (com alguma credebilidade) estiver interessado num projecto para o PAP usando isto eu abro o código !

I used to have a life ... but i bought a programmable machine in 1982 ...

Posted

tenta através de código (Python | C | perl |Vb | etc) extrair (HTML) dum link do pap .

tenta obter as tuas mensagens privadas p.ex.

Não quero desvalorizar o trabalho até porque aparentemente está bem feito e bem estruturado.

Mas qual é a dificuldade ? O login nem tem Captcha :\ Por acaso nunca fiz para SMF nem para Vbulletin mas já fiz por exemplo para o email da minha Univ que até trabalha em HTTPS. Basta trabalhar o protocolo HTTP, no fundo é fazer o que o nosso browser faria caso o estivéssemos a usar.

I haven’t lost my mind; it’s backed up on DVD somewhere!

Posted

...Basta trabalhar o protocolo HTTP, no fundo é fazer o que o nosso browser faria caso o estivéssemos a usar...

sim, é, numa analise imediata ao problema é isso que necessitamos de fazer...

na prática encontram-se alguns obstaculos interessantes.  ?

I used to have a life ... but i bought a programmable machine in 1982 ...

Posted

Html, como sabes , é um "subconjunto" de SGML.

o objectivo principal é HTML->SGML->XML.

Este processo vai eliminar bad format tags do HTML, e garantir que um documento XML é sempre realizado.

resumindo

1)obtenho o HTML de um url

2)"Converto-o" para SGML.

3)Converto-o de SGML para XML e retorno um XMLDocument.

assim posso fazer o parse ao HTML como XML usando XLINQ p.ex.

cumps

Bem, o HTML é também ele um sub-conjunto do XML...

Sinceramente, não vejo o que o SGML está ai a fazer, dado que podes fazer esse passo directamente para XML.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted

Bem, o HTML é também ele um sub-conjunto do XML...

Sinceramente, não vejo o que o SGML está ai a fazer, dado que podes fazer esse passo directamente para XML.

se o HTML tiver tags mal formadas não consegues passar para XML. O Processo descrito "normaliza" bad HTML para posterior passagem para XML...

I used to have a life ... but i bought a programmable machine in 1982 ...

Posted

Eu compreendo o que o processo faz, mas se estás a normalizar HTML, podes muito bem assumir que o HTML é XML não normalizado e aplicas as correcções. No final tens XML e não passaste pelo SGML.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted

Eu compreendo o que o processo faz, mas se estás a normalizar HTML, podes muito bem assumir que o HTML é XML não normalizado e aplicas as correcções. No final tens XML e não passaste pelo SGML.

era mais trabalhoso procurar/aplicar correcções no HTML do que usar o processo/lógica implementado.

http://code.msdn.microsoft.com/SgmlReader

Como deves perceber, uma validação de um DTD feita de raíz é algo trabalhosa, embora existam soluções já orientadas para HTML Parsing http://www.majestic12.co.uk/projects/html_parser.php, embora algo (lenta) em comparação com a adoptada!

/cumps

I used to have a life ... but i bought a programmable machine in 1982 ...

Posted

pergunto aos moderadores:

Seria interessante (e dentro das regras) lançar um desafio do tipo :

Efectuar um bot automatico para o PAP, para descarregar novas mensagens recebidas.

que acham ?

cumps

I used to have a life ... but i bought a programmable machine in 1982 ...

Posted

Mensagens privadas?

Visto que isso funciona com autenticação, por mim é na boa 😉 Tu até és um utilizador conhecido da comunidade, eu confiava num programa feito por ti mesmo que me pedisse password, não iria suspeitar de ter algum "bicharoco" lá para dentro 😉

Posted

Só realças a parte má, e a parte em que digo que confio? 😉

Mas agora fora de brincadeiras, qual é o objectivo? Mostrar todas as mensagens? Mensagens privadas? Funcionar como leitor de feeds com acesso mas como tem login ter acesso às zonas ocultas a guests?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.