일단 쓰고보자

[los] assassin 본문

모의해킹/Lord of SQLInjection

[los] assassin

휘갈기갈기 2020. 4. 8. 12:55

#문제

 

 

#문제 의도

- 입력 값 필터링 규칙 (pw)

if(preg_match('/\'/i', $_GET[pw])) exit("No Hack ~_~"

  1) 싱글쿼터(')

- 목표

싱글쿼터(')를 우회하거나 like 구문을 활용해서 admin의 pw를 알아내자.

 

#확인사항

- 싱글쿼터(') 우회하는 방법은 입력 구문이 2개인 경우에나 해볼 수 있을 것 같으니 like 구문을 공략해 볼 예정이다.

- 우선 like 구문의 경우, '%' 혹은 '_' 을 사용하게 되면 모든 것을 검색한다. Linux의 아스테리크(*)와 같다.

- 그럼 이제 문자 하나씩 알아보는 방법을 찾아보자. 만약 패스워드가 'abc' 라면 순차적으로 아래와 같이 진행한다.

  1) ?% → ? 에 문자 하나씩 넣어가며 a 발견

  2) a?% ? 에 문자 하나씩 넣어가며 b 발견

  3) ab?% → ? 에 문자 하나씩 넣어가며 c 발견

 

 

- 계속 guest만 등장하다가 902% 까지 가면 admin 이 등장한다. 그냥 끝까지 해보자 싶어서 902efd10 까지 찾아냈다.

- 주의할 점은, 비밀번호가 어떤 문자로 이루어져 있을 지 알아보려고 %?% 구문으로 찾아봤는데, 매번 guest만 나온다. 그래서 admin 패스워드는 없는 줄 알고, like 구문으로 푸는게 아니구나 싶었다. 그래서 싱글쿼터(') 우회하려고 한참 헤매다가 보니까 패스워드가 구성 문자가 guest와 admin이 모두 같을 수 있다는 힌트를 얻었다. 어찌저찌 guest 패스워드는 90d2fe10 란걸 알게됐다.

'모의해킹 > Lord of SQLInjection' 카테고리의 다른 글

[los] zombie_assassin  (2) 2020.04.10
[los] succubus  (0) 2020.04.08
[los] giant  (0) 2020.04.07
[los] bugbear  (0) 2020.04.07
[los] darkknight  (0) 2020.04.07