<CTF>/<Webhacking.kr>
Webhacking.kr old-35
meow00
2020. 11. 4. 23:04
문제 화면
소스코드를 확인해주었다.
if(preg_match("/\*|\/|=|select|-|#|;/i",$_GET['phone'])) exit("no hack"); //phone에서 필터링되는 문자들
if(strlen($_GET['id']) > 5) exit("no hack"); //id의 크기가 5를 넘으면 안된다.
if(preg_match("/admin/i",$_GET['id'])) exit("you are not admin"); //id에 admin이 들어갈 수 없다.
id, ip, phone 순서로 쿼리를 전송한다.
Insert문의 values를 사용한 것을 보아 여러 개의 데이터를 한 번에 삽입할 수 있다.
solve의 조건은 isAdmin['ip']값과 SERVER['REMOTE_ADDR']의 값이 같아야한다.
SERVER['REMOTE_ADDR']은 자신의 ip주소를 불러온다.
소스코드를 확인했으니, 입력값에
11),('admin','내 ip 주소',111
를 입력해주면 solve할 수 있다.