Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Polsaker

#21
Buenas, esta vez vengo a dejarles otro de los trozos de código que suelo utilizar yo en algunas páginas.
Este código muestra un mapa con la ubicación de una IP utilizando la API de mapas estáticos de Google e You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login para obtener la información de la geolocalización. Solo hay que pasarle el parámetro ip vía GET al script.

Código: php
<?php
$ipinfo = json_decode(file_get_contents("http://ip-api.com/json/" . $_GET['ip']));
$latlong = $ipinfo->lat . "," . $ipinfo->lon;

echo "<img src=\"https://maps.googleapis.com/maps/api/staticmap?center={$latlong}&zoom=13&size=600x300&markers=color:red%7Clabel:IP%7C{$latlong}\"/>";
?>


También, para incluirlo de forma mas sencilla en páginas (este, por ejemplo, se podría utilizar en una firma del foro  ::) )

Código: php
<?php
$ipinfo = json_decode(file_get_contents("http://ip-api.com/json/" . $_GET['ip']));
$latlong = $ipinfo->lat . "," . $ipinfo->lon;
header('Content-Type: image/png');
echo file_get_contents("https://maps.googleapis.com/maps/api/staticmap?center={$latlong}&zoom=13&size=600x300&markers=color:red%7Clabel:IP%7C{$latlong}");
?>


Por supuesto, pueden cambiar el tamaño del mapa alterando el parámetro size que se envía a la API de Google.

Saludos,
Polsaker
#22
Off Topic / Re:Por qué no usar hola.org
Mayo 29, 2015, 01:04:33 AM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Para el caso no seria mejor usar una VPN?
Sí, sería mucho mas seguro. Pero alguna gente prefiere la conveniencia...
#23
Lo único que se me ocurre sería utilizar un proveedor de Internet satelital.
#24
Es una botnet, pero a la vez cumple con lo que dice hacer.
Véase You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login y You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#25
Off Topic / Re:Por qué no usar hola.org
Mayo 29, 2015, 12:09:04 AM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Se puede de alguna manera hacer MITM ??
En teoría sí, ya que, hasta donde yo he revisado, no utiliza SSL (eso olvidé ponerlo en el post...)
#26
Off Topic / Por qué no usar hola.org
Mayo 28, 2015, 10:35:25 PM
Hola. Supongo que habrán visto You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login mostrando como se puede utilizar You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login como proxy. En este post, voy a resumir mas o menos como funciona, sus pros y sus contras.

Como funciona
Es muy simple: Instalás la extensión de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login y podés utilizarlo como proxy para entrar a una página desde (casi) cualquier país del mundo.
¡Pero eso no es todo! ¡Esa misma extensión "transforma" tu computadora en otro de los proxies de su red! También descarga de los servidores de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login listas de URLs a visitar, las cuales se usan para generarle ganancias a los dueños de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login y (supongo yo, ya que hasta ahí he investigado) hacer que el proxy funcione (lo cual mas o menos explica por qué solo se puede utilidar el puerto 80 y 443 desde You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login al usar CONNECT?).

Pros

  • Estás mas o menos anónimo en la re
  • Podés visitar sitios bloqueados en tu país
  • (en cierta manera) acelera tu conexión al escoger la ruta mas eficiente hacia el destino

Contras

  • Se podría decir que backdoorea tu computadora
  • Descarga contenido no solicitado (publicidad + tu computadora actuando como proxy)

En fin, esta es mi humilde recomendación de no usar este servicio que fue You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Saludos,
Polsaker
#27
Puedes usar You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login (útil si lo quieres integrar en una aplicación). Puedes ver mas información sobre ip-api You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#28
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Aunque confundes conceptos. Para empezar, encriptar y desencriptar no existe. Se dice cifrar y descifrar.
Por otro lado, no es lo mismo cifrar que codificar, o descifrar que descodificar.
Es verdad. Es codificar/decodificar, ya que esto no es un mecanismo de encriptación  :-X
#29
Este script básicamente lee el feed de Underc0de cada minuto, y si encuentra un post nuevo, envía una notificación a la bandeja del sistema con un botón para leer el post.

Cabe notar que solo funciona en Linux (aunque se puede adaptar para que ande en Windows usando wxWidgets, por ejemplo), y requiere de la librería python3-notify2 y python3-feedparser.

Código: python
#!/usr/bin/env python

from gi.repository import Gtk
from gi.repository import GLib
import notify2
import sys
import feedparser
import webbrowser

lasturl = ''
def ir_cb(n, action):
    assert action == "ir"
    webbrowser.open(lasturl)
    n.close()
   
def rssTimer(*args):
    global lasturl
    print("f1")
    feed = feedparser.parse("https://underc0de.org/foro/index.php?type=rss;action=.xml")
    print("f2")
    if feed['items'][0]['id'] != lasturl:
        lasturl = feed['items'][0]['id']
        notify2.init("RSS", mainloop='glib')
        n = notify2.Notification("Nuevo post en la sección de " + feed['items'][0]['tags'][0]['term'],
            "Tema: " + feed['items'][0]['title'])
        n.add_action("ir", "Ir", ir_cb)
        n.show()
    return True

if __name__ == '__main__':
    if not notify2.init("RSS", mainloop='glib'):
        sys.exit(1)
    feed = feedparser.parse("https://underc0de.org/foro/index.php?type=rss;action=.xml")
    lasturl = feed['items'][0]['id']
    GLib.timeout_add_seconds(60, rssTimer)
    Gtk.main()
#30
Interesante, con esto se le puede freir el micro a una portatil (ya que en las laptops mas nuevas el procesador de encarga de los USB si mal no recuerdo...)
#31
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
No conocía ese método de cifrado. Bastante loco, debo decir. xD
Yo me lo topé en una página de wargames y retos por el estilo y terminé haciéndome este script para codificar/decodificar.
#32
Este es un simple par de funciones en Python que se encargan de codificar y decodificar texto utilizando el You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login. Ustedes pueden crear su propia variante cambiando un poco el diccionario. Yo he utilizado un diccionario distinto al normal (he incluido el espacio, separado la I de la J y la U de la V ).

Código: python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import unicodedata
import re

# Diccionario (este es una modificación del original, separando la
# I y la J, la U y la V y añadiendo los espacios para que se vea mas bonito):

bacondict = {
    'a': 'aaaaa',
    'b': 'aaaab',
    'c': 'aaaba',
    'd': 'aaabb',
    'e': 'aabaa',
    'f': 'aabab',
    'g': 'aabba',
    'h': 'aabbb',
    'i': 'abaaa',
    'j': 'abaab',
    'k': 'ababa',
    'l': 'ababb',
    'm': 'abbaa',
    'n': 'abbab',
    'o': 'abbbb',
    'p': 'baaaa',
    'q': 'baaab',
    'r': 'baaba',
    's': 'baabb',
    't': 'babaa',
    'u': 'babab',
    'v': 'babba',
    'w': 'babbb',
    'x': 'bbaaa',
    'y': 'bbaab',
    'z': 'bbaba',
    ' ': 'bbbaa'
}

# Codificar con el código bacon.
# Los parámetros son: el diccionario, el texto a encriptar y el texto
# que lo "cubrirá"
def encode(bacon_dict, words, cover):
    # Convertimos todos los caracteres "especiales" a sus equivalentes ASCII
    # (á: a, ñ: n, etc)
    words = unicodedata.normalize('NFD', words).encode('ascii', 'ignore')
   
    words = words.decode().lower()
   
    cover = cover.lower()
   
    encoded = ''
    for i in words:
        encoded += bacon_dict[i]
    hidden = ''
    b = 0
    b2 = 0
   
    while b < len(cover):
        if b2 < len(encoded):
            if encoded[b2] == 'b':
                # Con esto evitamos poner en mayúsculas los espacios :P
                if cover[b].upper() != cover[b]:
                    hidden += cover[b].upper()
                    b2 += 1
                else:
                    hidden += cover[b]
            else:
                if cover[b].upper() != cover[b]:
                    hidden += cover[b]
                    b2 += 1
                else:
                    hidden += cover[b]
        else: # ya se codificó el texto, llenamos lo que queda con basura
            # tres 'b', un 'a' y otro 'b' al final (un caracter inexistente
            # en el diccionario)
            try:
                hidden += cover[b].upper()
                hidden += cover[b + 1].upper()
                hidden += cover[b + 2].upper()
                hidden += cover[b + 3]
                hidden += cover[b + 4].upper()
            except:
                pass
            b += 4
        b += 1
       
    return hidden

def decodificar(bacon_dict, codified_string):
    encoded = ''
    for i in codified_string:
        if i.istitle():
            encoded += 'b'
        else:
            if i.upper() != i:
                encoded += 'a'
    # Dividimos el texto semi-decodificado en partes de cinco caracteres..
    sec = map(''.join, zip(*[iter(encoded)]*5))
    # Invertimos el diccionario para que sea mas fácil buscar...
    bacon_dict = {v: k for k, v in bacon_dict.items()}
   
    decoded = ''
   
    for i in sec: # ... y vamos decodificando todo...
        try:
            decoded += bacon_dict[i]
        except:
            decoded += '?'
   
    return decoded
# Ejemplo de uso:
print("Encriptando 'nos reunimos esta noche a las doce' y cubriendolo con 'El Código Bacon o clave Baconiana es un método esteganográfico desarrollado por Francis Bacon. El mensaje estaría oculto en la presentación del texto, más que en su contenido. Para codificar un mensaje, cada letra de texto plano es reemplazada por un grupo de cinco letras 'A' o 'B'. El reemplazo se hace de acuerdo con el alfabeto del código Bacon.'")
codificado = encode(bacondict, "nos reunimos esta noche a las doce", "El Código Bacon o clave Baconiana es un método esteganográfico desarrollado por Francis Bacon. El mensaje estaría oculto en la presentación del texto, más que en su contenido. Para codificar un mensaje, cada letra de texto plano es reemplazada por un grupo de cinco letras 'A' o 'B'. El reemplazo se hace de acuerdo con el alfabeto del código Bacon.")
print("Texto codificado: " + codificado)

decodificado = decodificar(bacondict, codificado)
print("Texto decodificado: " + decodificado)


El ejemplo que viene con el código:
La entrada es "nos reunimos esta noche a las doce",
Cubierto con "El Código Bacon o clave Baconiana es un método esteganográfico desarrollado por Francis Bacon. El mensaje estaría oculto en la presentación del texto, más que en su contenido. Para codificar un mensaje, cada letra de texto plano es reemplazada por un grupo de cinco letras 'A' o 'B'. El reemplazo se hace de acuerdo con el alfabeto del código Bacon."

Se codifica a "eL CóDiGO BACon O CLAVe bAcoNianA es Un MéToDO eStEganoGRáfiCO DESarROLLAdo poR frAncIS BaCon. el menSAJe esTArÍa OCULto eN la pRESenTacIÓN del textO, MÁs quE eN Su contEniDO. PARa codiFIcAR UN menSaje, CadA LeTRA dE TExTO PlANO eS REeMPLAzADA pOR Un GRUpO DE CINCo LETrAS 'a' O 'B'. eL REeMPLAzO SE HACE DE AcUERDo CON EL AlFABEtO DEl CÓDiGO BaCON."

Y se decodifica a "nos reunimos esta noche a las doce?w????w???v?ww???????w" (La diferencia entre el texto a codificar y la cubierta se rellena con basura)
#33
Debian testing en mis computadoras de uso personal y stable en servidores.
#34
Hace un par de meses estaba aburrido y decidí reversear la extensión de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login (que por cierto no recomendaría usar, ya que transforma tu computadora en uno de sus proxies, pero eso es material para otro post...) y no se me ocurrió mejor idea que crear un prototipo de navegador "anónimo", en el cual puedas cambiar de IP, limpiar las cookies, cambiar de User-Agent, etc, con un solo click de un botón.
Por supuesto, carece de algunas funciones importantes de los navegadores mas comunes, ya que esto es bien básico, pero planeo ir mejorandolo con el tiempo si hay ganas.

Código: python
# -*- coding: utf-8 -*-

# Navegador básico hecho con PySide.
# Utiliza hola.org para buscar proxies y navegar de la forma mas anónima posible
# Por Polsaker (https://github.com/Polsaker)

from PySide import QtCore, QtGui
from PySide import QtWebKit
from PySide import QtNetwork
import pycurl
import random
from StringIO import StringIO
import json
import time


class MyBrowser(QtWebKit.QWebView):
    def __init__(self):
        QtWebKit.QWebView.__init__(self)
        self.currip = ''
        cp = CPage()
        cp.par = self
        self.setPage(cp)

class Navegador(QtGui.QWidget):

    def __init__(self, app):
        self.app = app
        super(Navegador, self).__init__(parent=None)
        self.qnp = QtNetwork.QNetworkProxy()
        self.qnp.setType(QtNetwork.QNetworkProxy.HttpProxy)
       
        self.setWindowTitle("Hola navigator")
        self.gridLayout = QtGui.QGridLayout(self)
        self.label = QtGui.QLabel(u"", self)
        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
        self.labelStatus = QtGui.QLabel("Ok", self)
        self.gridLayout.addWidget(self.labelStatus, 2, -1, 1, 1)
        self.btnRep = QtGui.QPushButton(self, text='Change IP')
        self.gridLayout.addWidget(self.btnRep, 0, 1, 1, 1)
        self.btnIr = QtGui.QPushButton(self, text='Go')
        self.gridLayout.addWidget(self.btnIr, 0, 3, 1, 1)
        self.addr = QtGui.QLineEdit(self)
        self.gridLayout.addWidget(self.addr, 0, 2, 1, 1)

        self.wvNavegador = MyBrowser()
        self.gridLayout.addWidget(self.wvNavegador, 1, 0, 1, 4)
       
        self.connect(
            self.btnRep,
            QtCore.SIGNAL("clicked()"),
            self.refreshPage)
        self.connect(
            self.btnIr,
            QtCore.SIGNAL("clicked()"),
            self.cargarUrl)
        self.connect(
            self.addr,
            QtCore.SIGNAL("returnPressed()"),
            self.cargarUrl)
       
        QtWebKit.QWebSettings.globalSettings().setAttribute(
            QtWebKit.QWebSettings.PluginsEnabled, True)
        QtWebKit.QWebSettings.globalSettings().setAttribute(
            QtWebKit.QWebSettings.JavascriptCanOpenWindows, True)
        QtWebKit.QWebSettings.globalSettings().setAttribute(
            QtWebKit.QWebSettings.DeveloperExtrasEnabled, True)

        self.wvNavegador.loadProgress.connect(self._progress)
       
        self.addr.setText("http://google.com") # <-- Página por defecto
   
    # Esta función es llamada al cambiar la IP. Borra nuestros rastros, cookies
    # busca un proxy nuevo y cambiar el user-agent.
    def refreshPage(self):
        # Con esto reseteamos las cookies
        self.wvNavegador.page().networkAccessManager().setCookieJar(QtNetwork.QNetworkCookieJar());
        holaproxy = HolaProxyv2(self) # Buscando un proxy nuevo..
       
        self.qnp.setHostName(holaproxy.node)
        self.qnp.setPort(holaproxy.port)
       
        # Credenciales de hola.org, aparentemente varían según cada navegador.
        # Si el script deja de andar, probablemente sea por que las credenciales
        # han cambiado.
        self.qnp.setUser("user-uuid-71317a7827fa928352b29cc7ffe25f4f")
        self.qnp.setPassword("e883692e09c6")
       
        self.qnp.currip = holaproxy.node + ":" + str(holaproxy.port)
        self.cargarUrl()
   
    # Esto evita que la interfaz se congele al procesar eventos.
    def _iloop(self):
        while True:
            k = 0
            while k != 120:
                time.sleep(0.5)
                QtCore.QCoreApplication.processEvents();
                k += 1
            self.refreshPage()
   
    # Actualizar el progreso de carga de cada página
    def _progress(self, progress):
        self.label.setText(str(progress) + "%")
       
    def cargarUrl(self):
        url = self.addr.text()
        url = url if url.startswith(
            "http://") or url.startswith(
                "https://") else "http://{url}".format(
                    url=url)
        # Usamos el proxy...
        QtNetwork.QNetworkProxy.setApplicationProxy(self.qnp)
        request = QtNetwork.QNetworkRequest()
        request.setUrl(url)
       
        # Alteramos el header "Accept-Language", ya que podría revelar
        # nuestra ubicación real.
        request.setRawHeader("Accept-Language","*")
        self.wvNavegador.load(request)

class CPage(QtWebKit.QWebPage):
    ''' Settings for the browser.'''
   
    def userAgentForUrl(self, url):
        # Con esto alteramos el User-Agent, que es definido de forma
        # distinta dependiendo de la IP que estemos usando.
        return random.Random(self.par.currip).choice(["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A",
            "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25",
            "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
            "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10",
            "Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko ) Version/5.1 Mobile/9B176 Safari/7534.48.3",
            "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16",
            "Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14",
            "Mozilla/5.0 (Windows NT 6.0; rv:2.0) Gecko/20100101 Firefox/4.0 Opera 12.14",
            "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0) Opera 12.14",
            "Opera/12.80 (Windows NT 5.1; U; en) Presto/2.10.289 Version/12.02",
            "Mozilla/5.0 (X11; Linux) KHTML/4.9.1 (like Gecko) Konqueror/4.9",
            "Mozilla/5.0 (X11; Linux 3.5.4-1-ARCH i686; es) KHTML/4.9.1 (like Gecko) Konqueror/4.9",
            "Mozilla/5.0 (X11) KHTML/4.9.1 (like Gecko) Konqueror/4.9",
            "Mozilla/5.0 (compatible; Konqueror/4.5; FreeBSD) KHTML/4.5.4 (like Gecko)",
            "Mozilla/5.0 (compatible; Konqueror/4.4; Linux) KHTML/4.4.1 (like Gecko) Fedora/4.4.1-1.fc12",
            "Mozilla/5.0 (compatible, MSIE 11, Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko",
            "Mozilla/5.0 (compatible; MSIE 10.6; Windows NT 6.1; Trident/5.0; InfoPath.2; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727) 3gpp-gba UNTRUSTED/1.0",
            "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)",
            "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)",
            "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/5.0)",
            "Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20121202 Firefox/17.0 Iceweasel/17.0.1",
            "Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0.1 Iceweasel/15.0.1",
            "Mozilla/5.0 (X11; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1 Iceweasel/15.0.1",
            "Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120724 Debian Iceweasel/15.0",
            "Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0 Iceweasel/15.0",
            "Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0",
            "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10; rv:33.0) Gecko/20100101 Firefox/33.0",
            "Mozilla/5.0 (X11; Linux i586; rv:31.0) Gecko/20100101 Firefox/31.0",
            "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20130401 Firefox/31.0",
            "Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0",
            "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36",
            "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36",
            "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36",
            "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36",
            "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2226.0 Safari/537.36",
            "Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+",
            "Mozilla/5.0 (BlackBerry; U; BlackBerry 9860; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.254 Mobile Safari/534.11+",
            "Mozilla/5.0 (BlackBerry; U; BlackBerry 9850; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.254 Mobile Safari/534.11+",
            "Mozilla/5.0 (BlackBerry; U; BlackBerry 9850; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.115 Mobile Safari/534.11+",
            "Mozilla/5.0 (BlackBerry; U; BlackBerry 9850; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.254 Mobile Safari/534.11+",
            "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)",
            "HTC_Touch_3G Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11)",
            "Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; Nokia;N70)",
            "Mozilla/5.0 (X11; U; Linux i686; fr-fr) AppleWebKit/525.1+ (KHTML, like Gecko, Safari/525.1+) midori/1.19",
            "Mozilla/5.0 (X11; Linux; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 Midori/0.4",
            "Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (S60; SymbOS; Opera Mobi/23.348; U; en) Presto/2.5.25 Version/10.54",
            "Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (S60; SymbOS; Opera Mobi/23.334; U; id) Presto/2.5.25 Version/10.54",
            "Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (J2ME/23.377; U; en) Presto/2.5.25 Version/10.54",
            "Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (J2ME/22.478; U; en) Presto/2.5.25 Version/10.54",
            "Opera/9.80 (J2ME/MIDP; Opera Mini/9 (Compatible; MSIE:9.0; iPhone; BlackBerry9700; AppleWebKit/24.746; U; en) Presto/2.5.25 Version/10.54",
            "Opera/12.02 (Android 4.1; Linux; Opera Mobi/ADR-1111101157; U; en-US) Presto/2.9.201 Version/12.02",
            "Opera/9.80 (Android 2.3.3; Linux; Opera Mobi/ADR-1111101157; U; es-ES) Presto/2.9.201 Version/11.50",
            "Opera/9.80 (S60; SymbOS; Opera Mobi/SYB-1107071606; U; en) Presto/2.8.149 Version/11.10",
            "Opera/9.80 (Android 2.3.4; Linux; Opera Mobi/build-1107180945; U; en-GB) Presto/2.8.149 Version/11.10",
            "Opera/9.80 (Android 2.2.1; Linux; Opera Mobi/ADR-1107051709; U; pl) Presto/2.8.149 Version/11.10"])

# Clase encargada de descubrir nuevos proxies.
class HolaProxyv2(object):
    def __init__(self, widg):
        widg.labelStatus.setText("Starting proxy discovery..")
        country = random.choice(["ar", "au", "at",
                                "be", "bo",
                                "br",
                                "cl",
                                "fi", "fr", "de", "gi", "gb", "gr",
                                "hk", "is", "in",
                                "it", "jp",
                                "kr", "kw",
                                "mx",
                                "nl",
                                "nz",
                                "py", "pe", "pt", "ro", "ru", "sh", "es", "se", "ch",
                                "tw", "uk", "uy", "us", "ve"])
        country = country + ".peer"
        c = pycurl.Curl()
        buffer = StringIO()
        c.setopt(c.WRITEFUNCTION, buffer.write)
        c.setopt(c.URL, "http://client.hola.org/client_cgi/zgettunnels?country=" + country)
        c.perform()
        jbuf = json.loads(buffer.getvalue())
        petition = jbuf['ztun'][country][0].split()[1].split(":")
        self.node = petition[0]
        self.port = int(petition[1])
        widg.labelStatus.setText("Using {0}:{1} ({2})".format(petition[0], petition[1], country))
       

if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    nav = Navegador(app)
    nav.show()
    nav.refreshPage()
    nav._iloop()
    sys.exit(app.exec_())
#35
Presentaciones y cumpleaños / Re:¡Hola a todos!
Marzo 18, 2015, 11:53:54 PM
Ya era hora de que mi leal vasallo entrara a estos páramos.
#36
Off Topic / Re:¿Qué música estás escuchando?
Marzo 12, 2015, 06:40:29 PM
#37
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
:o no creo que sea tan así como "dejar de funcionar"

me huele rara la noticia :P

Es verdad. Incluso hubo un bug en dispositivos Android (que creo que ya arreglaron)  que hacía que se congelara el sistema si ponías la fecha mas allá del 18 de enero de 2038.

Mas información: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#38
Noticias Informáticas / El ICANN ha sido hackeado
Diciembre 18, 2014, 06:33:52 PM
La corporación para la asignación de nombres y números (una parte vital del Internet, encargada de mantener los servidores DNS raíz y de asignar direcciones IP a los RIR) ha sido hackeada.

Según explica el propio organismo, sus sistemas internos han sido comprometidos tras un ataque de phishing el pasado noviembre.

ICANN, el organismo internacional sin ánimo de lucro responsable de asignar las direcciones IP y nombres de dominio, acaba de anunciar haber sido víctima de un ataque informático. Según explica el propio organismo, sus sistemas internos han sido comprometidos tras un ataque de phishing el pasado noviembre.

La organización, gestionada desde EE.UU., está investigando cómo se ha producido el ataque. Los primeros indicios apuntan a que varios empleados recibieron a finales de noviembre emails con direcciones que simulaban ser del propio organismo y pidiendo sus credenciales y contraseñas. Resultó ser un email falso, un ataque de phishing en toda regla.

A principios de este mes, responsables de ICANN descubrieron que esos datos comprometidos se utilizaron para acceder diversos servicios de la organización, entre ellos su wiki interna, portales donde se almacena qué personas solicitan dominios, o el servicio Centralized Zone Data System - CZDS. Esta última página guardaba los emails, contraseñas, teléfonos o direcciones postales de miles de usuarios, aunque ICANN asegura que las contraseñas estaban cifradas, por lo que los atacantes no pudieron acceder a ellas. De todas formas, la organización pide a los usuarios que estén dados de alta en esta página, You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login, que cambien sus contraseñas.

Fuente: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#39
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Si esta trabajando con troyanos de conexion inversa no va a poder usar un VPN, por eso le dije lo del bouncer, que como dijo Y3K, basicamente es enrutar el trafico a traves de otros servidores.

Te informo que hay VPN privados en el cual permite abrir los puertos. Yo utilizaría un vpn privado que no mande logs.
Saludos. 8)
Ehhm... Si es para algún malware tendría que integrarle un cliente VPN. Y eso ya sería medio overkill, no?
Una alternativa mas sencilla es la que dijo OnTheCore, un bouncer o proxy inverso.
#40
Back-end / Distintas funciones de encriptación
Octubre 22, 2014, 10:20:10 PM
Además de los algoritmos "comunes" (sha1, md5, base64, etc) PHP soporta una grán variedad de otros algoritmos de encriptación (hash). Algunas no serán tan seguras como las antes mencionadas pero pueden ser útiles para algún "desafío"  :P

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("md2",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("md4",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("sha224",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("sha256",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("sha384",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("sha512",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("ripemd128",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("ripemd160",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("ripemd256",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("ripemd320",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("whirlpool",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("snefru",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("snefru256",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("gost",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("adler32",$texto);


CRC32
Código: php
hash("crc32",$texto);


CRC32b
Código: php
hash("crc32b",$texto);


Salsa10
Código: php
hash("salsa10",$texto);


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: php
hash("salsa20",$texto);