Autor
|
Tema: [Resuelto] Tengo un problema descargando un .txt de un fuente. (Leído 5,046 veces)
|
@XSStringManolo
Hacker/Programador
Colaborador
Desconectado
Mensajes: 2.399
Turn off the red ligth
|
http://stringmanolo.byethost12.com/an.phpTengo un problemón. Lo que intento hacer: Tengo en la variable $SC el SourceCode de google.es Estoy mostrando el source en la web e intento implementar un link para que el usuario se lo descarge. Se me ocurrio meterlo en un archivo externo hacer un echo y descargar el archivo como .txt El archivo se descarga correctamente. Lo que sucede: Al abrir el archivo dentro me encuento el código fuente del aes.js En el hosting que utilizo, muy de vez en cuando aparece este código fuente de aes.js y otras veces el mío. /* * aes.js: implements AES - Advanced Encryption Standard * from the SlowAES project, http://code.google.com/p/slowaes/ * * Copyright (c) 2008 Josh Davis ( http://www.josh-davis.org ), * Mark Percival ( http://mpercival.com ), * * Ported from C code written by Laurent Haan ( http://www.progressive-coding.com ) * * Licensed under the Apache License, Version 2.0 * http://www.apache.org/licenses/ */ var slowAES = { /* * START AES SECTION */ aes:{ // structure of valid key sizes keySize:{ SIZE_128:16, SIZE_192:24, SIZE_256:32 }, // Rijndael S-box sbox:[ 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x8...
<?php header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"source-code.txt\""); echo $SC; ?>
<?php echo "$SC" ; ?> </p> </div> <a href="php/download.php">Download Source Code!</a> <p> <h4>Links</h4> <?php
Mod: Obligatorio el uso de etiquetas GeSHi.
|
|
« Última modificación: 24 Septiembre 2019, 12:09 pm por #!drvy »
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖
|
|
|
EdePC
|
Saludos, - Revisando mi apartado Network de mi Chrome Developer Tools, veo que algunas veces se cambia tu página an.php por otra que pone una cookie y redirige de nuevo a tu página an.php: <html> <body> <script type="text/javascript" src="/aes.js"></script> <script> function toNumbers(d) { var e = []; d.replace(/(..)/g, function(d) { e.push(parseInt(d, 16)) }); return e } function toHex() { for (var d = [], d = 1 == arguments.length && arguments[0].constructor == Array ? arguments[0] : arguments, e = "", f = 0; f < d.length; f++) e += (16 > d[f] ? "0" : "") + d[f].toString(16); return e.toLowerCase() } var a = toNumbers("f655ba9d09a102d4968c63579db590b4") , b = toNumbers("98344c2eee86c4994890592585b49f80") , c = toNumbers("b7c84c9bff7ec4d94f982be3132cba49"); document.cookie = "__test=" + toHex(slowAES.decrypt(c, 2, a, b)) + "; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; location.href = "http://stringmanolo.byethost12.com/an.php?i=3"; </script> <noscript>This site requires javascript to work, please enable javascript in your browser or use a browser with javascript support</noscript> </body> </html>
- Luego, este mismo se inserta como contenido de prism.js, no se si lo insertas tu manualmente o como se hará... pero al final me da error la mayoría de las veces y no se formatea el código fuente de google.es - Supongo que ese redireccionamiento lo pone tu Hosting
|
|
|
En línea
|
|
|
|
@XSStringManolo
Hacker/Programador
Colaborador
Desconectado
Mensajes: 2.399
Turn off the red ligth
|
Exacto, lo pone el hosting.
Tiene el src="/aes.js" y me lo imprime. Alguna idea de como podría hacer esa descarga?
Se encuentra el "/aes.js" en el prism.js? El prism.js si que lo metí yo para hacer highlighting del código fuente, el prism.js son unos 20k de tamaño. El aes.js son 33k. El prism.js tiene un módulo por ahí para hacer la descarga, copiar código al portapapeles pero no me está resultando muy realiable. Ando un browser patata para asegurarme que programo cosas compatibles con casi todo lo usual.
No tengo ni idea de que otra forma podría hacer la descarga. Ya probé de varias y todas pecan de lo mismo. Si sabeis de alguna dpm, si no estrenaré la api de pastebin que la tengo pendiente, a ver si "mágicamente" no envio el aes.js en lugar del contenido de la variable.
|
|
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖
|
|
|
MinusFour
|
Tu mismo lo has dicho que es tu hosting, no tiene nada que ver prism.js. Es una medida de seguridad de byethost.
|
|
|
En línea
|
|
|
|
@XSStringManolo
Hacker/Programador
Colaborador
Desconectado
Mensajes: 2.399
Turn off the red ligth
|
Tu mismo lo has dicho que es tu hosting, no tiene nada que ver prism.js. Es una medida de seguridad de byethost.
Se os ocurre como saltársela? Algún workaround? Llevo unas cuantas horas intentándolo de varias maneras y no lo consigo de ninguna. En la Api de pastebin parace que ponen límite de lo que puedes subir con cuenta gratuita. Igual alguna otra Api?
|
|
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖
|
|
|
MinusFour
|
Si puedes establecer la cookie antes de hacer la petición debería funcionar. Pero para eso vas a necesitar precargar la URL, extraer el secreto, llave e IV (las variables, a, b, c) y usar el slowaes para construir la cookie.
Tal y como lo hace ese script.
O puedes simplemente buscarte otro host que no tenga una protección así.
|
|
|
En línea
|
|
|
|
@XSStringManolo
Hacker/Programador
Colaborador
Desconectado
Mensajes: 2.399
Turn off the red ligth
|
Creo que ya conseguí hacerlo fucionar. Aún tengo que testearlo para asegurarme que no se vuelve a descargar el aes.js. Básicamente scrapeo desde la página de download.php antes de setear el archivo como .txt lo que obliga que sea la página precargada antes de que se pueda cargar. O eso creo, llevo horas probando de distintas maneras. Ahora tengo el problema de que scrapeo 2 veces el mismo sitio, no creo que influya en nada a menos que el sitio sea muy pesado. Prefiero no hablar antes de tiempo que la lata que me está dando algo tan sencillo... Con suerte me quito lo de las descargas de encima. http://stringmanolo.byethost12.com/au.php
|
|
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖
|
|
|
EdePC
|
- Yo lo he implementado guardando la variable en la sesión, y aparte usado prettify y beautify para que se vea mejor el código que muestra la web: <script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.10.2/beautify.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.10.2/beautify-css.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.10.2/beautify-html.js"></script> <a href="download.php">Descargar</a> <pre class="prettyprint" id="srcode"> <?php $_SESSION["content"] = $content; ?> </pre> <script> srcode = document.getElementById("srcode"); srcode.innerText = html_beautify(srcode.innerText, {indent_size: 2}); </script>
download.php <?php header('Content-Disposition: attachment; filename="google.txt"'); echo $_SESSION['content']; ?>
|
|
|
En línea
|
|
|
|
@XSStringManolo
Hacker/Programador
Colaborador
Desconectado
Mensajes: 2.399
Turn off the red ligth
|
No conocía esas libs. Beautify formatea el código? Voy a utilizarlo entonces. Vi imágenes del pretify y no me llama mucho, supongo que es cuestión de gustos. También tengo que revisar el Geshi que usa el foro, igual con css encaja guay en mi sitio. Lo más importante es la funcionalidad que le quiero implementar al extraer todos los elememtos interesantes del código y organizarlos. Pico y pala.
|
|
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖
|
|
|
MinusFour
|
- Yo lo he implementado guardando la variable en la sesión, y aparte usado prettify y beautify para que se vea mejor el código que muestra la web: <script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.10.2/beautify.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.10.2/beautify-css.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.10.2/beautify-html.js"></script> <a href="download.php">Descargar</a> <pre class="prettyprint" id="srcode"> <?php $_SESSION["content"] = $content; ?> </pre> <script> srcode = document.getElementById("srcode"); srcode.innerText = html_beautify(srcode.innerText, {indent_size: 2}); </script>
download.php <?php header('Content-Disposition: attachment; filename="google.txt"'); echo $_SESSION['content']; ?>
Hasta donde yo tengo entendido de esta forma debería ser el mismo problema. Byethost usa este mecanismo: https://kyprizel.github.io/testcookie-nginx-module/Lo que significa que si la petición no pasa del challenge por el reverse proxy, nunca llega a pegar a el servidor web. Si lo pones en una sesión o si lo pones en una cookie, etc, no debería importar, porque la petición nunca llega al servidor en el que estás trabajando hasta que pasas el challenge. La pregunta es, que tan a menudo ocurre el challenge. La cookie expira hasta el 2037 así que no estoy seguro cuando se vuelve a presentar el challenge. Si ya estás imprimiendo todo el código del sitio en esa página, puedes simplemente recoger el código del div y guardarlo en un archivo.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
tengo un archivo fuente, es *.asm y un *.hex
Ingeniería Inversa
|
Angeliux
|
0
|
1,813
|
13 Noviembre 2005, 03:45 am
por Angeliux
|
|
|
No estoy descargando nada, pero Conky dice que tengo una velocidad de descarga
Redes
|
Pink Floydiano
|
2
|
4,083
|
25 Abril 2011, 21:48 pm
por Pink Floydiano
|
|
|
[RESUELTO, AHORA VARIANTES]Hola, tengo un ligero problema
« 1 2 3 »
Programación C/C++
|
alex030293
|
20
|
8,667
|
4 Mayo 2011, 19:20 pm
por alex030293
|
|
|
[Resuelto] Estoy creaando un bat y tengo algunas fallas que no se como arreglar
Scripting
|
miguel0542
|
1
|
2,554
|
3 Septiembre 2012, 10:21 am
por Eleкtro
|
|
|
[Resuelto] Es legal hacer esto? Obtener fuente de web externa.
Desarrollo Web
|
@XSStringManolo
|
3
|
2,844
|
2 Septiembre 2019, 19:14 pm
por Markski
|
|