보안

보안/LOS

[LOS] giant

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 앞서 푼 문제들이랑은 다른 쿼리문으로 되어있다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if($result[1234]) solve("giant"); 공백, \n, \r, \t 에 대한 필터링이 걸려있고, 앞선 문제들과 다르게 from과 prob_giant 라는 테이블에서 1234가 조회될 수 있도록 만드는 문제로 보인다. 또한, strlen 함수로 길이에 대해서도 우회해야할 것이다. 결국 공백을 우회해야하는 문제인데, 앞서서 공부했던 내용들과 마찬가지로 공백문자를 우회하는 방법으로는 다음과 같다. (rubiya님 참고: https://www.hackerschool.org/Sub_Html/HS_Posting/?uid=..

보안/LOS

[LOS] bugbear

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 이전처럼 필터링이 걸려있는 문제는 맞는데, 필터링 문자열이 한 2배로 늘어난거 같은데요..? ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("bugbear"); 이번에도 pw를 알아내야하는 문제로 이전 문제들과 동일하게 Blind Sql Injection을 시도하면 될 것 같다. 문제는 이전과 다르게 싱글쿼터, substr, ascii, =, or, and, 공백, like, 0x를 필터링 하는 것을 확인할 수 있는데 이전 문제와 동일한 페이로드에서 앞서 필터링 걸려있는 문자열들만 조금 수정해서 페이로드를 수정하면 될..

보안/LOS

[LOS] darknight

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 이번에는 싱글쿼터, substr, ascii, =에 대한 필터링이 걸려있다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("darkknight"); 이전 문제와 동일한 것 같지만, 싱글쿼터가 필터링 되어있고 전에 사용하던 ascii를 사용하지 못하는 상태이다. 1) ascii 필터링을 우회하기 위해서 같은 기능을 하는 ord 함수를 사용한다. 2) 싱글쿼터 필터링을 우회하기 위해서 더블쿼터를 사용한다. 3) = 필터링을 우회하기 위해서 like를 사용한다. 4) substr 필터링을 우회하기 위해서 mid 함수 사용..

보안/LOS

[LOS] golem

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 이번에는 or, and, substr, =에 대한 문자열을 막고 있다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("golem"); orc, orge 문제와 동일하게 블라인드 인젝션을 진행하는 문제로 보이는데, 문제는 or, and, substr, =에 대해서 검사를 진행하고 있다는 것이다. 그렇다면 위에 나온 문자열 필터링을 우회하면서 페이로드를 작성하고, 작성한 페이로드를 스크립트로 작성해서 pw를 알아내야 할 것이다. 여기서도 주의해야할 것은 우리는 admin에 대한 pw를 알아내야 한다. ' || id = ..

보안/LOS

[LOS] skeleton

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 이번에는 우회를 해야하는 기법은 없지만, 쿼리 구문을 제대로 해석해야하는 문제로 보인다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if($result['id'] == 'admin') solve("skeleton"); 동일하게 id 값이 admin이여야하는데, 특이한 것은 이미 뒤에 새롭게 추가된 구문까지 고려해서 페이로드를 작성해야한다는 것이다. 그런데 뒤에 나오는 구문을 생각할 필요가 없는 것이 어차피 pw 안에 $_GET[pw]를 받고 있기 때문에 우리가 원하는 구문을 삽입하고 뒤에는 주석 처리를 하면 된다. 지금까지 해왔던 것처럼 코드를 작성해보자. ' or id='admin' and 1

보안/LOS

[LOS] vampire

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 이번에는 strtolower 라는 함수와 str_replace 함수가 존재하고 이를 우회해야하는 문제로 보인다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if($result['id'] == 'admin') solve("vampire"); 이전 문제와 동일하게 id 값이 admin이면 되는데, 문제는 새로운 함수들이 추가된 것이다. 해당 함수들을 php 공식 문서에서 확인해보자. https://www.php.net/manual/en/function.strtolower.php

dDong2
'보안' 카테고리의 글 목록 (6 Page)