728x90
1번을 확인시 평상시 볼 수 있는 sql 인젝션 삽입이 가능한 구문이 보인다.
이에는 필터링이 없는 것을 보아서는 손쉽게 인젝션이 가능하다.
id=admin&pw=1' or '1 와 같이 인젝션을 해주면 된다.
2번
코드를 확인을 해보면 id가 admin이면 solve
그 외의 값이면 로그인이 되지가 않는다.
처음에는 id=admin&pw=1') or '1' #
이런 식으로 값을 처리를 하려고 했지만... admin으로 로그인은 되지 않고 루비아님 id로 접근이 됐다.
서칭을 하던 중 pw 검증을 우회하는 법이 있었다.
id=admin'#이런식으로 id 값만 받게 하는 것이다.
이런식으로 하면 클리어를 하게 되는데,
#대신 %23으로 입력을 해줘야지 #이 처리가 된다.(#은 sql에서 주석)
3번
해당 문제는 쿼터들을 다 필터링을 하고 있다.
그리고 id 이외의 no이라는 파라미터를 받고 있는데,
이게 뭔지 정확하게 몰랐다.
그래서 no=1을 넘겨보니 Hello guset라고 떴고,
1이외의 숫자를 넣어보니 아무 값도 뜨지 않았다.
뭔가 1이외의 숫자는 id 값이랑 달라서 안된다고 생각을 했다.
그래서 ?no=1 or id=admin이라고 값을 줘봤는데
원래 뜨던 Hello guest도 뜨지가 않았다.
admin을 필터링하나? 라는 생각을 해서 admin을 hex로 바꿔서
넣어봤더니 Hello guest가 뜬다.
그래서 no=1을 1이외의 숫자를 넣어보니 admin 로그인이 된다.