[LOS]13번 bugbear 버그베어? 뭐하는 친구인지 알아보자 필터링이 또 많아졌다... 하지만 걱정할 필요는 없는것 같다. 그동안 풀었던 문제들의 짬뽕이랄까? 12번 문제에서 풀었던 답은 이미 이번 문제에서 필터링하는 대부분의 문자를 건너뛴 상태이다 공백과 연산자만 우회하면 되는데 응? 코드를 잘보니 굳이 공백을 넣어주지 않아도 되는 해답이다!! 공백을 지우고 연산자는 기호를 통해 표현한 코드는 아래와 같다. 1234567891011121314import requests URL = 'http://los.eagle-jump.org/bugbear_431917ddc1dec75b4d65a23bd39689f8.php'head={ 'cookie' : 'PHPSESSID=r3qj7; __cfduid=d4373' } for j in range.. Wargame/LOS(eagle-jump) 2017. 8. 2. 19:14
[LOS]12번 darkknight 이번에는 다크나이트가 등장했다 얼마나 대단한 놈인지 소스코드를 보자 ㄱ...그...강력하다! 그래도 침착하게 풀어보자 하단부를 보니 비밀번호를 알아내야지만 풀어낼 수 있음을 알 수 있다. 다행히 no에 쿼터가 없는걸 보니 변수 no를 이용해 푸는 문제인것 같다. no를 이용해 인증해보자 등호가 필터링되어서 할일이 더 늘게된것 같다. guest가 첫번째로 등록된 사용자임을 알 수 있다. 숫자를 늘려가며 admin을 찾아보자 guest는 no=1admin은 no가 1보다 큼을 알 수 있다. 여기까지 참이므로 참 거짓을 이용해서 문제를 풀어보자 패스워드의 길이는 7에서 참 8에서 거짓이므로 8이된다. 비밀번호 길이가 아주 착하다 하지만 여러모로 귀차니즘이 발생하니 더이상 직접 노가다는 하지 말자 코딩을 하자!.. Wargame/LOS(eagle-jump) 2017. 8. 2. 18:48
[LOS]11번 golem 골렘을 물리치러 가자 소스를 보면 하단부는 GET으로 받아온 pw와 DB에서 받아온 pw를 비교를 하기 때문에 pw를 알아내야 한다 우선 코드의 상단부에서 Hello admin 을 띄우기 위해 쿼리를 참으로 만들어보자 중요한 여러 단어들이 필터링 되어있기 때문에 등호(=)를 못써서 like를 이용했다. 등호가 없으니 불편하긴 하지만 패스워드 길이가 8임을 알 수 있었다. substr( 이 필터링되어있기 때문에 substring함수를 이용해서 한글자씩 알아내면 아래와 같이 비밀번호를 입력해서 문제를 풀어낼 수 있다. Wargame/LOS(eagle-jump) 2017. 8. 1. 17:00
[LOS]10번 skeleton 강렬한 용사 스케레톤이 기다리고 있다. 따라가보자 코드를 보면 DB에서 나온 id가 admin이면 문제가 풀린다. 그러나 guest가 고정이 되어있으므로 or를 통해서 거짓처리를 해주어야 한다. 그러나 뒷부분에 1=0이라는 거짓조건이 존재하기 때문에 양쪽이 참이 되는것은 힘들다. 이를 해결하기 위해서 mysql 주석을 이용해서 뒤를 제거해주면 된다. 주석의 끝에는 꼭 공백이 필요하니 url인코딩으로 공백(%20)을 넣어주어야한다. Wargame/LOS(eagle-jump) 2017. 8. 1. 16:28
[LOS]9번 vampire 이번 문제는 무서운 뱀파이어가 기다리고 있었다....ㅠㅠ 심장의 건강을 위해 간단한 편집을 진행했다. 무시무시했던것만큼 어마무시한 속도로 빨리 풀었다. 한....15초? str_replace로 admin을 필터링하고있다. adadminmin 이렇게 필터를 이용하여 우회가 가능하다. Wargame/LOS(eagle-jump) 2017. 8. 1. 16:22
[LOS]8번 troll 이름만 들어봤던 트롤이다. 이렇게 보니 등치가 좀 있네.. DB에서 나온 id가 admin이면 풀린다! 그러나 eregi로 admin을 필터링하고 있기 때문에 곤란하다. 다른 문법도 쓰지 못하도록 콜론도 필터링 되어있는 상태이다. 음... 그런데 대문자는 판별하지 않는것을보니 대문자로 하면 우회가 가능할것 같다. 클리어~ Wargame/LOS(eagle-jump) 2017. 8. 1. 16:11
[LOS]7번 orge 오거오거! 가자 이번에도 GET으로 들어온 pw와 DB에서 나온 pw를 비교하는 구문을 통해 문제답을 열어준다. 즉, 노가다.... 비교하는 부분이 상단과 하단으로 나누어져 있다. 하단은 답을 열어주는 키라고 볼 수 있고 상단부분은 참거짓을 통해 비밀번호를 알아낼 수 있을것 같다. 참참참! 기본적으로 비밀번호의 길이부터 알아야한다 8글자... 무난하다 뚝.딱 Wargame/LOS(eagle-jump) 2017. 8. 1. 15:39
[LOS]6번 darkelf 다크엘프 클릭! 이번문제에서 필터식을 보면 or와 and가 필터링되어있음을 알 수 있다 즉, and와 or가 필터링 되어있을 때 어떻게 우회하느냐가 문제인것 같다. 어렵지 않다 and는 &&와 or는 ||와 같은말이다. Wargame/LOS(eagle-jump) 2017. 8. 1. 08:54