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