Webhacking/Webhacking.kr

[webhacking.kr] webhacking.kr 35

レ(゚∀゚)ヘ=3 2023. 12. 29. 14:25
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