이제는 참 이상한 문제가 나오네..


일단은 6문자 안에 끝을 내어야한다..

그래서 저 괄호를 닫고 뒤를 참으로 만들어 주면 될것 같다는 느낌이 들었다.


그래서 일단은 pw=');%00 으로 앞의 괄호를 닫고 뒤를 주석처리 하는것 까지는 생각해내었다


그런데 참값인 1을 넣어도 도무지 풀리지않았다...


그래서 인터넷을 찾아본 결과 

"ABC"=1은 거짓이지만

"ABC"=0은 참이라고 한다

SQL에서 임의의 문자열을 나타내는 역할이기 때문이란다!

그래서 =0을 해본결과 

악몽도 클리어!!!



'WebHacking > Lord Of Sqlinjection' 카테고리의 다른 글

LOS 22번  (0) 2018.01.22
LOS 20번  (0) 2017.08.28
LOS 17번  (0) 2017.08.27
LOS 16번  (0) 2017.08.27
LOS 15번  (0) 2017.08.25

이제는 뭐 preg_match로 다 막아놔서 쓸수있는게 거의 없다..

뭐 이것저것 넣어봐도 알수있는게 없어서 힌트를 보았다.

'\'를 써서 푼다는 것이었는데

이것에 대하여 좀더 조사해본결과 \'가 되면서 특수문자가 일반문자가 되고 그렇게 됨으로서 pw의 앞의 싱글쿼터가 id='의 뒷 쿼터가 될수있다!

그렇게 된다면 pw는 틈이 생기고 그 사이로 집어 넣고 주석으로 닫으면 될 것 같았다.

이런식으로 막아주고

서큐버스도 클리어!

갈수록 혼자서는 풀기 힘들어진다!


'WebHacking > Lord Of Sqlinjection' 카테고리의 다른 글

LOS 20번  (0) 2017.08.28
LOS 18번  (0) 2017.08.27
LOS 16번  (0) 2017.08.27
LOS 15번  (0) 2017.08.25
LOS 14번  (0) 2017.08.22

이번에는 문제에 걸려있는 블락이 또 다른형태인 ereg로 나와있다.

다른 것들은 preg_match 인 반면 ' 만 ereg로 봐서는 ereg를 뚫어야 할 것 같다.

역시 그냥 ' 으로는 뚫리지 않는다.

그래서 ereg를 우회하는 방법을 찾아본 결과;

PHP5.2+에서는 ereg에가 무난하게 블락해주지만

PHP5.3+부터는 %00인 NULL값을 앞에 붙여준 형태로

id=%00' 을 해주면 블락하지 못하는 것을 알수있다!!

PHP5.3+부터는 POSIX Regex함수를 사용하지 않는다고 한다.



그리하여 pw=%00' 으로 해 놓고 id 길이를 넣어보던 중 length(id)=5를 치자 뚫렸다!

좀비어쌔신도 클리어!


'WebHacking > Lord Of Sqlinjection' 카테고리의 다른 글

LOS 18번  (0) 2017.08.27
LOS 17번  (0) 2017.08.27
LOS 15번  (0) 2017.08.25
LOS 14번  (0) 2017.08.22
LOS 13번  (0) 2017.08.22


이제는 문제의 유형이 많이 바뀌어 버렸다.

이것저것 넣어보았지만 못찾던 차에 인터넷을 뒤지던중 % 는 정규식에서 임의의 문자가 0번 이상 반복된다는 것을 의미한다는 정보를 얻었다.

일단 먼저 %를 넣어보았더니 익숙한 ' Hello guest'를 얻었다!

그렇게 하나하나 넣어보니 8에서 하나 걸렸고

그다음은 3

그다음은 2에서 걸려 '832'로 풀렸다!!!


새로운 방법으로 어쌔신 클리어!


'WebHacking > Lord Of Sqlinjection' 카테고리의 다른 글

LOS 17번  (0) 2017.08.27
LOS 16번  (0) 2017.08.27
LOS 14번  (0) 2017.08.22
LOS 13번  (0) 2017.08.22
LOS 12번  (0) 2017.08.17

우선 처음 이 문제를 보고는 처음보는 유형의 문제이기에 당황했다!

그래서 shit을 채워주기는 해야할거같아서 이것저것 넣어보다가

우선 shit은 길이가 1이상이면 안되고 \n,\r,\t이면 필터링이 된다는 것은 알았다.

하지만 그것이 문제를 푸는 확실한 것인지는 모르겠어서

인터넷을 찾아보았다.


힌트는 공백을 넣어주는 것이었다.

하지만 내가 아는 space를 대신 할 것들은

/**/ , %0a, %0d, (), %09 였는데 하다고 되질 않았다.

그래서 더 찾아보니 알던 것 말고도

%0b, %0c, %a0, %0a가 있었다!

그래서 %0c를 넣어보니 

14번 클리어!


'WebHacking > Lord Of Sqlinjection' 카테고리의 다른 글

LOS 16번  (0) 2017.08.27
LOS 15번  (0) 2017.08.25
LOS 13번  (0) 2017.08.22
LOS 12번  (0) 2017.08.17
LOS 11번  (0) 2017.08.17

13번 문제이다.

일단은 너무 많은 것들이 잠겨있어서 당황했다

우선 .,\,(),공백,substr,ascii,or,and.....

그래서 우선

space -> /**/

or -> ||

like -> in()

으로 바꾸어 길이를 알아내었다.

이때까지와 같게 길이는 8이었다!

그 후 그냥 mid를 시도했더니 guest로 나왔고 이 문제는 id에 admin을 넣어줘야 한다는것을 알았다

그래서 id는 in 으로 admin을 넣어주고 mid()와 함께 pw의 첫 글자를 알아보니 7이었다.


이것들을 이용해 파이썬으로 코드를 짜보았다


그러니 pw를 알아낼수있었다!


13번도 클리어!


'WebHacking > Lord Of Sqlinjection' 카테고리의 다른 글

LOS 15번  (0) 2017.08.25
LOS 14번  (0) 2017.08.22
LOS 12번  (0) 2017.08.17
LOS 11번  (0) 2017.08.17
LOS 10번  (0) 2017.08.15

일단 문제는 우리가 이제는 익숙한 BLIND SQL INJECTION이라는 것을 알수있다!

하지만 우리는 애석하게도 substr함수가 막혀있는것을 알수있고 그래서 다른 함수를 찾던 중 mid()함수를 알게 되었다!

우선 길이체크를 해보니 length는 8인것을 알수있었다~!!!



그리고 mid함수를 시험해볼겸 1을 넣어봤는데 첫자리가 1이었다!!1

이때까지 예감이 좋았다

그런데 어째서인지 2번째 자리가 1부터 z까지를 넣어봐도 어느것하나 맞는것이 없었다!

심지어 특수문자를 넣어봐도 말이다......

그렇게 한참을 시간을 보내던 중

비교하는 문자의 앞뒤로 ""를 해 주었더니 짜자잔 성공하는것을 볼수있었다~~~!!!!!!!!!!!!!









그 후는 그 전에 써왔던 blind sql때 썼던 코드에 접목시켜 돌려보았더니 pw가 나왔다~!!



역시 그 pw값을 넣어보니 정답이 나왔다

다크나이트도 클리어~!!!


'WebHacking > Lord Of Sqlinjection' 카테고리의 다른 글

LOS 14번  (0) 2017.08.22
LOS 13번  (0) 2017.08.22
LOS 11번  (0) 2017.08.17
LOS 10번  (0) 2017.08.15
LOS 9번  (0) 2017.08.15

골렘문제는 /,. ,substr,or,and가 막혀있다!

그래서 찾아보던중 = 는 like로 대처할수 있다는 것을 알았다!

그래서 "length(pw)%20like%20 "으로 여러번 시도한 결과 길이는 8이라는 결과가 나왔다!!



그래서 그 코드를 이전 파이선으로 만든 코드에서 phpsessid와 주소값과 코드를 수정해보았다.

암호문을 알아낼 때에는 substr 함수 대신 substring 함수를 써서 우회하였다!

그 결과 우리는 값을 얻어내었다!

골렘도 클리어~!!!!



'WebHacking > Lord Of Sqlinjection' 카테고리의 다른 글

LOS 13번  (0) 2017.08.22
LOS 12번  (0) 2017.08.17
LOS 10번  (0) 2017.08.15
LOS 9번  (0) 2017.08.15
LOS 8번  (0) 2017.08.14

+ Recent posts