inginheiiro Posted May 28, 2009 at 10:42 AM Report #267954 Posted May 28, 2009 at 10:42 AM 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 ...
Guest id194 Posted May 28, 2009 at 05:25 PM Report #268049 Posted May 28, 2009 at 05:25 PM 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.
inginheiiro Posted May 28, 2009 at 06:56 PM Author Report #268078 Posted May 28, 2009 at 06:56 PM 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 ...
Triton Posted May 29, 2009 at 07:57 AM Report #268197 Posted May 29, 2009 at 07:57 AM 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
inginheiiro Posted May 29, 2009 at 08:07 AM Author Report #268198 Posted May 29, 2009 at 08:07 AM 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 ...
M6 Posted May 29, 2009 at 08:37 AM Report #268203 Posted May 29, 2009 at 08:37 AM 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."
inginheiiro Posted May 29, 2009 at 08:55 AM Author Report #268210 Posted May 29, 2009 at 08:55 AM 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 ...
jpaulino Posted May 29, 2009 at 09:44 AM Report #268222 Posted May 29, 2009 at 09:44 AM Tá porreiro, sim senhor! Bom trabalho.
HecKel Posted May 29, 2009 at 09:47 AM Report #268225 Posted May 29, 2009 at 09:47 AM Isso dava para fazer umas aplicações bem porreiras a partir daí! Bem fixe! Look Left Blog
inginheiiro Posted May 29, 2009 at 10:20 AM Author Report #268236 Posted May 29, 2009 at 10:20 AM 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 ...
magician Posted May 29, 2009 at 10:38 AM Report #268241 Posted May 29, 2009 at 10:38 AM 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!
inginheiiro Posted May 29, 2009 at 11:04 AM Author Report #268255 Posted May 29, 2009 at 11:04 AM ...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 ...
M6 Posted May 29, 2009 at 11:05 AM Report #268257 Posted May 29, 2009 at 11:05 AM 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."
inginheiiro Posted May 29, 2009 at 11:09 AM Author Report #268265 Posted May 29, 2009 at 11:09 AM 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 ...
M6 Posted May 29, 2009 at 11:11 AM Report #268266 Posted May 29, 2009 at 11:11 AM 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."
inginheiiro Posted May 29, 2009 at 11:18 AM Author Report #268268 Posted May 29, 2009 at 11:18 AM 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 ...
inginheiiro Posted June 1, 2009 at 01:41 PM Author Report #268945 Posted June 1, 2009 at 01:41 PM 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 ...
HecKel Posted June 1, 2009 at 01:45 PM Report #268947 Posted June 1, 2009 at 01:45 PM 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 😉 Look Left Blog
inginheiiro Posted June 1, 2009 at 01:57 PM Author Report #268950 Posted June 1, 2009 at 01:57 PM Visto que isso funciona com autenticação, por mim é na boa 😉 ...de ter algum "bicharoco" lá para dentro 😉 lol I used to have a life ... but i bought a programmable machine in 1982 ...
HecKel Posted June 1, 2009 at 03:56 PM Report #269002 Posted June 1, 2009 at 03:56 PM 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? Look Left Blog
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now