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

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