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

그래서 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

일단 pw가 주가 아니라 id를 admin으로 넣어주면되는 문제이다

하지만 여기서 쓸수없는 문자는 _ , () 이다 

그래서 그냥 앞에 문제들 처럼 주석을 걸고 or을 써서 id 에 admin 을 넣어보았다

"pw=%27or%20id=%27admin%27%20--%20"

그랬더니 그냥 풀려버렸다!

9번도 무난하게 클리어!


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

LOS 12번  (0) 2017.08.17
LOS 11번  (0) 2017.08.17
LOS 9번  (0) 2017.08.15
LOS 8번  (0) 2017.08.14
LOS 7번  (0) 2017.08.13

문제 풀기에 앞서 알아보자

str_replace(1,2,3) : 3번의 문자열 중 1번 문자를 2번 문자로 바꾸어 주는 함수

따라서 admin을 id에 넣어줘야하지만 id에 admin을 넣어주면 공백으로 바뀌어 지는 문제이다

이때 admina 를 넣어보면 a 가 남는것을 알수있다

그래서 admina 에서 a admind 에서 d .....

id=adminaadmindadminmadminiadminn 를 넣어보면 완성!

8번도 클리어!

 


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

LOS 11번  (0) 2017.08.17
LOS 10번  (0) 2017.08.15
LOS 8번  (0) 2017.08.14
LOS 7번  (0) 2017.08.13
LOS 6번  (0) 2017.08.13

이 문제는 admin을 아이디에 넣을수 없고 ' 또한 쓸수 없었다!


그래서 나는 id를 찾아서 넣기위해서 length값으로 참값이 나오는지를 확인하려고 '대신 id의 값을 받으려고 시도해보았고

"를 이용해 닫아 보았지만 소용이 없었다!

그때 mysql은 대소문자를 구분 하지않지만 php는 구분한다는 사실을 알게되었고

"id = Admin"으로 이 문제를 해결했다!

troll 클리어!


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

LOS 10번  (0) 2017.08.15
LOS 9번  (0) 2017.08.15
LOS 7번  (0) 2017.08.13
LOS 6번  (0) 2017.08.13
LOS 5번  (0) 2017.08.13

일단 먼저 and와 or 가 막혀있어서 || 와 &&로 길이를 알아보려고

"pw=1' || id='admin' && length(pw)=숫자%20--%20"을 해보았는데 자꾸 &&가 안되었다


그래서 일단 ||이 되는 것을 확인하고 

"pw=' || id='admin'%20--%20"을 해 보았더니 Hello admin만 나왔다.


그런데 코드를 자세히 보니 우리는 id='admin'을 넣어주지 않아도 pw만 같다면 문제를 해결할 수 있다는 것을 알았다!!!


그래서 4번 문제에서 사용한 python코드를 sessionID와 주소를 바꾸고 뒤에 각각

"pw=1' || length(pw) = "str(i)+%23" 과 

"pw=1' || substr(pw,"str(j)+",1)'"+str(chr(i))"를 넣어서 돌려보았다

그랬더니 코드가 돌아 비밀번호를 알려주었다!!


그리하여 4번문제와 같이 알파벳을 소문자로 넣어보니 클리어메시지가 떴다.

orge 클리어!!


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

LOS 9번  (0) 2017.08.15
LOS 8번  (0) 2017.08.14
LOS 6번  (0) 2017.08.13
LOS 5번  (0) 2017.08.13
LOS 4번  (0) 2017.08.12

+ Recent posts