728x90
35번 문제
view-source에 들어갔더니 나온 소스코드이다. get방식으로 phone과 id를 전달받음을 알 수 있다. 그리고 if(preg_match("/\*|\/|=|select|-|#|;/i",$_GET['phone'])을 통해 phone에서 필터링되는 문자들을 알 수 있고, if(strlen($_GET['id']) > 5)와 if(preg_match("/admin/i",$_GET['id']))을 통해 id의 크기가 5보다 작아야 한다는 것, admin이 포함되면 안된다는 것을 알 수 있다.
insert into chall35(id,ip,phone) values('{$_GET['id']}','{$_SERVER['REMOTE_ADDR']}',{$_GET['phone']})을 통해 sql문장으로 데이터가 삽입되는 것을 알 수 있고 values를 사용한 것을 보아 한 번에 여러 개의 데이터를 삽입할 수 있다.
solve의 조건을 보면 isAdmin[‘ip’]와 _SERVER[‘REMOTE_ADDR’]가 같아야 한다는 것을 알 수 있다. SERVER[‘REMOTE_ADDR’]는 자신의 IP 값을 가져오는 함수이다.
get[phone]은 변경 가능하므로 phone입력창에 1),('admin','내 ip 값',11 을 입력해주면 solve할 수 있다.
'Webhacking > Webhacking.kr' 카테고리의 다른 글
[webhacking.kr] webhacking.kr 46 (0) | 2023.12.29 |
---|---|
[webhacking.kr] webhacking.kr 39 (0) | 2023.12.29 |
[webhacking.kr] webhacking.kr 32 (0) | 2023.12.29 |
[webhacking.kr] webhacking.kr 26 (0) | 2023.12.29 |
[webhacking.kr] webhacking.kr 25 (0) | 2023.12.29 |