풀이

보안/LOS

[LOS] blue_dragon

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 여러 필터링이 걸려있는 모습이다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("blue_dragon"); 패스워드를 찾아야하는 문제로 보이고, id와 pw 값에 싱글쿼터와 백슬래쉬에 대한 필터링이 걸려있는 것으로 보인다. ???? 아무 생각없이 guest, guest 집어넣었는데 갑자기 일치했다.. 이걸 노리고 한게 아닌데,, 패스워드는 복잡하게 만들것,, 아무튼 앞서서 푼 문제들 중에서 해결할만한 방법이 쉽게 떠오르지 않아서 여러 sql injection 페이로드를 찾아보던 중 sleep을 활용한 time bas..

보안/LOS

[LOS] red_dragon

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 주석으로 컬럼명을 확인하라는 내용도 달려있다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if($result['no'] === $_GET['no']) solve("red_dragon"); no라는 것은 예상으로는 번호를 의미하는 것 같다. 번호가 일치하게 되면 즉, admin 번호를 입력하면 문제가 풀리게 된다. strlen 함수로 id 길이가 7 이상이면 exit 구문이 실행되므로 참고하도록 한다. 간단하게 id에 guest를 넣으면 아무것도 뜨지 않는다. no의 번호와 일치하지 않기 때문일 것이다. guest' #을 넣게 되면 strlen 함수에 걸리게 된다. 이전 문제에서 시도했던 union select 1, 2 ..

보안/LOS

[LOS] green_dragon

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 이전 order by에서 벗어나 이번에는 예전 문제들과 비슷하게 보인다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if($result['id'] == "admin") solve("green_dragon"); 코드는 다음처럼 간단하지만, 예전 문제들과 다르게 코드의 양이 증가하였고 그만큼 복잡성도 올라간 것으로 보인다. 1) 일단 필터링에 온점, 싱글쿼터, 더블쿼터가 걸려있다. 2) id 결과가 존재하면, if문 내의 query2로 동작하게 된다. id와 pw를 둘 다 입력받을 수 있을때 사용할 수 있는 우회가 존재한다. 일단 어떠한 것이든 시도해보자. 이전 succubus 문제처럼 역슬래쉬를 활용해서 id 내 값을 문..

보안/LOS

[LOS] evil_wizard

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 겉보기에는 비슷한데, hell_fire 문제랑 같겠냐고 약올리고 있다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if(($result['email']) && ($result['email'] === $_GET['email'])) solve("evil_wizard"); 이전 문제와 비슷한 것 같지만, 필터링에 추가된 것들이 있고 진짜로 같겠냐라면서 문제에서 약올리고 있다. 하지만 필터링에 걸릴만한 것은 이전 코드에서도 사용하지 않았기 때문에 한번 그대로 시도해보자. 잘 삽입이 되는 것으로 보이고, 이번에는 admin의 score가 200에서 50으로 줄은것으로 보인다. 한번 이메일의 길이를 찾아보도록 하자. import ..

보안/LOS

[LOS] hell_fire

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 이번 문제는 조금 색다른게 테이블이 존재한다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if(($result['email']) && ($result['email'] === $_GET['email'])) solve("hell_fire"); 색다르게 email이 맞아야하는데, id가 admin이면 이메일이 노출되지 않는 것으로 보인다. 또한, order by 구문을 사용하여 order을 GET으로 받고 있는 것을 확인할 수 있다. order by 구문은 지정된 컬럼을 기준으로 정렬이 가능한데 다음처럼 score를 작성하면 점수별 정렬이 가능하다. 여기서 이제 rubiya의 이메일이 아니라, 코드 하단부에 admin의 이메..

보안/LOS

[LOS] dark_eyes

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 이번에도 패스워드를 알아내는 문제인 듯하다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("dark_eyes"); 이번에는 이전에 사용했던 페이로드는 사용하지 못하는 것이, if에 대한 필터링이 걸려있고 이외에도 col, case, whe, sleep, benchmark에 대한 문자열 필터링이 걸려있다. 그리고 친절하게 db 에러를 출력해주지 않고, 아무것도 출력해주지 않는 상태로 exit를 내보낸다. 위에는 사진인데, 싱글쿼터만 보내면 해당 응답받는 텍스트가 아무것도 없이 exit() 코드가 실행된 모습이다. if..

dDong2
'풀이' 태그의 글 목록 (16 Page)