18번문제다!

우선 sql injection문제이다.

los를 좀 풀어봐서 쉬울거라 생각했다.

index.php를 누르면 소스를 보여준다.

우선 쿼리문에서 id=guest와 no=제출된 값 을 불러와 그게 guest면 hi guest

admin값이면 정답이다.

우선 no=1이라고 치니까 hi guest를 띄운다

여기서 no =1 이면 guest값이라는 것을 알 수있다.

그렇다면 attribute는 id와 no 값이 있다고 가정할 수 있고

그것의 id= guest, no =1은 guest이다.

그렇지만 우리는 admin을 찾아야한다.

그래서 처음 넣는 no값은 false여야 함으로 0을 넣고 그다음 admin값의 자리를 불러와야한다.

소스에서 eregi가 \t와 or, and를 막고 있기 때문에 or를 우회해 쓰려면

linefeed값인 %0a를 or앞뒤로 붙여준다.

그래서 " no=0%0aor%0ano=2"라고 했더니 아무것도 안뜬다.

그래서 위의 url창을 보니 no안에 no가 들어가있다.

그래서 소스를 보니 input창이 no다.

그렇다면 "0%0aor%0ano=2"를 치니

18번도 클리어!!



'WebHacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 21번  (0) 2017.12.29
Webhacking.kr 25번  (0) 2017.12.29
Webhacking.kr 39번  (0) 2017.12.27
Webhacking.kr 52번  (0) 2017.11.18
Webhacking.kr 47번  (0) 2017.11.18

+ Recent posts