[Lord of SQLinjection] - dragon 비교적 쉬운편인 dragon 문제. id의 값이 admin이면 클리어 되는 문제다. 문제는 pw를 입력받기 전에 주석처리가 되어 있어서 줄을 바꿔야 한다. 줄바꿈 명령어는 %0a (* guest는 pw값이 없어서 값을 넣어 false처리를 해야한다!!) pw='%0a and pw=1 or id='admin' Wargame/Lord Of SQLinjection 2017. 2. 1. 21:36
[Lord of SQLinjection] - nightmare nightmare에서는 pw의 길이를 제한하고 있다. 일단 쿼터와 괄호를 닫아야 하기 때문에 쓸 수 있는 문자는 더 제한된다. mysql에서는 문자열을 0 취급 한다고 한다. 'abc' = 0 이라고 한다면 참으로 뜬다는 것!이걸 이용해서 pw=')=0; %00 를 입력해주면 클리어 ( ; 는 널바이트 전 까지 읽는다고 한다) Wargame/Lord Of SQLinjection 2017. 2. 1. 20:40
[Lord of SQLinjection] - succubus succubus문제 입니다. 싱글쿼터 우회를 어떻게하나만 생각하다가 .. 못풀고 있던 문제 ㅜㅜ 알아보니 답은 \. \이 나오면 뒤에 있는 모든 것을 문자로 취급한다..id에 \값을 넣으면 문자취급하다가 pw='의 싱글쿼터를 만나면서 종료되고 이후에 or문을 작성해 주면 된다. Wargame/Lord Of SQLinjection 2017. 1. 5. 16:14
[Lord of SQLinjection] - zombie assassion zombie assassin문제 입니다. 싱글쿼터가 막혀있다. 쿼터 우회법을 찾아보는중에 ereg는 앞에 NULL(%00)값이 있으면 검사를 중단하는 취약점이 있다고한다. 쿼터(%27)를 사용하기전에 %00 값을 붙여주면 문제를 클리어 할 수 있다. Wargame/Lord Of SQLinjection 2017. 1. 5. 15:55
[Lord of SQLinjection] - assassin assasin 문제입니다. 처음에 풀때는 id를 admin으로 맞추면 되는줄 알고 계속 하다가 안되길래... 고민하다가 = 대신 like를 사용하길래 검색해 봤더니 like 는 정규식을 이용해서 특정 문자를 검색할 수 있다고 한다. 방법은 select id from 테이블명 where 컬럼명 like 찾고싶은문자% ; 찾고싶은문자% 는 처음에 찾고싶은문자로 시작되는 것, %찾고싶은문자 는 마지막에 찾고싶은문자로 되어있는 것, _ _ _ _ _ (띄어쓰기 제외) 는 글자수를 찾는 것 으로 할 수 있다고 한다. 패스워드는 총 8글자이고 _ _ 의 갯수를 다르게해도 안나오는걸 보면 guest와 admin이 같은 길이인 것 같다. 사실 이 8글자를 다 찾을 필요는 없다. 초반에는 guest와 admin의 비밀번.. Wargame/Lord Of SQLinjection 2017. 1. 5. 15:39
[Lord of SQLinjection] - giant giant 문제 입니다. 코드를 보시면 $query에서 from 다음에 공백 처리가 안되어 있습니다. 공백우회에는%09, %0a, %0b, %0c, %0d, /**/ 이 있는데 글자수를 1을 넘으면 안되니 %중에서 되는걸로 고르시면 됩니다. Wargame/Lord Of SQLinjection 2017. 1. 5. 14:56
[Lord of SQLinjection] - bugbear bugbear 문제 입니다. 이젠 like 까지 막혔네요like 우회는 in()으로 할 수 있습니다. 쿼터는 " 과 같은 의미로 사용되기 때문에 "로 우회하면 됩니다. 나머지는 공백, substr, ascii, or , and... 앞에 문제들을 보면 알 수 있습니다. 입력 예시 ord함수를 사용할려고 했는데 or 문자때문에 막혀서 못하는 것 같습니다. 그래도 여기 비밀번호를 알아내는데는 큰 지장이 없습니다. Wargame/Lord Of SQLinjection 2017. 1. 4. 20:45