Wargame
-
[LOS] bugbearWargame/Lord of SQLInjection 2019. 7. 5. 03:47
[bugbear] https://los.rubiya.kr/chall/bugbear_19ebf8c8106a5323825b5dfa1b07ac1f.php 필터링되는 항목이 많아졌다...;; like도,, =도 사용할 수 없다. like, = 필터링 우회 방법과 문자열 함수를 찾아보았다. [ 우회 방법 ] , between, in, instr, regexp regexp는 like와 비슷하게 사용되며, 와일드 카드 대신 정규식을 이용해 비교한다. (정규식 시작 : ^, 끝 : $) [ 문자열 검색 함수 ] locate(‘a’,’abc’) position(‘a’,’abc’) position(‘a’ IN ‘abc’) instr(‘abc’,’a’) substring_index('ab','b',1) [ 문자열 비교 함수..
-
[LOS] darkknightWargame/Lord of SQLInjection 2019. 7. 5. 02:29
[darkknight] https://los.rubiya.kr/chall/darkknight_5cfbc71e68e09f1b039a8204d1a81456.php admin의 pw를 알아내는 Blind SQL Injection 문제이다. no의 값이 Injection point이다. [ ' 우회 ] ", `, hex, binary, char() [ ascii() 우회 ] ord() ?no=0 or true ?no=0 or length(pw) like 8 ?no=0 or id like "admin" and true로 해야하는 줄 알았으나, length(pw)=8을 해보면 'Hello admin'이 출력된다. 데이터베이스에 guest의 no가 높아 true 일때는 guest가 출력되는 것 같고, admin의 p..
-
[LOS] golemWargame/Lord of SQLInjection 2019. 7. 5. 01:53
[golem] https://los.rubiya.kr/chall/golem_4b5202cfedd8160e73124b5234235ef5.php admin의 pw를 알아내는 Blind SQL Injection 문제이다. or, and, substr(, =이 필터링되어 있다. [ = 우회 ] like, between [ substr 우회 ] right, left, mid 우선 쿼리문을 참으로 만들어주었을때 페이지에 어떤 값이 출력되는지 보았다. ?pw='||true%23 쿼리문이 참이면 'Hello guest'가 출력된다. admin의 pw를 찾아야 하기 때문에 'Hello admin'이 출력되게 해서 찾아야 한다. ?pw='||id like 'admin'%26%26true%23 이제 true가 되면 Hell..
-
[LOS] vampireWargame/Lord of SQLInjection 2019. 7. 5. 00:47
[vampire] https://los.rubiya.kr/chall/vampire_e3f1ef853da067db37f342f3a1881156.php '가 필터링되어 있고, 입력한 id 값을 소문자로 바꾸어준 후 admin을 공백으로 치환한다. 쿼리의 결과로 나온 id의 값이 admin이어야 문제가 풀린다. admin을 공백으로 치환해주는 점을 이용하여 우회하면 될 것 같다. adadminmin 가운데의 admin이 공백이 되면서 남는 값은 admin이 된다. ?id=adadminmin