Webhacking.kr 29번
파일을 올리면 time, ip, file의 이름이 뜨는 것을 볼수있다 이걸로 파일을 제출할 시 INSERT INTO 테이블 VALUES() 구문이 쓰이고 우리에게 보여지는 화면은 select time, ip, file from 테이블 구문으로 되어있는걸 추측할 수 있다 일단 파일이름으로 injection을 시도할건데 VALUES()안에서 파일이 어디에 위치하는지를 먼저 알아내야한다 경우 1(파일 이름이 첫번째에 위치하는 경우) file, ~~, ~~ 이런 경우에는 ', ~~, ~~),(injection, ~~. ~~)-- -로 한다 INSERT INTO 테이블 VALUES('', ~~, ~~),(injection, ~~, ~~)-- -', ~~, ~~) 경우 2(파일 이름이 중간에 위치한 경우) ~~, ..
Webhacking.kr 35번
phone과 id를 GET방식으로 전달받음 필터링 phone에서 | * | / | = | select | - | # | ; | id에서 id값이 5글자보다 많으면 안됨 admin이 포함되면 안됨 쿼리문 insert into chall35(id,ip,phone) values('id','아이피',phone) 이게 우리가 날리는 쿼리이고 select ip from chall35 where id='admin' and ip='내 아이피' 이 쿼리로 나오는 값이 내 ip와 같다면 클리어 mysql에서 한번에 insert를 여러개 할 수 있음 insert into 테이블명(컬럼1, 컬림2) values('값1', '값2'), ('값1', '값2'), ('값1', '값2') 그래서 id값은 그대로 두고 phone에서 ..