본문 바로가기

Wargame & CTF

[Dreamhack] baby,youth-case

baby 케이스

코드 분석 후 대소문자를 이용하여 우회가 가능함

 

youth 케이스

1. sensitive 케이스라서 Shop, sHop, SHOP은 다 다른경로로 인식하게 되므로 /shop에서 해결하는 방법을 구해야함

https://book.hacktricks.xyz/pentesting-web/proxy-waf-protections-bypass

 

Proxy / WAF Protections Bypass | HackTricks

\x85, \xA0, \x1F, \x1E, \x1D, \x1C, \x0C, \x0B

book.hacktricks.xyz

 

2. 그 이후에 변형된 형태의 flag를   소스코드에 걸리지 않고 인식시켜야 하는데, 어느 주임님의 힌트를 곰곰히 생각하여 꼭 한글자가 단일글자로 치환되는건가? 라는 질문하에 아래의 사이트를 찾게되었음

https://ind2x.github.io/posts/javascript_toLowerCase()_toUpperCase()_normalize_logic/

 

Javascript toLowerCase(), toUpperCase() Logical Bypass

Javascript toLowerCase(), toUpperCase()

ind2x.github.io

 

[223] ß (%C3%9F).toUpperCase() => SS (%53%53)
[304] İ (%C4%B0).toLowerCase() => i̇ (%69%307)
[305] ı (%C4%B1).toUpperCase() => I (%49)
[329] ʼn (%C5%89).toUpperCase() => ʼN (%2bc%4e)
[383] ſ (%C5%BF).toUpperCase() => S (%53)
[496] ǰ (%C7%B0).toUpperCase() => J̌ (%4a%30c)
[7830] ẖ (%E1%BA%96).toUpperCase() => H̱ (%48%331)
[7831] ẗ (%E1%BA%97).toUpperCase() => T̈ (%54%308)
[7832] ẘ (%E1%BA%98).toUpperCase() => W̊ (%57%30a)
[7833] ẙ (%E1%BA%99).toUpperCase() => Y̊ (%59%30a)
[7834] ẚ (%E1%BA%9A).toUpperCase() => Aʾ (%41%2be)
[8490] K (%E2%84%AA).toLowerCase() => k (%6b)
[64256] ff (%EF%AC%80).toUpperCase() => FF (%46%46)
[64257] fi (%EF%AC%81).toUpperCase() => FI (%46%49)
[64258] fl (%EF%AC%82).toUpperCase() => FL (%46%4c)
[64259] ffi (%EF%AC%83).toUpperCase() => FFI (%46%46%49)
[64260] ffl (%EF%AC%84).toUpperCase() => FFL (%46%46%4c)
[64261] ſt (%EF%AC%85).toUpperCase() => ST (%53%54)
[64262] st (%EF%AC%86).toUpperCase() => ST (%53%54)

출처 : https://blog.p6.is/hacktm-ctf-quals-2020/

덕분에 문제 해결 가능하였음

"플~래~그"가 아니라 "플래~그" 였음 ㅎㅎ 

데이트하면서도 계속 저 문제가 머릿속을 맴돌았음

 

'Wargame & CTF' 카테고리의 다른 글

[Dreamhack] Broken Dream Badge  (0) 2024.11.25
[Dreamhack] Geust Book1,2  (0) 2024.06.24
[Dreamhack] Buffalo Wings  (0) 2024.06.21
[Dreamhack] PATCH-1  (0) 2024.06.17
[Dreamhack] NginX-mas  (0) 2024.06.14