old(14)
-
webhacking.kr 27번 문제(old)
27번 문제의 메인 페이지이다. 바로 소스를 확인해보자. 이 문제는 id 의 값이 admin 이면 풀리는 문제인것 같다. 하지만 저 코드에서 쿼리문 부분을 보면 id의 값이 guest로 지정되어있다. 그리고 아래 보면 주석처리로 // admin's no=2 라고 적혀져 있다. 아마 저 주석을 이용해서 문제를 풀 수 있을것 같다. 우선 메인페이지에서 아무값이나 넣어보며 결과를 확인해보자. 이 사진들은 각각 1,2를 입력했을때의 화면이다. 1을 입력했을때에는 guest가 2를 입력했을땐 query error 가 출력되었다. 아까 주석에서 admin의 no 값은 2라고 했으니 쿼리문을 조작해서 no 의 값을 2로 만들어 보자 0) or no like 2 preg_match()필터링을 위해서 위와같은 쿼리문을 ..
2019.10.15 -
webhacking.kr 26번 문제(old)
바로 소스를 확인해봅시다. 소스만 보면 매우 간단한 문제인것 같습니다. GET 형식으로 받은 id 값이 admin 이면 풀리는것 같습니다. 하지만 조건문 보다 위에 preg_match 함수로 admin이란 값을 필터링 하고있기 때문에 admin이란 값을 넣어줄 수 없을 것 같습니다. 또한 그 밑에 id의 값을 urldecode() 함수를 통해서 변조시키는 것을 확인할 수 있습니다. 그럼 admin 의 값을 url 인코딩을 해서 입력해 봅시다. url 인코딩 표를 이용해서 admin을 바꾸면 %61%64%6D%69%6E 의 값이 됩니다. 그럼 이 값을 ID 로 입력해 봅시다. 위처럼 no! 라고 합니다. 맨 처음 조건절에서 preg_match() 함수에 막힌것 같습니다. 그 이유는 웹서버와 브라우저 사이에..
2019.10.15