$ 웹 해킹 $/los.rubiya.kr
-
[Lord of SQL_injection] #12 darkknight$ 웹 해킹 $/los.rubiya.kr 2019. 4. 5. 19:16
이번문제는 blind sql injection 문제인데... 11번 문제였던 golem문제 에서의 필터링과 매우 비슷합니다. 하지만 더 추가된 것 같습니다. pw 에서의 필터링은 ' 인것 같습니다. no 에서의 필터링은.. ' , substr , ascil, = 인것 같습니다. ?no=0 or id like 0x61646d696e 위의 문자열을 get방식으로 전송하면서 blind sql injection 코드를 작성해 보겠습니다. ascii 함수가 안된다면 ord 함수로 우회하시면 됩니다.! password를 입력해 보겠습니다.
-
[Lord of SQL_injection] #11 golem$ 웹 해킹 $/los.rubiya.kr 2019. 4. 5. 19:15
이번 문제는 blind sql injection문제 인것 같은데 필터링이 좀더 추가 됬다.. or 와 and는 저번 문제에서 ||(%7c%7c) 와 &&(%26%26)으로 우회해서 입력을 했었지만 이번에는 substr함수와 = 이 추가로 필터링 되는것 같다. ?pw=' || id like 'admin = 을 우회 할수 있는 like를 이용해서 일단 id의 값을 admin으로 설정했다. 그이후에 blind sql injection을 하면 될것 같다. = 는 like로 substr은 mid함수로 우회했습니다. mid(변수명, 인덱스위치, 위치로부터문자갯수) 형식으로 쓰이기 때문에 mid(pw, {}, 1)로 고정해두면 1자리씩 비교하는데 인덱스 위치만 for 문을 이용해서 바꿔주면 편하게 쓸수 있습니다.! ..
-
[Lord of SQL_injection] #10 skeleton$ 웹 해킹 $/los.rubiya.kr 2019. 4. 5. 19:12
이문제를 보면서.. 이 CTF를 소개해준 친한 형의 말이 떠올랐다. los를 전부 다 풀면 sql injection을 잘하게 될거야! 그럴수 밖에 없는거 같다 ㅋㅋㅋ 그냥 모든 경우의 필터링이 하나씩 추가되는 모습이다.. 과연 맨 마지막 문제엔 얼마나 무시무시한 문제가 기다리고 있을까 떨리고 변태스럽게 설레기도 한다 ㅋㅋ 이번 문제는 id의 값을 admin을 만들어야 하는데 and 뒤에 있는 1=0의 False 값을 우회 해야한다. ?pw=' or id='admin' or '1=1 일단 and 1=0를 우회하기 위해서는 앞에 or 1=1를 이용해서 그냥 or 뒤를 거짓으로 만들 생각을 했다. 그렇게 나온 결과가 or '1=1 이것이였다. 그리고 id의 값이 admin이여야 하기 때문에 ?pw=' or i..
-
[Lord of SQL_injection] #9 vampire$ 웹 해킹 $/los.rubiya.kr 2019. 4. 5. 19:10
8번문제와 비교를 해봤을때 8번에서 언급한 대소문자 차이로 인한 우회법은 통하지 않을 것 같다.. strtolower로 인해서 모두 소문자가 되기 때문이다. 하지만 어디에나 취약점이 있는법 이번에 필터링 하는 함수명은 str_replace이다. 그렇다는 것은 admin 만 공백으로 치환한다는 것이기 때문에 다음과 같이 우회할수 있다. ?id=adadminmin 이다. 그 이유는 한 문자열당 필터링이 1번만 된다는것을 이용하는 것이다. adadminmin에서 필터링이 완료된 문자열은 가운데 admin을 제외한 겉부분의 admin 이다. 그래서 우회가 가능한 것이다.
-
[Lord of SQL_injection] #7 orge$ 웹 해킹 $/los.rubiya.kr 2019. 4. 5. 19:07
이문제는 전에 나왔던 blind sql injection보다 좀더 난이도가 높아 보인다... 저번에는 pw만 구하면 됬었지만 해당문제에서는 여러가지의 조건을 던진다. or 와 and가 필터링 되어있다. id의 값이 admin이 아닌 guest로 고정되어있다. 그렇가면... 일단 pw를 구하는 것은 소스코드 아래에서 2번째 문장을 보면 저번 문제와 같이 실제 디비의 pw값을 구해야 하므로 잠시 뒤로 미루고 id의 값을 admin으로 변경 시켜 보겠습니다. ?pw=' || id='admin id의 값이 admin이 되면 Hello admin을 출력합니다. 뒤에 &&를 이용해서 참의값을 넣어주면 어떻게 되는지 확인해 보겠습니다. ?pw=' || id='admin' %26%26 '1 다행히도 Hello admi..
-
[Lord of SQL_injection] #5 wolfman$ 웹 해킹 $/los.rubiya.kr 2019. 4. 5. 19:06
wolfman 문제의 소스코드입니다. 띄어쓰기를 하지 않아야하고 필터링을 우회해야하면서도 id가 admin이여야 해결되는 문제입니다. 띄어쓰기를 우회하는 방법은 많습니다. Tab : %09 Line Feed (\n) : %0a Carrage Return (\r) : %0d 주석 : /**/ 괄호 : () 저는 \n 인 %0a를 이용해서 문제를 해결해 보겠습니다. ?pw='or%0aid='admin ?pw='or%09id='admin ?pw='or%0aid='admin ?pw='or%0did='admin ?pw='or/**/id='admin ?pw='or(id='admin')%23