descarga
This commit is contained in:
parent
d00889d566
commit
5a4e891886
4 changed files with 154 additions and 78 deletions
|
@ -1,47 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
import httpx
|
||||
from selectolax.parser import HTMLParser
|
||||
|
||||
client = httpx.Client()
|
||||
url = "https://soportefirmadigital.com/sfdj/dl.aspx"
|
||||
file = "ClientesLinux_DEB64_Rev25.zip"
|
||||
desc = "Usuarios Linux (DEB 64bits)"
|
||||
code = 1234
|
||||
|
||||
def main():
|
||||
# GET request, parse response
|
||||
html = HTMLParser(client.get(url).text)
|
||||
|
||||
# Store ASPX values
|
||||
viewstategenerator = html.css_first("input#__VIEWSTATEGENERATOR").attributes['value']
|
||||
eventvalidation = html.css_first("input#__EVENTVALIDATION").attributes['value']
|
||||
viewstate = html.css_first("input#__VIEWSTATE").attributes['value']
|
||||
|
||||
# Fill form
|
||||
formdata = {
|
||||
"__EVENTTARGET": "ctl00$certContents$LinkButton3",
|
||||
"__EVENTARGUMENT": "",
|
||||
"__LASTFOCUS": "",
|
||||
"__VIEWSTATE": viewstate,
|
||||
"__VIEWSTATEGENERATOR": viewstategenerator,
|
||||
"__EVENTVALIDATION": eventvalidation,
|
||||
"ctl00$certContents$hiddenISO": file,
|
||||
"ctl00$certContents$hidden_ISO_URL": "-",
|
||||
"ctl00$certContents$ddlInstaladores": desc,
|
||||
"ctl00$certContents$txtDescripcion": "",
|
||||
"ctl00$certContents$txtSerialNumber": code,
|
||||
"ctl00$certContents$hiddenABID": "",
|
||||
"ctl00$certContents$chkConfirmo": "on",
|
||||
}
|
||||
|
||||
# Send form
|
||||
response = client.post(url, data=formdata)
|
||||
print(response.text)
|
||||
|
||||
# Respuesta esperada (suponiendo que se ingresa un número inválido):
|
||||
# <span id="ctl00_certContents_lblErr" class="fieldErr" style="color:#C00000;">Su tarjeta tiene un número inválido, o bien, no está registrada para soporte. En caso de duda contacte a su Institución Emisora.</span>
|
||||
|
||||
# Respuesta obtenida (como si nunca se hubiera enviado el número serial):
|
||||
# <span id="ctl00_certContents_lblErr" class="fieldErr"><font color="#C00000">Debe digitar el número de serie de su tarjeta</font></span>
|
||||
|
||||
main()
|
|
@ -1,31 +0,0 @@
|
|||
#!/bin/sh
|
||||
TEMP_DIR="/tmp/firma-digital"
|
||||
|
||||
SERIAL=1234
|
||||
#DESC="Usuarios+Linux+(DEB+64bits)"
|
||||
DESC="Usuarios+Linux+%28DEB+64bits%29"
|
||||
FILE="ClientesLinux_DEB64_Rev25.zip"
|
||||
#TXTD="Distribuciones+basadas+en+DEB+x64.Versiones+Homologadas-Ubuntu+18.04+LTS+o+superior(solo+versiones+LTS)-Debian+10Soporte+únicamente+en+máquinas+Físicas.MD5:3a8c11d0273daee7bfc63a17615a8dc9"
|
||||
TXTD="Distribuciones+basadas+en+DEB+x64.%0D%0AVersiones+Homologadas%0D%0A-Ubuntu+18.04+LTS+o+superior%28solo+versiones+LTS%29%0D%0A-Debian+10%0D%0A%0D%0ASoporte+%C3%BAnicamente+en+m%C3%A1quinas+F%C3%ADsicas.%0D%0AMD5%3A3a8c11d0273daee7bfc63a17615a8dc9"
|
||||
|
||||
urlencode() {
|
||||
ENCODEDURL="$(tr -d '\n' | curl -Gs -w %{url_effective} --data-urlencode @- ./ ||: | sed "s/%0[aA]$//;s/^[^?]*?\(.*\)/\1/")"
|
||||
printf '%s' "$ENCODEDURL" | sed 's/^http.*?//g'
|
||||
}
|
||||
|
||||
rm -rf "$TEMP_DIR" ; mkdir -p "$TEMP_DIR"
|
||||
curl -s --compressed 'https://soportefirmadigital.com/sfdj/dl.aspx' \
|
||||
-c "$TEMP_DIR/cookies.txt" \
|
||||
-o "$TEMP_DIR/descarga.html" || return 1
|
||||
|
||||
i=0
|
||||
ASP_VARS="$(for VAR in __VIEWSTATE __VIEWSTATEGENERATOR __EVENTVALIDATION ; do
|
||||
VAL="$(grep -o "id=\"$VAR\"\svalue=\".*\"" "$TEMP_DIR/descarga.html" | cut -d '"' -f 4 | urlencode)"
|
||||
[ "$i" != 0 ] && printf '&'
|
||||
printf '%s=%s' "$VAR" "$VAL"
|
||||
i=+1
|
||||
done)"
|
||||
|
||||
curl 'https://soportefirmadigital.com/sfdj/dl.aspx' \
|
||||
--data-raw "__EVENTTARGET=ctl00%24certContents%24LinkButton3&__EVENTARGUMENT=&__LASTFOCUS=&$ASP_VARS&ctl00%24certContents%24hiddenISO=$FILE&ctl00%24certContents%24hidden_ISO_URL=-&ctl00%24certContents%24ddlInstaladores=$DESC&ctl00%24certContents%24txtDescripcion=$TXTD&ctl00%24certContents%24txtSerialNumber=$SERIAL&ctl00%24certContents%24hiddenABID=&ctl00%24certContents%24chkConfirmo=on" \
|
||||
-b "$TEMP_DIR/cookies.txt"
|
77
test.sh
Normal file
77
test.sh
Normal file
|
@ -0,0 +1,77 @@
|
|||
#!/bin/sh
|
||||
alias curl="curl \
|
||||
-H 'Pragma: no-cache' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Cache-Control: no-cache' \
|
||||
-H 'Upgrade-Insecure-Requests: 1' \
|
||||
-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/128.0' \
|
||||
-H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' \
|
||||
-H 'Accept-Encoding: gzip, deflate, br' \
|
||||
-H 'Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3' \
|
||||
-H 'Referer: https://www.soportefirmadigital.com/sfdj/dl.aspx?lang=en' \
|
||||
-H 'Content-Type: application/x-www-form-urlencoded' \
|
||||
-H 'Sec-Fetch-Dest: document' \
|
||||
-H 'Sec-Fetch-Mode: navigate' \
|
||||
-H 'Sec-Fetch-Site: same-origin' \
|
||||
-H 'Sec-Fetch-User: ?1' \
|
||||
"
|
||||
|
||||
urlencode() {
|
||||
ENCODEDURL="$(tr -d '\n' | curl -Gs -w %{url_effective} --data-urlencode @- ./ ||: | sed "s/%0[aA]$//;s/^[^?]*?\(.*\)/\1/")"
|
||||
printf '%s' "$ENCODEDURL" | sed 's/^http.*?//g'
|
||||
}
|
||||
|
||||
get_asp_var() {
|
||||
VARS="$@" ; i=0
|
||||
for VAR in $VARS ; do
|
||||
VAL="$(printf '%s' "$REQUEST" | grep -o "id=\"$VAR\"\svalue=\".*\"" | cut -d '"' -f 4 | urlencode)"
|
||||
[ "$i" != 0 ] && printf '&'
|
||||
printf '%s=%s' "$VAR" "$VAL"
|
||||
i=+1
|
||||
done
|
||||
}
|
||||
|
||||
download_iso() {
|
||||
SN="1234"
|
||||
URL="https://soportefirmadigital.com/sfdj/dl.aspx"
|
||||
hiddenISO="ClientesLinux_DEB64_Rev25.zip"
|
||||
ddlInstaladores="Usuarios+Linux+%28DEB+64bits%29"
|
||||
txtDescripcion="Distribuciones+basadas+en+DEB+x64.%0D%0AVersiones+Homologadas%0D%0A-Ubuntu+18.04+LTS+o+superior%28solo+versiones+LTS%29%0D%0A-Debian+10%0D%0A%0D%0ASoporte+%C3%BAnicamente+en+m%C3%A1quinas+F%C3%ADsicas.%0D%0AMD5%3A3a8c11d0273daee7bfc63a17615a8dc9"
|
||||
|
||||
REQUEST="$(curl -s --compressed "$URL" -o -)"
|
||||
|
||||
ASP_VARS="$(get_asp_var __VIEWSTATE __VIEWSTATEGENERATOR __EVENTVALIDATION)"
|
||||
REQUEST="$(curl -Ls --compressed "$URL" \
|
||||
--data-raw "__EVENTTARGET=ctl00%24certContents%24ddlInstaladores" \
|
||||
--data-raw "__EVENTARGUMENT=" \
|
||||
--data-raw "__LASTFOCUS=" \
|
||||
--data-raw "$ASP_VARS" \
|
||||
--data-raw "ctl00%24certContents%24hiddenISO=Windows_rev62.exe" \
|
||||
--data-raw "ctl00%24certContents%24hidden_ISO_URL=-" \
|
||||
--data-raw "ctl00%24certContents%24txtSerialNumber=" \
|
||||
--data-raw "ctl00%24certContents%24ddlInstaladores=$ddlInstaladores" \
|
||||
--data-raw "ctl00%24certContents%24txtDescripcion=$txtDescripcion" \
|
||||
--data-raw "ctl00%24certContents%24chkConfirmo=" \
|
||||
--data-raw "ctl00%24certContents%24hiddenABID=" \
|
||||
-o -)"
|
||||
|
||||
ASP_VARS="$(get_asp_var __VIEWSTATE __VIEWSTATEGENERATOR __EVENTVALIDATION)"
|
||||
REQUEST="$(curl -H "Set-Cookie: SN=$SN" -s --compressed "$URL" \
|
||||
--cookie "SN=$SN" \
|
||||
--data-raw "__EVENTTARGET=ctl00%24certContents%24LinkButton3" \
|
||||
--data-raw "__EVENTARGUMENT=" \
|
||||
--data-raw "__LASTFOCUS=" \
|
||||
--data-raw "$ASP_VARS" \
|
||||
--data-raw "ctl00%24certContents%24hiddenISO=$hiddenISO" \
|
||||
--data-raw "ctl00%24certContents%24hidden_ISO_URL=-" \
|
||||
--data-raw "ctl00%24certContents%24txtSerialNumber=$SN" \
|
||||
--data-raw "ctl00%24certContents%24ddlInstaladores=$ddlInstaladores" \
|
||||
--data-raw "ctl00%24certContents%24txtDescripcion=$txtDescripcion" \
|
||||
--data-raw "ctl00%24certContents%24chkConfirmo=on" \
|
||||
--data-raw "ctl00%24certContents%24hiddenABID=" \
|
||||
-o -)"
|
||||
|
||||
printf '%s' "$REQUEST"
|
||||
}
|
||||
|
||||
download_iso
|
77
works.sh
Normal file
77
works.sh
Normal file
|
@ -0,0 +1,77 @@
|
|||
#!/bin/sh
|
||||
alias curl="curl \
|
||||
-H 'Pragma: no-cache' \
|
||||
-H 'Connection: keep-alive' \
|
||||
-H 'Cache-Control: no-cache' \
|
||||
-H 'Upgrade-Insecure-Requests: 1' \
|
||||
-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/128.0' \
|
||||
-H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' \
|
||||
-H 'Accept-Encoding: gzip, deflate, br' \
|
||||
-H 'Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3' \
|
||||
-H 'Referer: https://www.soportefirmadigital.com/sfdj/dl.aspx?lang=en' \
|
||||
-H 'Content-Type: application/x-www-form-urlencoded' \
|
||||
-H 'Sec-Fetch-Dest: document' \
|
||||
-H 'Sec-Fetch-Mode: navigate' \
|
||||
-H 'Sec-Fetch-Site: same-origin' \
|
||||
-H 'Sec-Fetch-User: ?1' \
|
||||
"
|
||||
|
||||
urlencode() {
|
||||
ENCODEDURL="$(tr -d '\n' | curl -Gs -w %{url_effective} --data-urlencode @- ./ ||: | sed "s/%0[aA]$//;s/^[^?]*?\(.*\)/\1/")"
|
||||
printf '%s' "$ENCODEDURL" | sed 's/^http.*?//g'
|
||||
}
|
||||
|
||||
get_asp_var() {
|
||||
VARS="$@" ; i=0
|
||||
for VAR in $VARS ; do
|
||||
VAL="$(printf '%s' "$REQUEST" | grep -o "id=\"$VAR\"\svalue=\".*\"" | cut -d '"' -f 4 | urlencode)"
|
||||
[ "$i" != 0 ] && printf '&'
|
||||
printf '%s=%s' "$VAR" "$VAL"
|
||||
i=+1
|
||||
done
|
||||
}
|
||||
|
||||
download_iso() {
|
||||
SN="1234"
|
||||
URL="https://soportefirmadigital.com/sfdj/dl.aspx"
|
||||
hiddenISO="ClientesLinux_DEB64_Rev25.zip"
|
||||
ddlInstaladores="Usuarios+Linux+%28DEB+64bits%29"
|
||||
txtDescripcion="Distribuciones+basadas+en+DEB+x64.%0D%0AVersiones+Homologadas%0D%0A-Ubuntu+18.04+LTS+o+superior%28solo+versiones+LTS%29%0D%0A-Debian+10%0D%0A%0D%0ASoporte+%C3%BAnicamente+en+m%C3%A1quinas+F%C3%ADsicas.%0D%0AMD5%3A3a8c11d0273daee7bfc63a17615a8dc9"
|
||||
|
||||
REQUEST="$(curl -s --compressed "$URL" -o -)"
|
||||
|
||||
ASP_VARS="$(get_asp_var __VIEWSTATE __VIEWSTATEGENERATOR __EVENTVALIDATION)"
|
||||
REQUEST="$(curl -Ls --compressed "$URL" \
|
||||
--data-raw "__EVENTTARGET=ctl00%24certContents%24ddlInstaladores" \
|
||||
--data-raw "__EVENTARGUMENT=" \
|
||||
--data-raw "__LASTFOCUS=" \
|
||||
--data-raw "$ASP_VARS" \
|
||||
--data-raw "ctl00%24certContents%24hiddenISO=Windows_rev62.exe" \
|
||||
--data-raw "ctl00%24certContents%24hidden_ISO_URL=-" \
|
||||
--data-raw "ctl00%24certContents%24txtSerialNumber=" \
|
||||
--data-raw "ctl00%24certContents%24ddlInstaladores=$ddlInstaladores" \
|
||||
--data-raw "ctl00%24certContents%24txtDescripcion=$txtDescripcion" \
|
||||
--data-raw "ctl00%24certContents%24chkConfirmo=" \
|
||||
--data-raw "ctl00%24certContents%24hiddenABID=" \
|
||||
-o -)"
|
||||
|
||||
ASP_VARS="$(get_asp_var __VIEWSTATE __VIEWSTATEGENERATOR __EVENTVALIDATION)"
|
||||
REQUEST="$(curl -H "Set-Cookie: SN=$SN" -s --compressed "$URL" \
|
||||
--cookie "SN=$SN" \
|
||||
--data-raw "__EVENTTARGET=ctl00%24certContents%24LinkButton3" \
|
||||
--data-raw "__EVENTARGUMENT=" \
|
||||
--data-raw "__LASTFOCUS=" \
|
||||
--data-raw "$ASP_VARS" \
|
||||
--data-raw "ctl00%24certContents%24hiddenISO=$hiddenISO" \
|
||||
--data-raw "ctl00%24certContents%24hidden_ISO_URL=-" \
|
||||
--data-raw "ctl00%24certContents%24txtSerialNumber=$SN" \
|
||||
--data-raw "ctl00%24certContents%24ddlInstaladores=$ddlInstaladores" \
|
||||
--data-raw "ctl00%24certContents%24txtDescripcion=$txtDescripcion" \
|
||||
--data-raw "ctl00%24certContents%24chkConfirmo=on" \
|
||||
--data-raw "ctl00%24certContents%24hiddenABID=" \
|
||||
-o -)"
|
||||
|
||||
printf '%s' "$REQUEST"
|
||||
}
|
||||
|
||||
download_iso
|
Loading…
Reference in a new issue