전체 글

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..

keyme
keyme - Security Study