본문 바로가기
wargame/Lord of Injection

[LOS] GREMLIN (1단계)

by merona99 2018. 9. 1.
반응형

Lord of Sqlinjection GREMLIN 문제풀이




1번 gremlin문제


요게 해당 문제당

정확한 해석은 못하지만 대충보니까.. id와 pw를 get형식으로 받는다.

id를 입력받으면 gremlin문제가 풀린다.

이게 핵심인거 같은데

우선 기본적으로 id와 pw에 1을 넣어봤다.






url에 ?를 사용 그이후는 &사용






친절하게도 쿼리문에 내가 적은 값이 보이게 나타난다.

머 당연히 풀리진 않았다.

소스코드에 내용이 별로없는거같다..

그래서 기본적인 인증우회 방법을 사용해서 참을 만들어 보기로 했다.





우회 하기전에 그냥 주석처리로 해봤는데





음..?



풀렸다.

근데 사실 위에 php?id=admin'-- a라고 하기전에

php?id=admin'--까지만 한게 먼저인데 이건 풀리지 않았다.

주석처리 -- 이후에 한칸 띄어야 한다해서 한칸 띄고 엔터를 치니까 스페이스바가 들어간거 같진않아서

그냥 아무거나 a넣어봤는데 풀렸다.

??

왜풀린지 모르겠다.

a는 왜 넣어야 풀리는지...?



space

%20 

(sqace의 인코딩값)


음 그러면 php?id=admin'--%20 을 쳐보자









음..풀렸다

스페이스바가 들어가야 하는건 맞나보다

하긴 --뒤에 a를 쓴들 주석처리되서 아무소용 없을텐데

궁금증 해결,,


어 그런데 보니까 인증우회 방법이 아니고 아이디만 입력하는 거였을뿐인데

pw를 지우고 입력하니 된다..?

id가 참인지 아닌지도 모르는데?

그럼 admin이라는 id가 있다는 소리가 아닐까 싶어서

따른 영어를 넣어봤다.

만약 이게 공격기법을 위한거라면 아무거나 입력했을 때 풀려야 하니까





apple을 넣어보자





ㅋㅋ


ㅋㅋㅋㅋㅋ... 안풀리네..? ㅋㅋㅋㅋ

그냥 운좋아서 풀린건가

음...

인증우회 들어가보자 ㅎ




<sqlinjection 인증우회>사용


시도1


값1


안풀림





시도2

띄어쓰기만 다시 해줬음

id='or1=1--%20  --->  id=' or 1=1--%20



값2


풀렸다..

띄어쓰기의 중요성

근데 딴데서 보면 막 ' or '1'='1-- 이런식으로 하던데 



시도3


값3

안풀림



시도4


값4

풀렸다.


숫자1에 '1'='1' 이렇게 싱글쿼터를 하는 이유는 멀까?

굳이 안해도 풀리는거 같은데 말이다..

인증우회를 하면서 눈에 보인건데 쿼리문에 싱글쿼터를 사용해서 인젝션을 사용할 때

싱글쿼터(')가 홀수개여야 하는거 같다.

위에도 풀린 걸 보면 다 홀수개다.




시도5


이건 내 궁금증 때매 시도해본 방법이다.

'1'과 1을 썻을때의 차이가 있나해서 

' or '1'=1--%20 

을 넣어봤다


값5


된다.

결국 '1' 이나 1이나 상관없다는 건가보다.?




시도 6 


이건 앞에 아무 아이디나 입력하고 뒤에 인증우회방법을 썻음.


값6

됨.


.

.

.

.


이거 말고도 아이디 아무거나치고 비번을 인증우회 한 방법도 해보고 했는데

다 올리기 힘들어서 여기까지 올려야겠다.

머 비번에 한것도 위랑 비슷하니까 말이다.

사실 푼 시도법보다 못푼 시도법이 더많다 ㅋㅋ



주석처리하는 법도 여러가지있는데 

mysql의 경우 

#

--

/*     */

이고 

따른 db는 다른걸 사용하기도 하나보다.






//사실 c언어 해야하는데 딴거 하고싶어서 전에 풀려다가 못푼 wargame들 뒤적뒤적하다가

하나에 꽂혀서 요거만 한거같다 ㅋㅋ

그래도 이제 인증우회는 사용할 수 있을거같당 히히☆

반응형

'wargame > Lord of Injection' 카테고리의 다른 글

[LOS] COBOLT (2단계)  (0) 2018.11.18

댓글