[Webhacking.kr] old-35
2021. 9. 29. 17:30
Study/Web Hacking
old-35 시작화면이다. phone number를 입력받는 form 하나가 있다. view-source를 눌러 소스코드를 확인해보자. Challenge 35 phone :
[Webhacking.kr] old-11
2021. 9. 29. 16:42
Study/Web Hacking
old-11 문제화면이다. view-source 링크를 눌러 소스코드를 확인해봤다. view-source 소스코드에서 눈에 띄는 것은 $pat 변수였다. $pat 변수와 val파라미터가 같으면 문제를 해결할 수 있다. $pat에는 정규표현식이 들어가 있다. "/[1-3][a-f]{5}_.*$_SERVER[REMOTE_ADDR].*\tp\ta\ts\ts/" 위 정규표현식을 해석해보자. [1-3] : 1~3 중 한 문자 [a-f] : a~f 중 한 문자 {5} : 앞 문자를 5번 반복 (위 소스 코드 경우 a~f 중 한 문자를 5번 반복) _ : 그냥 문자 . : 줄바꿈 문자를 제외한 임의의 문자 * : 앞 문자 0번 이상 반복 \t : 탭 → 1aaaaa_127.0.0.1(tab)p(tab)a(tab)s(..
[Webhacking.kr] old-46
2021. 9. 25. 01:02
Study/Web Hacking
old-46은 SQL Injection문제다. level을 입력하는 form이 존재한다. 해당 문제에 존재하는 필터링과 query의 구조를 확인해보자. SQL INJECTION level : view-source 일단 lv파라미터의 값이 존재해야 한다. 그 아래 lv파라미터에 addslashes함수가 사용됐다. 그리고 공백, /, *, %가 empty string으로 대체된다. 다음으로 select, 0x, limit, cash가 preg_match로 필터링된다. 마지막으로 query는 다음과 같다. select id,cash from chall46 where lv=$_GET[lv] 이번 문제에서는 새로운 쿼리를 lv파라미터 위치에 Injection하면 될 것 같다. admin id를 불러오기 위해서는 ..
[Webhacking.kr] old-45
2021. 9. 25. 00:14
Study/Web Hacking
old-45는 SQL Injection문제다. id와 pw를 입력하는 폼이 존재한다. 먼저 필터링과 query를 어떻게 구성했는지 확인해보자. SQL INJECTION id : pw : view-source
[Webhacking.kr] old-08
2021. 9. 18. 20:35
Study/Web Hacking
아래는 old-08의 시작화면이다. hi guest 문구와 view-source 링크밖에 없다. 링크를 클릭하면 아래와 같은 소스코드가 나온다.
[Webhacking.kr] old-03
2021. 9. 18. 18:54
Study/Web Hacking
아래는 old-03의 시작 화면이다. 스도쿠 문제가 있다. 아래와 같이 스도쿠 문제를 풀고 solve를 누르면 Clear!라는 문자열이 출력되고, 그 아래 form이 하나 존재하는 것을 볼 수 있다. form에 admin이라고 입력하고 submit해봤다. 아래와 같은 화면으로 이동하게 되는데, 아까 입력한 admin이 기록됐다. 이번엔 다른 문자열로 시도해봤다. name에 input이 기록되는 걸 확인할 수 있었고, answer의 값에는 변화가 없었다. form의 name부분을 통해 DB에 접근할 수 있는 것 같았다. 이번엔 ' or 1=1#을 입력해봤다. 확인 결과 input이 필터링되어 문자 그대로 입력됐다. 좀 더 힌트를 얻기 위해 개발자도구를 확인해봤다. 확인해보니 answer가 hidden으로 ..
[Webhacking.kr] old-05
2021. 9. 11. 12:16
Study/Web Hacking
Challenge 5에는 Login과 Join버튼이 있다. Login버튼을 누르면 로그인 할 수 있는 form이 생긴다. Join버튼을 누르면 Access_Denied라는 알림창이 뜬다. 회원가입 페이지로 진입이 안되는걸 봐선 문제를 해결하려면 Join페이지로 진입해야 할 거 같다. 버튼 클릭으로는 진입이 안되니 URL로 진입해보았다. 다음은 로그인 페이지의 URL이다. 해당 URL에서 login.php만 지워보았다. 그러면 아래와 같은 페이지로 이동된다. join.php가 보인다. 해당 페이지로 이동해봤다. alert창이 뜨고, 확인을 누르면 검은 화면이 나온다. 소스코드를 확인해봤다. 소스코드 난독화가 되어있다. 일단 개행먼저 해주자. l = 'a'; ll = 'b'; lll = 'c'; llll =..
[Webhacking.kr] old-07
2021. 9. 11. 04:00
Study/Web Hacking
https://min-zero.tistory.com/entry/webhackingkr-challengeold-old-06-1 Challenge7에 Admin page라는 글씨와 auth버튼, val이라는 변수가 있다. 아래 view-source를 누르면 소스코드를 확인할 수 있다.
[natas] Level 26 -> Level 27
2021. 8. 24. 19:31
Study/Web Hacking
: level 26 → level 27 http://natas27.natas.labs.overthewire.org Username과 Password를 받는 폼이 있다. Username과 Password를 올바르게 입력하면 DB table의 내용을 출력한다. Password가 틀리면 Wrong password for user: (username)이 출력된다. Username이 존재하지 않으면 입력한 값을 바탕으로 새로운 계정을 생성한다. natas27