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 |