본문 바로가기
  • True knowledge exists in knowing that you know nothing. -Socrates-

Study/los14

giant 이번 문제는 공백을 어떻게 우회하는지에 대한 문제입니다. 저한테는 재미있는 문제여서 기억에 많이 남습니다. 1글자로 공백을 우회해야 합니다. 아래는 아스키코드표에 있는 일부분 입니다. 파란색으로 표시된 부분은 공백을 나타내는 아스키 코드입니다. 즉 우리가 and를 우회하기 위해 &(%26)을 사용하는 것과 같이 사용하는 거라고 보시면 됩니다. 이번 문제에서는 %0b와 %0c로 공백을 우회 할 수 있었습니다. 2017. 4. 30.
los bugbear los bugbear 풀이를 하겠습니다. 일단 소스코드는 아래와 같습니다. 인자값으로는 pw 와 no 두개가 있는데요일단 pw 에는 싱글쿼터를 필터링 해서 pw를 이용하여 injection을 하는 것을 불가능 할 것 같습니다. no도 싱글쿼터를 필터링 해서 pw에 \로 우회 시킨다고 해도 싱글쿼터를 사용하지 못하므로 최종적으로 pw는 사용하지 못합니다. 그러면 no를 이용하여 injection을 해야합니다. or and 는 || 와 %26(&)으로 우회를 하면 됩니다.공백도 필터링이 걸려있습니다. 그러면 %0a~%0d 를 이용해서 우회를 해도 되고 /**/를 이용해서 우회 해도 됩니다. substr을 막아 놨네요마지막 if문을 보면 blind입니다. 비밀번호를 알아내야하므로 left,right를 이용하여.. 2017. 4. 30.
los darkknight los darkknight 풀이 필터를 보면은 일단 pw 와 id 에는 싱글 쿼터를 사용하지 못합니다. 그러므로 쉽게 no 에서 injection을 수행 할 것입니다. no의 필터링을 보면 싱글쿼터가 필터링 되어 있지만. "을 사용하여 싱글 쿼터를 대신 할 수 있습니다. 블라인드 인젝션이므로 like를 사용 하겠습니다.like 에 대한 설명은 golem 글에서 적어 놨습니다. 예를 들어 no= 1 or id like "admin" and pw like "1%" 비밀번호의 글자의 길이는 8입니다. python 으로 간단하게 툴을 짜서 쉽게 비밀번호를 추출 할 수 있습니다.이번 경우에는 비밀번호가 숫자와 영어의 조합입니다. 그러므로 손으로 직접 해도 상관 없습니다. python3 입니다.제가 직접 작성한거라.. 2017. 3. 17.
los golem GOLEM 풀이 입니다. 쿼리를 보면 pw 에 = 와 or and substr 필터링이 걸려있습니다.or은 || 를 이용해서 우회 and 는 && 를 이요하면 되는데 url 에서 & 는 다른 get 을 넘길 때 사용하므로 %26으로 바꾸셔서 우회하시면 됩니다.%26은 쿼리 단으로 들어가서 mysql 에서 핵스를 자동적으로 해석 하기 때문에 상관 없습니다. ?pw=1' || id like 'admin' # ?pw=1' || id like 'admin' %26%26 pw like '8%' # like 함수를 이용해서 블라인드 인젝션을 수행할 것입니다.like 함수는 특별하게 정규식이 사용 가능합니다. 예를 들면 pw like '1%' 이런 식으로 사용하면 pw 에서 1글자만 비교합니다. 계속 해서 '1a%'.. 2017. 3. 17.
los SKELETON los 10번 (SKELETION) 풀이 뒤에 쿼리가 ' and 1=0이 붙어 있습니다. 하지만 %23 (#)이 필터링이 되지 않는 것을 확인 할 수있습니다. 그러므로 우리는 %23 을 사용하여 뒤에 and 1=0을 주석 처리 하면 됩니다. pw=1' or id='admin' %23 이렇게 입력 해주면 해결 할 수 있습니다. 2016. 12. 18.
los vampire los 9번 (vampire) 풀이 8번과 매우 유사한 문제입니다. 이번에는 소문자 admin 이라는 단어가 나오면 ""로 치환해줍니다. 소문자 admin 만 필터링 하므로 아래와 같이 Admin 이라던가ADMIN 으로 우회 해주시면 됩니다. (대문자가 되는 이유는 php 단에서는 admin 과 Admin을 다르게 인식하지만 db 단에서는 동일한 단어로 인식하기 때문입니다.) ------------------------수정----------------------------- 위에서 설명한 내용은 str_replace라는 함수도 대소문자를 구분하기 때문에 admin과 Admin을 다른 문자로 해석합니다. 하지만 db 단으로 들어가면 동일한 문자로 인식하기 때문에 가능한 방법이었습니다. 추가할 내용은 str.. 2016. 12. 18.