$ 웹 해킹 $
-
[Lord of SQL_injection] #15 assassin$ 웹 해킹 $/los.rubiya.kr 2019. 4. 5. 19:18
벌써.. 3번째줄 마지막 문제 입니다!! 조금만더 화이팅 하시면 All Clear를 할수 있습니다. 문제를 보면 다음과 같습니다. like로 되어있는 것을 보니 %나 _를 이용하면 우회를 할수 있습니다. 또한 싱글쿼터인 ' 가 필터링 되기 때문에 id에 값을 넣을수가 없습니다. 그렇다는 것은 pw 필드만을 보고 비교해야 합니다. 아래에서 2번째 문장을 보면 id의 값이 admin이 되어야하는것으로 보아 입력한 pw의 값이 admin의 pw면 clear! 되는것 같습니다. ?pw=1% 2% 3% 이와같이 입력을 해보면.. Hello guest가 뜬것으로보아 admin과 guest에 같은 pw가 있나 봅니다. ?pw=902%
-
[Lord of SQL_injection] #13 bugbear$ 웹 해킹 $/los.rubiya.kr 2019. 4. 5. 19:17
이번문제는 blind sql injection 문제 입니다. 필터링 문자열이 단계면 단계마다 많아지 는것 같습니다... pw에는 ' 가 필터링 되고, no에는 ' , substr , ascii , = , or , and , 공백 , like , 0x 를 필터링 시킵니다. 저번 blind에서 사용한 like와 0x전부를 못쓰게 하네요... 이번 문제의 필터링을 우회할수 있는 문자열을 찾아 봅시다.! ?no=0||id%0ain%0a("admin") ' 은 "로 우회하고 =과 like는 in으로 우회했습니다. 그렇다면 이제 pw의 길이와 값을 알아내는 코드를 작성해 봅시다! 실행 결과 :
-
[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 이다. 그래서 우회가 가능한 것이다.