본문 바로가기

보안/Wargame

[Load of SQL Injection] 1번 Gremlin

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