Hacking/Web.

Secuinside CTF write up

2017. 7. 2. 20:25

SECUINSIDE CTF Write up

H3X0R팀 소속 ch4n3

음 솔직히 라이트업이라고 말하기도 뭐하긴 한데 제가 풀었던 만큼 라이트업을 적어봅니다. 어느 정도 도움이 될 수 있는 부분이라고 생각합니다. 정말 지금까지 봤던 CTF중에서 가장 문제 수준이 질적으로 우수했던 대회라고 생각합니다. 


Mathboy7 

기숙사라서 밤에 못 풀고 대회 종료 당일 아침에 문제를 풀기 시작했다가 대회가 종료되었습니다. 그리고 하나 더 아쉬운 점을 고르자면 윈도우 환경에서 CTF를 풀려고 한 것입니다. 이 라이트업의 중요한 점 중 하나가 encrypt() 함수였는데 이 함수는 리눅스에서만 실행되었기 때문입니다. 이 함수가 윈도우에서 실행되지 않는 점을 모르고 계속 시도하다가 포기해서 너무 아깝고 아쉬운 것 같습니다.


일단 제가 ad 값을 얻었던 방법입니다. pi() 값을 password함수로 해싱을 시키면 AD가 나오는데 이 값을 substring하고 lower()함수로 AD를 ad로 만들어주었습니다. 

mid()에 필요한 digits은 

false !pi() 0            ceil(pi()*pi())                 10 ceil((pi()+pi())*pi()) 20
true !!pi() 1             ceil(pi()*pi())+true          11 ceil(ceil(pi())*version()) 21
true+true 2              ceil(pi()+pi()+version())   12 ceil(pi()*ceil(pi()+pi())) 22
floor(pi()) 3             floor(pi()*pi()+pi())         13 ceil((pi()+ceil(pi()))*pi()) 23
ceil(pi()) 4              ceil(pi()*pi()+pi())          14 ceil(pi())*ceil(version()) 24
floor(version()) 5      ceil(pi()*pi()+version())   15 floor(pi()*(version()+pi())) 25
ceil(version()) 6        floor(pi()*version())       16 floor(version()*version()) 26
ceil(pi()+pi()) 7         ceil(pi()*version())        17 ceil(version()*version()) 27
floor(version()+pi()) 8 ceil(pi()*version())+true  18 ceil(pi()*pi()*pi()-pi()) 28
floor(pi()*pi()) 9 floor((pi()+pi())*pi())             19 floor(pi()*pi()*floor(pi())) 29

여기에서 얻었습니다.


ad 값을 얻은 이후의 라이트업은 https://gist.github.com/stypr/b0f72d92d0520a62443b750aa8218f04 여기를 참고해주세요. 감사합니다.