mirror of
https://github.com/github/codeql.git
synced 2025-12-18 09:43:15 +01:00
86 lines
3.0 KiB
Python
86 lines
3.0 KiB
Python
#!/usr/bin/env python
|
|
|
|
from fastapi import FastAPI
|
|
from scrapli import Scrapli
|
|
from scrapli.driver.core import AsyncNXOSDriver, AsyncJunosDriver, AsyncEOSDriver, AsyncIOSXEDriver, AsyncIOSXRDriver
|
|
from scrapli.driver.core import NXOSDriver, JunosDriver, EOSDriver, IOSXEDriver, IOSXRDriver
|
|
from scrapli.driver import GenericDriver
|
|
|
|
|
|
app = FastAPI()
|
|
|
|
@app.get("/bad1")
|
|
async def bad1(cmd: str):
|
|
dev_connect = {
|
|
"host": host,
|
|
"auth_username": user,
|
|
"auth_password": password,
|
|
"port": port,
|
|
"auth_strict_key": False,
|
|
"transport": "asyncssh",
|
|
}
|
|
driver = AsyncIOSXEDriver
|
|
async with driver(**dev_connect) as conn:
|
|
output = await conn.send_command(cmd) # $ result=BAD getRemoteCommand=cmd
|
|
driver = AsyncIOSXRDriver
|
|
async with driver(**dev_connect) as conn:
|
|
output = await conn.send_command(cmd) # $ result=BAD getRemoteCommand=cmd
|
|
driver = AsyncNXOSDriver
|
|
async with driver(**dev_connect) as conn:
|
|
output = await conn.send_command(cmd) # $ result=BAD getRemoteCommand=cmd
|
|
driver = AsyncEOSDriver
|
|
async with driver(**dev_connect) as conn:
|
|
output = await conn.send_command(cmd) # $ result=BAD getRemoteCommand=cmd
|
|
driver = AsyncJunosDriver
|
|
async with driver(**dev_connect) as conn:
|
|
output = await conn.send_command(cmd) # $ result=BAD getRemoteCommand=cmd
|
|
return {"success": "Dangerous"}
|
|
|
|
@app.get("/bad1")
|
|
def bad2(cmd: str):
|
|
dev_connect = {
|
|
"host": host,
|
|
"auth_username": user,
|
|
"auth_password": password,
|
|
"port": port,
|
|
"auth_strict_key": False,
|
|
"transport": "ssh2",
|
|
}
|
|
driver = NXOSDriver
|
|
with driver(**dev_connect) as conn:
|
|
output = conn.send_command(cmd) # $ result=BAD getRemoteCommand=cmd
|
|
driver = IOSXRDriver
|
|
with driver(**dev_connect) as conn:
|
|
output = conn.send_command(cmd) # $ result=BAD getRemoteCommand=cmd
|
|
driver = IOSXEDriver
|
|
with driver(**dev_connect) as conn:
|
|
output = conn.send_command(cmd) # $ result=BAD getRemoteCommand=cmd
|
|
driver = EOSDriver
|
|
with driver(**dev_connect) as conn:
|
|
output = conn.send_command(cmd) # $ result=BAD getRemoteCommand=cmd
|
|
driver = JunosDriver
|
|
with driver(**dev_connect) as conn:
|
|
output = conn.send_command(cmd) # $ result=BAD getRemoteCommand=cmd
|
|
|
|
dev_connect = {
|
|
"host": "65.65.65.65",
|
|
"auth_username": "root",
|
|
"auth_private_key": "keyPath",
|
|
"auth_strict_key": False,
|
|
"transport": "ssh2",
|
|
"platform": "cisco_iosxe",
|
|
}
|
|
with Scrapli(**dev_connect) as conn:
|
|
result = conn.send_command(cmd) # $ result=BAD getRemoteCommand=cmd
|
|
|
|
dev_connect = {
|
|
"host": "65.65.65.65",
|
|
"auth_username": "root",
|
|
"auth_password": "password",
|
|
"auth_strict_key": False,
|
|
"transport": "ssh2",
|
|
}
|
|
with GenericDriver(**dev_connect) as conn:
|
|
result = conn.send_command(cmd) # $ result=BAD getRemoteCommand=cmd
|
|
return {"success": "Dangerous"}
|