Entonces, a partir de algunos tutoriales, se me ocurrieron dos bots que pueden ejecutar javascript en una página. Pero el que usa pyppeteer no ejecutará JS desde XSS reflejado o almacenado, mientras que el bot de solicitudes-html solo ejecuta javascript desde XSS almacenado. Solicitudes-html bot: -
from requests_html import HTMLSession session = HTMLSession() resp = session.get('http://127.0.0.1/search.php?x=<script>fetch("http://127.0.0.1:8888")</script>') # Run JavaScript code on webpage resp.html.render()
Robot Pyppeteer: -
from pyppeteer import launch import asyncio async def main(): browser = await launch(options={'args': ['--no-sandbox','--disable-web-security']}, headless=True) url = 'http://127.0.0.1/search.php?x=<script>fetch("http://127.0.0.1:8888")</script>' page = await browser.newPage() response = await page.goto(url, options={ 'timeout': 3000, 'waitUntil': 'load'}) print('response status: {}'.format(response.status)) await browser.close() loop = asyncio.get_event_loop() loop.run_until_complete(main())
El punto es que ambos bots ejecutan perfectamente js presente en la página desde el principio, el problema es con js hasta xss. Mi navegador ejecuta perfectamente JS desde XSS reflejado y almacenado.
Entonces, si alguien pudiera ayudarme a resolver esto, sería genial. Gracias por adelantado.
Nota: ya probé argumentos como --disable-web-security en el bot pyppeteer, pero lamentablemente no tuve ningún resultado.