본문 바로가기

LOS 풀이

(2)
[Lord Of SQL injection] LOS 2단계 - Cobolt 코드 분석 및 문제풀이 LOS링크 : https://los.eagle-jump.org/ 오늘 풀어볼 문제는 2단계 Cobolt다. 답 보기 링크↓ 더보기 패스워드에 'or 1=1#을 사용해도 id가 admin으로 우회되지 않는다. 따라서 주석을 이용해 쿼리문에서 패스워드에 대한 쿼리를 아예 무시해버리는 방법을 택한다. 여기서 주의해야 될 점이 있다. 바로 주석을 파라미터로 받아오는 값을 싱글쿼터를 닫고 사용해야한다는 점이다. (id='admin'#') 이런식으로 말이다. 싱글쿼터를 닫지 않고 실행한 결과를 확인해보도록 하겠다. 아무런 반응도 일어나지 않는다. #을 문자열로 취급해버리기 때문에 주석의 기능을 하지 못하게 된다. 그러면 파라미터로 받아오는 문자열을 닫고 주석을 사용해보자. Cobolt Clear! 바로 코드를 살펴..
[Lord Of SQL injection] LOS 1단계 - Gremlin 코드 분석 및 문제풀이 최근에 LOS라는 것을 하루에 한 문제씩 풀기 시작했다. LOS란 Lord Of SQL injection의 약자로 SQL injection에 초점을 둔 wargame 사이트다. LOS링크 : https://los.eagle-jump.org/ 1단계는 Gremlin이다. ↓답 보기 링크 더보기 기본적으로 ?를 이용해 GET방식 파라미터들을 받아온다. 'or 1=1은 SQL Injection에서 가장 기본이 되는 인증 우회 방법이라고 할 수 있다. '을 사용해 쿼리문을 닫아주고 OR논리 연산을 진행한다. OR논리 연산자는 AND논리 연산자보다 우선순위가 빨라 먼저 실행된다. 그다음 쿼리결과를 항상 참으로 만들고 기존 코드의 뒷부분을 주석을 이용해 주석 처리한다. 이 문제에서는 MySQL을 사용하였으므로 My..