webhacking.kr

webhacking.kr

[webhacking.kr] old-21 (sqli → blind)

문제분석 & 풀이로그인창이 보인다. blind sql injection 문제인 것 같다. guest / guest 로 로그인을 시도하면 "login success" 라는 메세지가 뜬다. 뜬금없이 성공한게 이상해서 id / pw 를 아무 값이나 넣어보니 이번에는 "login fail" 이라고 뜬다. 아마도 guest / guest 는 우연히 맞은 것 같다. select * from [table] where id=$id and pw=$pw 로그인 쿼리를 위처럼 예측해볼 수 있다. 이를 토대로 인젝션을 시도해보자.  select * from [table] where id='guest' and pw='1'or'1'='1' 간단한 인젝션 쿼리를 만들 수 있다. where 문에서 or 기준으로 앞은 참이 아니더라도..

webhacking.kr

[webhacking.kr] old-20

문제분석 & 풀이문제에 접속하면 여러개의 빈칸이 보인다. 바로 소스부터 봐보자.모든 빈칸에 값이 들어가 있어야 하며 captcha 부분 빈칸은 빈칸 오른쪽에 써있는 값과 같은 값이 들어가야 문제가 해결되는 것 같다. 위와 같이 값을 넣고 제출해보았다. Too Slow? 왜 느리다고 뜨나 했더니 제한시간 2초가 존재했다. 즉, 페이지가 생성되고 2초안에 조건에 맞는 값을 입력하고 제출해야 문제가 해결되는 것 같다. document.getElementsByName('id')[0].value='a'; // nickname 에 값 넣는 코드document.getElementsByName('cmt')[0].value='a'; // comment 에 값 넣는 코드document.getElementsByName('c..

webhacking.kr

[webhacking.kr] old-19 (url, base64, md5)

문제분석 & 풀이admin이 입력된 폼이 있다. 제출하면 admin이 아니라고 뜬다. 개발자도구를 이용해서 코드를 봤지만 특이사항은 없는 것 같다. admin이라고 써있는 값을 guest라고 바꿔서 전송을 해보니 "hello guest" 라는 문구가 뜨는 것을 확인할 수 있다. 개발자도구를 키고 쿠키를 확인하면 userid 라는 쿠키가 있다. userid 쿠키의 값은 암호문 형태였다. 맨 끝 부분에 %3D가 있는 것을 토대로 url 인코딩이 됐다는 것을 알 수 있다. %3D는 url 디코딩하면 "="이다.  여기서 마지막에 "="이 붙은 것을 토대로 base64 인코딩 데이터라는 것을 알 수 있다. "="는 base64 인코딩 과정에서 패딩으로 사용되는 문자이기 때문이다. 쿠키값을 url → base64..

webhacking.kr

[webhacking.kr] old-18

문제에 접속하니 sql injection 문제라고 언급과 동시에 폼, 소스가 주어져있다. 1을 입력하니 "hi guest" 라는 문구가 뜬다. url 부분을 보니 no 파라미터를 이용해 값을 전달하고 있다.다른 숫자들도 넣어보았지만 다른 숫자는 아무 결과도 뜨지 않는다.이제 소스를 보고 분석해보자.1. no 파라미터를 이용해 값을 받고있으며 공백, / , ( , ) , | , & , select , from , 0x 를 사용시 정규표현식에 의해 hack으로 간주한다. (4번 줄)2. 4번줄에서 필터링을 통과하면 5번줄에 있는 sql 쿼리를 실행한다. (5번 줄)3. 결과 값의 id가 "admin"이면 문제가 해결된다. (8~11번줄) 결론적으로 sql 쿼리를 실행하여 id가 "admin"인 값을 뽑아내면..

webhacking.kr

[webhacking.kr] old-17

문제분석 & 풀이문제에 접속하니 하나의 입력폼이 주어져있다. 개발자도구로 소스부터 봐보니 script 부분에 unlock이라는 변수가 여러 연산을 거쳐 선언되어있는데 처음에 주어져있던 폼에 unlock 값을 넣으면 문제가 해결되는 것 같다.  unlock 의 값을 일일이 계산할 수는 없기 때문에 console 창에서 직접 unlock 변수의 값을 읽어보았고 7809297.1 이라는 값이 나왔다. 이제 이 값을 처음에 주어졌던 폼에 입력해보자. 클리어!!

webhacking.kr

[webhacking.kr] old-16

문제분석 & 풀이문제에 접속하니 큰 별과 작은 별이 보인다. 개발자 도구를 이용해 소스를 보았다. 소스를 보니 mv()에서 cd==124인 부분에 주석으로 do it! 이라고 되어있는 것을 보았고 바로 console 창에 mv(124)를 실행해보았다. 클리어 굉장히 간단한 문제였다....ㅋ

keyme
'webhacking.kr' 카테고리의 글 목록 (7 Page)