Bash oneliner x00 – Subdomain

Comenzamos hoy una secuencia de pequeños retos que esperamos sean de su agrado.

El objetivo del reto: Conseguir hacer un Bash onliner más corto basándose en el que se propone como muestra.

El bash oneliner:

wget -q "https://crt.sh/?q=%.eldiario.es&output=json" -O - | tr ":" "\n" | grep "min_cert_id" | cut -d "\"" -f 2 | sort | uniq

La salida del oneliner que le presentamos:

backoffice.eldiario.es
*.eldiario.es
elecciones.eldiario.es
especiales.eldiario.es
lab.vertele.eldiario.es
lee.eldiario.es
l.eldiario.es
mailchimp.eldiario.es
new-lab.eldiario.es
newsroom.eldiario.es
nodebemosnadaapi.eldiario.es
nodebemosnada.eldiario.es
pre-backoffice.eldiario.es
pre-usuarios.eldiario.es
seguro.eldiario.es
s.eldiario.es
ubuntuservertest.eldiario.es
ubuntutest.eldiario.es
usersapidev.eldiario.es
usersapidev.vertele.eldiario.es
usersapi.eldiario.es
usersapimvp.eldiario.es
usersapipre.eldiario.es
usersapipre.vertele.eldiario.es
usersapitest.eldiario.es
usersapitest.vertele.eldiario.es
usersapi.vertele.eldiario.es
usuarios.eldiario.es
usuariostest.eldiario.es
www.l.eldiario.es
www.newsroom.eldiario.es
www.seguro.eldiario.es
www.s.eldiario.es

Este one liner bash tiene 127 caracteres. ¿Crees que puedes hacerlo con menos?

No seas conchudo y platica en los comentarios para que el resto podamos ver cual bien se te da el scripting.

Compartir

25 Comentarios

  1. Aquí dejo dos opciones:

    curl -s «https://crt.sh/?q=%.eldiario.es&output=json» | jq -r ‘.[] | .name_value’ | sort | uniq

    wget -q «https://crt.sh/?q=%.eldiario.es&output=json» -O – | jq -r ‘.[] | .name_value’ | sort | uniq

  2. tomar pa los chavales

    curl -s ‘https://crt.sh/?q=%.elbinario.net&output=json’ | grep -Po ‘(?<=name_value\»:\»)(\w.|*.)\w.\w‘ | sort -u

  3. Yo no sé como cuentas para sacar 33 caracteres, aun quitando los espacios o la url.
    ¯_(ツ)_/¯

    En fin, da igual.

    Subo la apuesta:

    curl -s «https://crt.sh/?q=%.eldiario.es&output=json» | jq «.[].name_value» | sort | uniq

  4. muestra

    127 wget -q «https://crt.sh/?q=%.eldiario.es&output=json» -O – | tr «:» «\n» | grep «min_cert_id» | cut -d «\»» -f 2 | sort | uniq

    xaloc

    96 – curl -s “https://crt.sh/?q=%.eldiario.es&output=json” | jq -r ‘.[] | .name_value’ | sort | uniq
    101 – wget -q “https://crt.sh/?q=%.eldiario.es&output=json” -O – | jq -r ‘.[] | .name_value’ | sort | uniq

    colibri

    90 – curl -s “https://crt.sh/?q=%.eldiario.es&output=json” | jq “.[].name_value” | sort | uniq

    El oneliner de colibri es por el momento el de menos caracteres

  5. Bajo la apuesta a 70:

    wget «http://cort.as/-FG35» -qO-|tr «\»» «\n»|grep .diario.|sort|uniq

    ¿Alquien da menos?

  6. muestra
    127 wget -q “https://crt.sh/?q=%.eldiario.es&output=json” -O – | tr “:” “\n” | grep “min_cert_id” | cut -d “\”” -f 2 | sort | uniq

    xaloc
    101 – wget -q “https://crt.sh/?q=%.eldiario.es&output=json” -O – | jq -r ‘.[] | .name_value’ | sort | uniq

    xaloc
    96 – curl -s “https://crt.sh/?q=%.eldiario.es&output=json” | jq -r ‘.[] | .name_value’ | sort | uniq

    colibri
    90 – curl -s “https://crt.sh/?q=%.eldiario.es&output=json” | jq “.[].name_value” | sort | uniq

    puppeter
    72 – wget http://cort.as/-FG35 -O-|tr “\”” “\n”|awk -F”*.” ‘{print}’|sort -u

    Bug Lightyear
    70 – wget “http://cort.as/-FG35” -qO-|tr “\”” “\n”|grep .diario.|sort|uniq

    menosEsMais
    64 – wget “http://cort.as/-FG35” -qO-|tr “\”” “\n”|grep .d*.|sort -u

    popeye
    60 – wget http://cort.as/-FG35 -qO-|tr \” “\n”|grep .di.|sort -u
    58 – wget http://cort.as/-FG35 -qO-|tr \” “\n”|grep di|sort -u
    51 – wget cort.as/-FG35 -qO-|tr \” “\n”|grep di|sort -u
    50 – wget cort.as/-FG35 -O-|tr \” “\n”|grep di|sort -u

    Por el momento lo más corto es de popeye

  7. Eh no vale usando servicio externo, es como si hosteara una página q haga el script y simplemente haga wget mipag.as, lo que sí me pareció válido y aportó al juego fue el hecho de ahorrar el «http://»

  8. http://cort.as/-FG35 no hostea contenido alguno. Redirecciona a https://crt.sh/?q=%.eldiario.es&output=json .

    Dentro del juego desde mi punto de vista (ya que las normas brillan por su ausencia y eso mola) consideraría por ejemplo:
    – Usar curl en vez de wget lo consideraría también dentro del juego.

    Fuera del juego
    – Hostear la salida en una url y hacerle el wget a eso
    – Omitir -q en el wget ya que es algo que se imprime en pantalla pero que si se volcase el contenido no saldría.

Deja una respuesta a Popeye Cancelar respuesta

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax