Wargame/Lord of SQLInjection
-
[LOS] giantWargame/Lord of SQLInjection 2019. 7. 5. 04:01
[giant] https://los.rubiya.kr/chall/giant_18a08c3be1d1753de0cb157703f75a5e.php 공백(%20), \n(%0a), \r(%0d), \t(%09)가 필터링되어 있고, shit의 길이가 1보다 길면 안된다. 간단히 shit의 값으로 공백을 주면 풀리는 문제이다. [ 공백 우회 ] %0a, %0b, %0c, %0d, %09, (), /**/, + ()와 /**/는 길이가 1보다 길기 때문에 +, %0b, %0c를 이용해 보았다. 1. + 그냥 공백(%20)문자와 같은 값으로 인식되어 필터링된다. 2. %0b (vertical tab) 3. %0c (Np form feed, new page)
-
[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..