이해 안되는 부분 질문

def read_url(url, cookie={"name": "name", "value": "value"}):
cookie.update({"domain": "127.0.0.1"})
try:
options = webdriver.ChromeOptions()
for _ in [
"headless",
"window-size=1920x1080",
"disable-gpu",
"no-sandbox",
"disable-dev-shm-usage",
]:
options.add_argument(_)
driver = webdriver.Chrome("/chromedriver", options=options)
driver.implicitly_wait(3)
driver.set_page_load_timeout(3)
driver.get("http://127.0.0.1:8000/")
driver.add_cookie(cookie)
driver.get(url)
except Exception as e:
driver.quit()
# return str(e)
return False
driver.quit()
return True

(1) def read _url() 함수가 자세하게 어떤일을 하는지 잘 모르겠습니다.
(2) vuln 파라미터에 스크립트를 넣으면, 어떤이용자가 vuln을 눌러서 공격을 당하는 건가요? 그러면 이것을 reflected xss 공격이라고 하나요?
(3) 이용자의 쿠키 알아내는데 flag는 어디에서 구해지는 건가요? 이용자의 쿠키가 flag 인가요?
(4) vuln 파라미터에 스크립트 넣고 실행하면 왜 memo로 문자열이 전달되는 건가요?

#web
작성자 정보
답변 1
catower
강의 수강: 1

(1) read_url 함수는 Python Selenium을 사용하여 웹브라우저를 열어서 url을 읽는 함수는 입니다. 웹드라이버입니다.
(2) /vuln 페이지는 XSS취약점이 존재하는지 확인하는 페이지입니다. vuln파라미터에 스크립트를 삽입하면 쿠키값이라든지 정보를 탈취할 수 있기때문에 reflected xss공격이라고 합니다. 보통은 취약점이 존재하는 페이지에 접속한 이용자가 공격대상이 됩니다.
(3) flag는 flag.txt파일에 있습니다. 쿠키값이 flag 맞습니다.
(4)

def check_xss(param, cookie={"name": "name", "value": "value"}):
    url = f"http://127.0.0.1:8000/vuln?param={urllib.parse.quote(param)}"
    return read_url(url, cookie)
2021.12.28. 14:02
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기