work on ctf download
This commit is contained in:
parent
6966d33826
commit
da6217324a
37
hw5/app.py
37
hw5/app.py
@ -6,11 +6,12 @@ from langchain_core.prompts import PromptTemplate
|
|||||||
from langchain_core.output_parsers import StrOutputParser
|
from langchain_core.output_parsers import StrOutputParser
|
||||||
from langchain_community.document_loaders import AsyncHtmlLoader
|
from langchain_community.document_loaders import AsyncHtmlLoader
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
|
import requests
|
||||||
from validators import url
|
from validators import url
|
||||||
from time import time
|
from time import time
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Comments, TODO
|
This application attempts to automatically solve CTF levels for CS492/CS592 Malware Reverse Engineering.
|
||||||
"""
|
"""
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
promt = "You are a malware reverse engineer"
|
promt = "You are a malware reverse engineer"
|
||||||
@ -22,19 +23,47 @@ def get_rag_chain():
|
|||||||
| StrOutputParser()
|
| StrOutputParser()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
session = requests.Session()
|
||||||
|
|
||||||
llm = ChatOpenAI(model_name="gpt-4-turbo", temperature=0)
|
llm = ChatOpenAI(model_name="gpt-4-turbo", temperature=0)
|
||||||
|
url = "https://cs492.oregonctf.org/"
|
||||||
|
|
||||||
|
def start_session():
|
||||||
|
payload = {
|
||||||
|
'username': 'demo0',
|
||||||
|
'passwd': 'malware'
|
||||||
|
}
|
||||||
|
|
||||||
|
headers = {
|
||||||
|
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
|
||||||
|
'Content-Type': 'application/x-www-form-urlencoded'
|
||||||
|
}
|
||||||
|
session.post(url, data=payload, headers=headers)
|
||||||
|
|
||||||
|
def download(setname):
|
||||||
|
payload = {
|
||||||
|
'setname': setname,
|
||||||
|
}
|
||||||
|
headers = {
|
||||||
|
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
|
||||||
|
'Content-Type': 'application/x-www-form-urlencoded'
|
||||||
|
}
|
||||||
|
p = session.post(url+'/download', data=payload, headers=headers)
|
||||||
|
print(p.headers.get('Content-Type'))
|
||||||
|
zip = p.raw
|
||||||
|
print(zip)
|
||||||
|
|
||||||
|
|
||||||
print(
|
|
||||||
"Welcome to HW4"
|
|
||||||
)
|
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
|
start_session()
|
||||||
|
print(session.cookies)
|
||||||
|
download('Ch01-08')
|
||||||
line: str = input("llm>> ")
|
line: str = input("llm>> ")
|
||||||
if line:
|
if line:
|
||||||
start_time = time()
|
start_time = time()
|
||||||
|
|
||||||
result: str = get_rag_chain.invoke(line)
|
result: str = get_rag_chain.invoke(line)
|
||||||
end_time = time()
|
end_time = time()
|
||||||
elapsed_time = round(end_time - start_time, 2)
|
elapsed_time = round(end_time - start_time, 2)
|
||||||
|
Reference in New Issue
Block a user