728x90

https://junior2.dctf-quals-17.def.camp/?page=theme/admin/login이게 문제 주소이다.

 

 

처음 들어가면 또 로그인창이 뜬다. 역시 소스보기를 눌려봐야겠다.

 

 

딱히 별다른건 없고 그냥 나노로 뭔가 해놓았다고 한다. 그럼 index를 들어가보자. 물론 나노저걸 이용해서 말이다. https://junior2.dctf-quals-17.def.camp/index.php~이렇게 들어가보면 아무것도 안나온다. 화면상에는 말이다. 그럼 소스를 한번 보자.

 

 

역시 이건 뭐라고 나와있다. 루트권한으로 접근할만한것들은 거의 다 막아놓은 모습이다. 근데 타입을 정해준것같다. 그럼 대충 한번 짜보았다. /''도 막혀있기 때문에 두번 써서 짜보았다. https://junior2.dctf-quals-17.def.camp/?type=a&page=//etc//passwd이렇게 짜고 들어가보니

 

 

이런게 떠있었다. 이 많은것들중에서 flag값처럼 보이는 애가 있었다.

DCTF{7569fd: 4bf5b7ded2f:x:1002:1002::/home/4bf5b7ded2f: c48b33a7972:x:1003:1003::/home/c48b33a7972: c0752d13db4:x:1004:1004::/home/c0752d13db4: 32ff9930a99:x:1005:1005::/home/32ff9930a99: 6c567ea3321:x:1006:1006::/home/6c567ea3321: 13b} 이걸 짜잘한거 빼고 보면 DCTF{7569fd4bf5b7ded2fc48b33a7972c0752d13db432ff9930a996c567ea332113b} 이렇게 된다. flag값을 이렇게 구했다. 뭔가 굉장히 어려운듯하면서 쉬운 문제였다.

 

 

 

 

 

 

 

'ctf write-up > D-CTF Quals 2017' 카테고리의 다른 글

HEX Warm Up - hex  (0) 2017.10.03
Are you brave enough? - web  (0) 2017.10.02
Super Secure - web  (0) 2017.10.02
728x90

https://junior1.dctf-quals-17.def.camp/이게 이 문제의 주소이다.

 

 

들어가보면 그냥 평범한 로그인 창이 나온다. 일단 소스보기를 눌려보자.

 

 

username이랑 비밀번호를 그냥 줬다. 그러나 역시 이걸로는 로그인이 안된다.

 

 

소스를 더 보면 username칸은 email로 입력하게 되어있다. 그러나 우리에게 준 username은 email폼이 아니다. 그럼 개발자 모드에서 소스를 수정해야할것같다.

 

 

이렇게 html에서 type을 "anything"으로 바꿔준다음 로그인창에 아까 본 username과 비밀번호를 쳐봤다.

 

 

역시 그냥 저기서 끝나면 문제가 아니였다. 여기서 또 뭔가를 해야할것같다. 근데 저거 다 따르기도 귀찮으니 그냥 또 개발자모드로 들어가보자.

 

 

역시 그냥 flag값이 나왔다. 웹해킹의 기초정도라고 보면 될것같은 문제였다.

 

 

 

 

 

'ctf write-up > D-CTF Quals 2017' 카테고리의 다른 글

HEX Warm Up - hex  (0) 2017.10.03
Are you brave enough? - web  (0) 2017.10.02
Is nano good? - web  (0) 2017.10.02
728x90

http://web.chal.csaw.io:5487/처음 들어가보면

 

 

이런 화면이 뜬다. 처음에 일단 Polls를 들어가보았다.

 

 

이런 것들이 뜬다. 두개를 모두 들어가봤는데 딱히 별건 없었다. 여기서 알아낸것은 주소창뒤에 아랫것은 1이 붙고 위에것은 2가 붙는다는것이였다. 그럼 3을 넣어서 오류를 한번내보면 어떨까라는 생각에 해보았다.

 

 

역시 예쁘게 오류가 떴다. 내리다보면 진한 부분이 있는데 그건 사용자 스크립트에 관한부분이다. 연하게 되어있는 부분은  라이브러리함수이고, 여튼 그럼 사용자 스크립트를 보자.

 

 

이렇게 'getme'와 'listme'라는 것들로 값을 구하는것처럼 보인다. 나중에 쓸일이 있을것 같다. 이제 다시 Ad-Lib으로 들어가보자.

 

 

이런게 뜬다. 이건 그냥 저 값들 이외에 값을 넣어서 오류를 한번더 내보자.

 

 

역시 오류가 났다. 이것도 내리다보면

 

 

이런게 나온다. 'mrpoopy'를 넣으면 될것같다. 아까 구했던 listme와 함께 넣어보자.

 

 

 

역시 여기에 flag값이 있는게 확실해졌다. 양식도 여기서 가르쳐주었다. __flag__로 넣으면 될것같다. 이번에는 flag값을 구해야하므로 getme를 이용해서 넣어보자.

 

 

 

역시 flag값이 나온다. 이번문제는 Django에 기반을 둔 문제인것같다. 이쪽으로 좀더 공부를 해야할것같다.

 

 

 

 

 

 

 

'ctf write-up > csaw ctf 2017' 카테고리의 다른 글

orange v3 - web  (0) 2017.10.01
LittleQuery - web  (0) 2017.10.01
orange v1 - web  (0) 2017.10.01
728x90

http://web.chal.csaw.io:7312/?path=orange.txt들어가보면 또

 

 

이렇게만 떠있다. 그럼 v1처럼 directory traversal을 이용하여 들어가보자.

 

 

어? 이것까지 막아놨다. v1보다 좀더 신경을 쓴것같다. v1처럼 인코딩을 해서 주소창에 넣어봐도 안된다. 그럼 문자를 UTF-16에서 직접 찾아봐야 할 것 같다. http://www.fileformat.info/info/charset/UTF-16/list.htm이 사이트에서 쭉 찾아보다보면 'Į'이 문자가 나온다. 이건 알파벳 'N'을 가리키는 문자라고 한다. 그럼 저걸 써보면 http://web.chal.csaw.io:7312/?path=ĮĮ/flag.txt이렇게 유추할수있다. 들어가보면

 

 

이렇게 flag가 뜨게된다. 이 문제는 다른방법으로 더 쉽게 풀수있는지 한번 시도해봐야할것같다.

'ctf write-up > csaw ctf 2017' 카테고리의 다른 글

Shia Labeouf-off! - web  (0) 2017.10.01
LittleQuery - web  (0) 2017.10.01
orange v1 - web  (0) 2017.10.01
728x90

 

처음 이 문제를 들어가면 접하게 되는 화면이다. 그냥 다른 웹페이지들이랑 다를게 없어보인다. 일단 소스보기를 먼저 눌려본다.

 

 

역시 힌트가 있었다. 저 주소를 뒤에 한번 쳐봐야겠다.

 

 

모드를 지정해주는것 같다. 그럼 또 모드를 주소창 뒤에 쳐준다. ?mode=schema라고 쳐주면 될것같다.

 

 

또 db를 지정해준다. 기분좋게 또 뒤에 db를 littlequery로 설정해준다. &db=littlequery라고 치면 될것같다.

 

 

테이블까지 지정해준다. table을 user로 설정해줘야겠다. &table=user를 치면 될것같다.

 

 

역시 맞았다. 여기서 여러가지 정보들을 알려주는데 지금은 딱히 쓸모없을것같다. 그럼 아까 맨처음에 봤던 mode중에 preview를 쳐봐야겠다.

 

 

역시 그냥 풀려버리면 재미가 없다. sql 인젝션을 이용해보자. http://littlequery.chal.csaw.io/api/db_explore.php?mode=preview&db=littlequery`.`user&table=user이렇게 하면 될것같다.

 

 

한번더 써야될것같다. 그러면 http://littlequery.chal.csaw.io/api/db_explore.php?mode=preview&db=littlequery`.`user`--%20&table=user이렇게 써주었다.

 

 

그러자 username과 passwd가 떴다. 이걸 로그인창에 한번 쳐보자.

 

 

그대로 쳤는데 로그인이 되지 않는다. 소스보기를 눌려보자.

 

 

SHA1으로 뭔가 인코딩해서 보내는것같다. 그럼 개발자모드에 들어가서 그냥 코드를 수정하는 방식으로 풀어야겠다.

 

 

아직 다른쪽으로는 부족해서 HTML로 코딩해서 써봤다.

 

 

그러자 flag값이 나왔다. 다른방법으로도 한번 시도해볼만한 문제인것같다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'ctf write-up > csaw ctf 2017' 카테고리의 다른 글

Shia Labeouf-off! - web  (0) 2017.10.01
orange v3 - web  (0) 2017.10.01
orange v1 - web  (0) 2017.10.01
728x90

처음에 http://web.chal.csaw.io:7311/?path=orange.txt라고 주소가 주어졌다. 들어가보면 진짜 아무것도 없이 i love oranges라고 떠있었다. 당연히 url주소만 봐도 directory traversal을 이용하는 문제같았다. 그래서 뒤에 orange.txt를 지운 http://web.chal.csaw.io:7311/?path=이걸 주소창에 쳐보았다.

 

 

 

예상했던대로 directroy traversal이 맞는것 같았다. 그러나 우리가 찾는 flag.txt는 없는것 같았다. 그럼 루트권한까지 올라가기위해 ../를 이용해봐야겠다고 생각했었다. 그래서 http://web.chal.csaw.io:7311/?path=/../../대충 이렇게 쳐봤다.

 

 

역시 이렇게 쉽게 풀리지는 않았다. ../를 차단하는 방식으로 코딩을 해놨을거라고 추측을 하고 url인코딩을 해보기로 했다. url 인코딩을 하면 %252e가 나온다. 그것을 이용해 주소창에 http://web.chal.csaw.io:7311/?path=/%252e%252e/를 쳐보았다.

 

 

역시 풀렸다. 그럼 http://web.chal.csaw.io:7311/?path=/%252e%252e/flag.txt 여기 접속해서 flag.txt값을 읽어오면

 

 

flag값이 나오게 된다. 여기서 끝내면 공부가 안될것같아서 더 server.js에 들어가서 코드를 대충 봤다.

 

 

역시 예상대로 ..이 차단되는 방식의 코딩이였다. 그렇게 어렵지 않은 문제였지만 url인코딩을 생각을 못하면 풀수없는 문제였다.

 

 

 

 

 

 

 

 

 

'ctf write-up > csaw ctf 2017' 카테고리의 다른 글

Shia Labeouf-off! - web  (0) 2017.10.01
orange v3 - web  (0) 2017.10.01
LittleQuery - web  (0) 2017.10.01

+ Recent posts