728x90
LOS - 1번
문제
위와 같이 싱글쿼터 ( ' ) 나 더블쿼터 ( " )를 필터링 하고 있지 않으므로 id 값에 어떤 값이 들어가도 solve가 됨
검색창에 ?id=1234
를 넣어 결과값 확인
싱글쿼터 안에 1234가 들어갔고 기본적인 SQL Injection 구문을 이용하여 or 1=1로 참을 만들어 뒷부분을 주석처리 하면 문제가 풀릴 것 같다
#을 unlencoding 방식으로 %23으로 넣음
URL 인코딩/ 디코딩 (Encoding / Decoding)
URL에서 URL로 사용할 수 없는 문자 혹은 URL로 사용할 수 있지만 의미가 왜곡될 수 있는 문자들을 말함
URL 인코딩/디코딩 필요한 이유
1) 인터넷을 통해 전송할 수 있는 문자는 오로지 ASCII 문자이기 때문
2) ASCII 문자라 하더라도 예약된 의미를 가지고 있는 문자의 경우/ 그 문자 자체의 의미를 전달하고 싶은 경우에는 이스케이프 처리가 필요하기 때문
?id=1234'or 1=1 %23
입력시 #'and pw ''
는 모두 주석처리 되어 버려 SQL 인젝션이 들어간 것을 확인 할 수 있다.
'보안 > Wargame' 카테고리의 다른 글
[Load of SQL Injection] 4번 orc (0) | 2024.01.13 |
---|---|
[Load of SQL Injection] 3번 Goblin (0) | 2024.01.13 |
[Load of SQL Injection] 2번 Cobolt (0) | 2024.01.13 |
[H4cking Game] LineFeed (0) | 2024.01.13 |
[H4cking Game] Hello, Postman (0) | 2024.01.13 |