이 문제는 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 8번  (0) 2017.08.14
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 7번  (0) 2017.08.13
LOS 6번  (0) 2017.08.13
LOS 5번  (0) 2017.08.13
LOS 4번  (0) 2017.08.12

이 문제가 or와 and가 막혀있는 것을 알면서도 한번 시도해 보았다.

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


그랬더니 역시 막혀있었다.

그래서 or 대신 ||는 안될까하여 우연히 넣어보았더니,

뚫렸다..!!! 예상하지 못하게 풀었다

다음에 찾아보니 sql에서 ||과 &&연산자도 이용가능하다고한다

예상치 못하게 6번 clear!


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

LOS 8번  (0) 2017.08.14
LOS 7번  (0) 2017.08.13
LOS 6번  (0) 2017.08.13
LOS 5번  (0) 2017.08.13
LOS 4번  (0) 2017.08.12
LOS 3번  (0) 2017.08.08

5번문제는 스페이스바를 넣어 먼저 테스트해보니 



이렇게 공백을 허용하지 않았다.

그래서 mysql에서는 ;이 닫히기 전까지는 계속해서 연속으로 읽는 다는것을 알았다.



따라서 tab키 인%09를 삽입해 

pw=1%27%09or%09id='admin'%09--%09

를 넣어주니 WOLFMAN Clear!

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

LOS 7번  (0) 2017.08.13
LOS 6번  (0) 2017.08.13
LOS 5번  (0) 2017.08.13
LOS 4번  (0) 2017.08.12
LOS 3번  (0) 2017.08.08
LOS 2번  (0) 2017.08.08


ORC문제는 앞의 문제들에서 쓰던 방식으로는 접근이 되질않았다

그래서 노가다방식이나 파이썬의 코드로 접근해야한다는 것을 배웠다.




그리하여 파이썬 소스를 짜보았다.

소스 설명:

1. 먼저 로그인상태유지를 위해 session_ID를 현재페이지에서 edit this cookie를      알아 낸 후 소스에 넣어준다.


2. 그후 for문을 이용해 orc페이지에 length의 길이를 0부터 20까지 차례로 넣어      서 길이를 얻는다.


3. 길이를 얻었다면 그후 이중for문 안에 orc페이지에 substr()함수를 이용하여 각    자리당 값을 아스키코드값 48~126까지 차례로 넣어본다. 이때 그 값이 참이        라면 다음자리수로 넘어간다.


4. 이것을 pw의 길이까지 수행하였다면 flag변수에 담긴 pw를 출력한다!




이렇게 돌린다면 패스워드가 출력이 되었다.







하지만 대문자 D로는 완전히 풀리지않았고

소문자d를 넣어 문제를 완성시켰다!!! 

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

LOS 6번  (0) 2017.08.13
LOS 5번  (0) 2017.08.13
LOS 4번  (0) 2017.08.12
LOS 3번  (0) 2017.08.08
LOS 2번  (0) 2017.08.08
LOS 1번  (0) 2017.08.08



일단 id가 guest라고 고정이 되어있다!

그래서 일단은 비밀번호를 여러 숫자를 쳐보다가 1번을 치면 guest로 로그인이 된다는 것을 알았다!

여러 숫자를 쳐보다가 1번말고 0번과 2번을 따로 넣어보아도 안되더니 or 을 붙여서 해보니 성공이 된다. 하지만 왜그런지는 잘 모르겠다!

다른사람의 답을 찾아보니 이 방법이 아닌 ord()함수를 사용해서 찾아 내었다.

ord()함수란 괄호안이 문자열들의 왼쪽값이라고 한다. 이때 admin의 시작인 'a'의 아스키 값인 97을 사용하면 id에서 맨 왼쪽값이 a인 값을 찾아라고 명령한다. 그러면 성공!

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

LOS 6번  (0) 2017.08.13
LOS 5번  (0) 2017.08.13
LOS 4번  (0) 2017.08.12
LOS 3번  (0) 2017.08.08
LOS 2번  (0) 2017.08.08
LOS 1번  (0) 2017.08.08


2번문제는 비밀번호에 md5라는 암호화가 되어있었다.





그래서 1번문제와 같은 답을 먼저 입력해 보았지만 admin이 아니라고 한다






그래서 아이디를 admin이라고 주고 뒤는 주석처리를 해 보았다

2단계 클리어!

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

LOS 6번  (0) 2017.08.13
LOS 5번  (0) 2017.08.13
LOS 4번  (0) 2017.08.12
LOS 3번  (0) 2017.08.08
LOS 2번  (0) 2017.08.08
LOS 1번  (0) 2017.08.08

LOS 1번문제이다

패스워드를 항상 참을 만들어 주어 로그인을 하는 문제인것같다

그래서 패스워드 란에 ' or 1 #을 해주었다

1단계 클리어!

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

LOS 6번  (0) 2017.08.13
LOS 5번  (0) 2017.08.13
LOS 4번  (0) 2017.08.12
LOS 3번  (0) 2017.08.08
LOS 2번  (0) 2017.08.08
LOS 1번  (0) 2017.08.08

+ Recent posts