php

보안/LOS

[LOS] succubus

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if($result['id']) solve("succubus"); id만 존재하면 간단하게 풀리는 것으로 보이는데, id와 pw에 각각 싱글쿼터에 대한 필터링이 걸려있다. 그런데, 어디서 많이 본 구문이라고 생각이 들었다. 이전 문제에서 참고한 글 중에 해당 하는 내용과 비슷한? 동일한? 페이로드로 되어있는 것이다. 제한적인 구문 안에서 사용이 가능한데, 한번 바로 시도해보도록 하자. id=\&pw= or 1 # 다음 구문을 GET 방식으로 파라미터에 넣어주게 되면, 쉽고 빠르게 풀 수 있게 된다. 해당 페이로드는 싱글 쿼터를 우회하는 내용으로 백슬래쉬 \ 를 id 인자로 넘겨..

보안/LOS

[LOS] assassin

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. pw에 간단하게 싱글쿼터 필터링이 걸려있는 듯하다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if($result['id'] == 'admin') solve("assassin"); 간단하게 admin 값을 넣어주면 풀리는 문제인데, 싱글쿼터가 필터링으로 걸려있고 해당 구문에서는 = 연산자와 동일하게 적용되는 like 구문을 이용하고 있다. 즉, where pw='{$_GET[pw]}' 와 동일하다고 생각하면 된다. 그러면 지금까지 해왔던 문제들과 똑같지 않은가! 라고 생각하기에는 싱글쿼터 필터링이 있기 때문에 우리가 조작하려고 하는 페이로드가 먹히지 않게 된다. 그렇다면 어떻게 해야할까? 이전 문제와 동일한 참고 글을 ..

보안/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 = ..

dDong2
'php' 태그의 글 목록 (4 Page)