728x90
반응형
이번에는 webhacking.kr의 old-27번 문제입니다. 데이터베이스를 이용하는 문제고 150점이 배점되어 있습니다.
들어가면 위와 같은 화면이 출력됩니다. SQL Injection 문제인 것 같습니다. 소스 코드를 보겠습니다.
preg_match() 함수로 GET 방식으로 전달하는 no의 select, limit와 같은 문자열들을 필터링해줍니다.
쿼리에는 id='guest'가 고정되어 있습니다. 조건문의 주석에는 admin의 no가 2라고 적혀있습니다.
"SELECT id FROM chall27 WHERE id='guest' and no=(0) or no like 2-- ")) or die("query error"); 로 만들어 보겠습니다.
그리고 필터링을 우회하기 위하여 GET방식으로 전달되므로 탭을 URL 인코딩한 %09를 띄어쓰기 대신 넣어주겠습니다.
admin으로 로그인 되면서 문제를 해결할 수 있습니다.
728x90
반응형
'웹 해킹 (Web) > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] 웹해킹.kr old-59번 (200) (0) | 2020.09.20 |
---|---|
[webhacking.kr] 웹해킹.kr old-39번 (100) (0) | 2020.09.20 |
[webhacking.kr] 웹해킹.kr old-18번 (100) (0) | 2020.09.20 |
[webhacking.kr] 웹해킹.kr old-20번 (200) (0) | 2020.09.20 |
[webhacking.kr] 웹해킹.kr old-12번 (250) (0) | 2020.09.20 |