완료됨
localhost 호출문제
안녕하세요..
제가 이해한 바로는 ..,,
http://host3.dreamhack.games:<번호>/flag 에서
param에 어떠한 값을 넣고 제출하면,
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)
def read_url(url, cookie={"name": "name", "value": "value"}):
cookie.update({"domain": "127.0.0.1"})
try:
service = Service(executable_path="/chromedriver")
options = webdriver.ChromeOptions()
for _ in [
"headless",
"window-size=1920x1080",
"disable-gpu",
"no-sandbox",
"disable-dev-shm-usage",
]:
options.add_argument(_)
driver = webdriver.Chrome(service=service, 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
해당 코드에 의해 로컬호스트의 URL이 호출 되는 구조라고 생각했는데..,,
해당 요청이 아예 들어오고 있지 않아서요..,,
그럴 경우, 어떤 부분을 check해보면 될지..궁금합니다. !
로컬호스트가 아래와 같이 run되고 있는 상태이긴합니다~
#web
작성자 정보
답변
1
hoppi_
대표 업적 없음
안녕하세요 해보자go님
문제 페이지에서 [서버 생성하기] 버튼을 누르게되면, 문제(xss-1)가 컨테이너라는 하나의 박스안에서 실행이 됩니다.
따라서 localhost는 해당 컨테이너를 가르키며, 해보자go님의 localhost를 지칭하는 것이 아닙니다.
보통 XSS와 같이 클라이언트 사이드에서 발생하는 취약점은 희생자인 제 3자가 필요하고, 그 역할을 하는 것이 저 bot 코드입니다.
url을 전송하게되면 저 코드가 동작하게되고, 즉, 희생자(bot)가 XSS 공격을 받게 되어 풀이자(공격자)가 의도한 스크립트가 실행되는 구조입니다.
더 궁금하신 사항이 있다면 질문 남겨주세요!