CTF

CTF/webhacking.kr

challenge 46

- 메인페이지단순하게 level 값을 입력하는 요소와 view-source로 구성되어있다소스코드를 봐보자 - 소스코드addslashes로 ', ", \ 를 필터링str_replace로 공백, / ,% 를 필터링preg_match로 select, 0x, limit, cash를 필터링 한다이후 id값이 admin이라는 문자열과 동일하면 solve를 동작시킨다 # 소스코드를 동작시켜보자기본값이 1을 제출해 동작후 결과값을 확인해보자소스코드상 내용대로 DB상에 id, cash값을 출력해준다 - 풀이과정우선 소스코드상의 쿼리문에서 admin이 출력되는 쿼리를 만들어보자select id,cash from chall46 where lv=$_GET[lv]select id,cash from chall46 where lv..

CTF/webhacking.kr

challenge 51

- 메인페이지일반적인 로그인창과 화면상 우측아래 잘 안보이는 view-source로 이루어져 있는 페이지다로그인 화면만으로는 뭘 알 수 없으니 view-source로 소스코드를 분석해보자 - 소스코드id와 pw값을 POST형식으로 받아 id는 addslashes 함수를 통해 필터링하고 pw는 md5 함수를 통해서 암호화해 인젝션을 막고있는 것 같다 이후 필터링된 입력값은 sql 쿼리에 들어가 동작하고 이때의 결과값이 있다면 solve를 동작시킨다동작하는 sql 쿼리는 select id from chall51 where id='{$input_id}' and pw='{$input_pw}' 이 구문으로 보인다 - 풀이과정소스코드를 봤을때 addslashes()함수를 우회하는 방법을 생각해봤는데 이는 utf-..

CTF/webhacking.kr

chellenge 49

- 메인화면 메인화면 상으론 알수있는 정보가 많지 않아보인다 view-source를 통해서 소스코드를 까보자 - 소스코드 GET방식을 통해서 lv 값을 받아 SQL 필터링(select, or, and, (, ) 등)을 거친후에 DB에 접근해 SQL쿼리"select id from chall49 where lv={$_GET['lv']}"를 동작시켜 결과값이 admin이면 solve 함수를 동작시킨다 - 풀이과정일단 주어진 홈페이지에 아무값이나 입력해서 결과를 봐보자# 2 입력 소스코드 해석부분에서 확인했듯이 2가 GET 방식으로 전달되어 해당하는 값인 udnrg가 출력되었다즉, id 2 = udnrg 라는 뜻 우리가 필요한 값은 id ? = admin 이다이 값을 때려맞추긴 쉽지않으니 논리연산을 통해 id..

CTF/webhacking.kr

Challenge 7

- 메인페이지검정 화면에 Admin page제목, auth 버튼, view-source 링크가 전부이다일단 소스코드를 확인해 무슨 페이지인지 알아보자 - 소스코드php를 잘 모르지만 얼추 해석해보자면val값을 받아서 $go에 저장한후 preg_match함수로 2, -, +, *, /, \s, from, _, = 등을 필터링하고 sql문을 만들어서db 조회값을 $data로 저장해 $data값이 2이면 solve()를 동작시키는걸 알 수 있다* 중간에 rand를 통한 시도횟수 늘리기? 는 왜있는 것인지 모르겠다.(아마 확실한 답을 여러번 시도하라는 뜻이려나..)참고로 val값에 입력은 메인페이지 주소창을 확인하면 get 방식으로 입력가능 하다 즉, db 결과값이 2가 나와야 문제를 풀 수 있는데 주어진 문제..

NuII
'CTF' 카테고리의 글 목록