XSS game - Level6
Wargame/XSS GAME 2022. 2. 14. 16:50

문제 풀이 Mission Description Complex web applications sometimes have the capability to dynamically load JavaScript libraries based on the value of their URL parameters or part of location.hash. 복잡한 웹 애플리케이션에는 URL 매개변수 또는 location.hash의 일부 값을 기반으로 JavaScript 라이브러리를 동적으로 로드하는 기능이 있는 경우가 있습니다. This is very tricky to get right -- allowing user input to influence the URL when loading scripts or other po..

XSS game - Level5
Wargame/XSS GAME 2022. 2. 13. 17:16

문제 풀이 Mission Description Cross-site scripting isn't just about correctly escaping data. Sometimes, attackers can do bad things even without injecting new elements into the DOM. 사이트 간 스크립팅은 데이터를 올바르게 이스케이프하는 것이 그냥은 아닙니다. 때때로 공격자는 DOM에 새로운 요소를 삽입하지 않고도 나쁜 일을 할 수 있습니다. Mission Objective Inject a script to pop up an alert() in the context of the application. 스크립트를 삽입하여 애플리케이션 컨텍스트에서 alert()를 출력합니다...

XSS game - Level4
Wargame/XSS GAME 2022. 2. 12. 20:07

문제 풀이 Mission Description Every bit of user-supplied data must be correctly escaped for the context of the page in which it will appear. This level shows why. 사용자 제공 데이터의 모든 비트는 표시될 페이지의 컨텍스트에 맞게 올바르게 이스케이프되어야 합니다. 이 수준은 이유를 보여줍니다. Mission Objective Inject a script to pop up a JavaScript alert() in the application. 스크립트를 삽입하여 애플리케이션에서 JavaScript의 alert를 출력하시오. Write Up 문제를 확인하니, Input에 3이 입력되어있다..

XSS game - Level3
Wargame/XSS GAME 2022. 2. 9. 17:56

문제 풀이 Mission Description As you've seen in the previous level, some common JS functions are execution sinks which means that they will cause the browser to execute any scripts that appear in their input. Sometimes this fact is hidden by higher-level APIs which use one of these functions under the hood. The application on this level is using one such hidden sink. 이전 수준에서 보았듯이 일부 일반적인 JS 함수는 실행 싱..

JSFUCK 분석
Security Study 2022. 2. 3. 10:59

JSFUCK이란? 위키백과에 의하면 Martin Kleppe이 개발한 자바스크립트의 난해한 프로그래밍 스타일이라고 소개되어있다. (![]+[])[+!+[]] // "a" ([][+[]]+[])[!+[]+!+[]] // "d" (!+[]+[])[!+[]+!+[]+!+[]] // "e" (![]+[])[+[]] // "f" ([][+[]]+[])[!+[]+!+[]+!+[]+!+[]+!+[]] // "i" (![]+[])[!+[]+!+[]] // "l" ([][+[]]+[])[+!+[]] // "n" (!+[]+[])[+!+[]] // "r" (![]+[])[!+[]+!+[]+!+[]] // "s" (!+[]+[])[+[]] // "t" ([][+[]]+[])[+[]] // "u" 위 코드처럼 [ ], ( )..

XSS game - Level2
Wargame/XSS GAME 2022. 1. 23. 15:43

문제풀이 Mission Description Web applications often keep user data in server-side and, increasingly, client-side databases and later display it to users. No matter where such user-controlled data comes from, it should be handled carefully. This level shows how easily XSS bugs can be introduced in complex apps. 웹 응용 프로그램은 사용자 데이터를 서버 단과 클라이언트 단 데이터베이스에 보관하고 나중에 사용자에게 출력합니다. 이러한 사용자 데이터의 위치가 어디있든 상관없이..

XSS game - Level1
Wargame/XSS GAME 2022. 1. 22. 23:00

XSS game 소개 크로스사이트 스크립팅 공격에 대한 문제를 집중적으로 출제한 워게임 사이트이다. 아무래도 XSS은 공격 방법이 무긍무진한 대신 대처 방법도 무긍무진하다는 점이다. 문제 풀이 Mission Description This level demonstrates a common cause of cross-site scripting where user input is directly included in the page without proper escaping. Interact with the vulnerable application window below and find a way to make it execute JavaScript of your choosing. You can take ac..

Log4Shell 정리
Security Study 2021. 12. 30. 01:33

[Dreamhack Web - Lv 2] crawling
Wargame/Dreamhack 2021. 12. 20. 07:17

[Dreamhack Web - Lv 2] chocoshop
Wargame/Dreamhack 2021. 12. 18. 01:55

문제 정보 드림이는 빼빼로데이를 맞아 티오리제과에서 빼빼로 구매를 위한 쿠폰을 받았습니다. 하지만 우리의 목적은 FLAG! 그런데 이런, FLAG는 너무 비싸 살 수가 없네요… 쿠폰을 여러 번 발급받고 싶었는데 이것도 불가능해요. 내부자 말에 의하면 사용된 쿠폰을 검사하는 로직이 취약하다는데, 드림이를 도와 FLAG를 구매하세요! 풀이 힌트 1. Coupon Expired Time 문제 풀이 더보기 더보기 문제를 들어가니, 세션을 발급 받는 페이지가 첫 페이지로 나왔다. 세션을 발급 받을 때 전달된 값을 확인해보니, JSON 형식으로 위와 같은 값을 전달하고 있었다. 값 중 특이하는 것을 보니, coupon_claimed 값이 있는데 이는 쿠폰 사용 여부를 나타는 값으로 보인다. 세션을 발급 받은 후의 ..