stxxp

HackCTF(Web) | 보물 & login 본문

Security/WebHacking

HackCTF(Web) | 보물 & login

stxxp 2020. 11. 6. 17:44

HackCTF writeup

① 보물

web문제입니다. URL을 통해 들어가면

다음과 같이 뜹니다. page 1,2,3 버튼을 각각 누를 때마다 

 

이런 식으로 나타나네요. GET방식으로 전송하는 것을 볼 수 있습니다. 문제에서 페이지 숫자 중에 비밀이 있고 그곳에 보물을 숨겨놓았다고 했으니 1부터 큰 숫자까지 반복하여 해당 페이지로 접속하는 파이썬 코드를 작성해보려고 합니다.

 

URL에서 

ctf.j0n9hyun.xyz:2025/?page=

이 부분은 항상 일치하고 뒤에 숫자만 바뀌는 것이기 때문에 다음과 같이 코드를 짤 수 있습니다.

1
2
3
4
5
6
7
8
import requests
 
link = "http://ctf.j0n9hyun.xyz:2025/?page="
for i in range(110000):
    if "HackCTF" in (requests.get(link+str(i))).text:
        print(str(i) + "----> Find!")
        break
    print(str(i)+"||No find")
 

 

Flag 양식인 HackCTF가 나올 때까지 계속 반복문을 돌리다 보면 아래처럼 반복문을 탈출하는 숫자가 나옵니다.

 

이제 URL에 1225 값을 넣고 해당 페이지로 접속하게 되면 flag가 나온 것을 볼 수 있습니다.

ctf.j0n9hyun.xyz:2025/?page=1225

HackCTF{0hhhhh_5o_g0od_try!}

 

 

 

 

② login

로그인 창이 보입니다. View Source를 클릭해보니 php코드가 뜨네요.

 

코드를 보면 id와 pw에 각각 아이디와 비밀번호를 입력받고 이를 SQL로 변환해서 DB에 전송하고 있습니다. 

그리고 DB에서 해당하는 아이디와 비밀번호를 검증하고 있는 것 같은데 if문을 통해 아이디를 검사하고 있습니다. 아이디를 입력하는 부분에서 SQL injection이 발생할 수 있겠네요.

 

admin으로 로그인하기 위해 다음과 같이 입력합니다.

 admin'--이 안돼서 admin'#으로 했더니

 

Flag가 나오네요! 전형적인 SQL injection 문제였습니다.

'Security > WebHacking' 카테고리의 다른 글

[WolvCTF] Web: The Gauntlet write-up  (4) 2024.03.19