본문 바로가기

Webhaking/WebHaking CTF15

[Webhaking.kr] old 10번 10번 문제를 소스보기 해서 보게 되면 id로 hackme라는 값이 보이고 if문의 조건문을 보면 this.style.left로 1600px를 가면 문제가 풀리는 것 같다. F12를 눌러 관리자 창을 켜서 Console 칸에 'hackme.style.left=1599;'라고 추가한 후 엔터를 치고 본 페이지에서 o를 눌러주면 문제가 풀렸다는 내용이 나온다. 2020. 11. 26.
[Webhaking.kr] old 1번 값을 보면 5보다는 크지만 6보다는 작은 수여야 한다. 쿠키 값을 보면 1로 되어있는 것을 볼 수 있다. 이 값을 5보다는 크지만 6보다는 작은 소수로 바꾸면 문제를 해결할 수 있다. 2020. 11. 26.
[Webhaking.kr] old 22번 22번 문제에 들어가자마자 나오는 화면이다. 회원가입과 로그인 버튼이 있고 username과 password를 입력하는 칸이 존재한다. 아래 mission을 보니 admin으로 로그인을 해야 할 것 같고 데이터베이스의 column이 id와 pw가 있다. quest, quest로 로그인을 시도하니 Login Fail이 나온다. Test와 test로 회원가입을 시도하였다. 계정을 생성하였다. 이로써 DB에 우리가 입력한 ID와 PW를 넣는다는 것을 알 수 있다. 테스트 계정으로 로그인을 시도하였더니 password의 hash 값을 보여준다. admin으로 로그인을 시도하였지만 실패하였다. Admin’ or ‘1’=’1을 username과 password에 넣어서 구문 테스트를 하였다. 결과는 Wrong pa.. 2020. 11. 9.
[Webhaking.kr] old 9번 9번 문제에 들어가니 패스워드를 입력하는 칸이 나왔다. 아무래도 패스워드를 알아내는 것이 문제인 것 같다. 1, 2, 3을 차례대로 눌러보았다. 1을 눌렀더니 1,2,3이 있던 자리에 Apple이 뜨고 url에 get 방식으로 no=1이 전송된다. 2를 눌렀더니 apple과 같이 1,2,3이 있던 자리에 banana가 뜨고 url에 apple은 no=1이 전송되었지만 banana에서는 get방식으로 no=2가 전송된 것을 볼 수 있다. 3을 눌렀더니 다른 번호들과 같이 no=3이 전송되었지만 apple, banana 같은 단어가 아닌 Secret이 출력되고 hint와 column이 주어진다. Column이 id와 no만 있는 것을 보면 apple과 banana는 id의 값이고 secret의 id 값을 나.. 2020. 11. 9.
[Webhaking.kr] old 27번 old 27번에 들어갔더니 위와 같은 화면이 나왔다. 18번 문제와 같이 간단하게 sql injection이라는 것을 알 수 있엇다. view-source에서 코드에 들어가 중요한 부분을 확인해보았다. 여기서 보면 id 값이 admin이면 풀리는 문제인 거 같다. 위의 코드에서 쿼리문 부분을 보면 id가 guest로 지정되어 있는 것을 볼 수 있다. 또한, 주석으로 admin's no=2라고 되어있다. 저 주석이 힌트를 알려주고 있다. 아무 숫자나 넣어보니 quest라고 뜬다. 힌트로 나온 2를 넣어보니 querry error라는 문장이 뜬다. 주석에서 admin의 no 값이 2라고 했기 때문에 쿼리문을 조작해서 no의 값을 2로 만들 수 있을 것 같다. 0) or no like 2 preg_match(.. 2020. 11. 5.
[Webhaking.kr] old 18번 처음 18번 문제에 들어가면 나오는 화면이다. 제출 버튼과 RESULT 부분이 보이고 소스 코드를 확인 할 수 있는 것을 볼 수 있다. 먼저 문제를 풀기 위해 소스 코드를 확인했다. 긴 소스코드 중 가장 유심히 봐야 할 부분을 캡처하였다. 눈에 띄는 코드 부분이다. 첫 줄을 보면 'no'를 GET 형식으로 받아야 소스가 실행되는 것을 볼 수 있다. 두 번째 preg-match 부분을 보면 no를 입력 받고 값에 공백, /, /, \(,\), \t, |, &가 있을 경우, exit에 의해 함수가 실행되지 않고 종료된다는 것을 알 수 있다. 그 다음은 mysql 데이터베이스에서 id가 quest이고 입력받은 no 값과 일치하는 id를 검색하여 q라는 변수에 저장한다는 것을 알 수 있다. 소스코드에서 주석으로.. 2020. 11. 5.