정구리의 우주정복

los.rubiya.kr orc 풀이 본문

WEB HACKING/CLEAR!

los.rubiya.kr orc 풀이

Jungry_ 2018. 11. 1. 10:54
반응형

orc 문제를 푸는데 너무 오랜 시간이 걸렸따

괜히 쏘쓰를 짜보고 싶다는 생각에  . . 

그래도 직접 만들어보는게 공부하는 입장에서는 도움이 될 것같아서 그렇게 했따 


시작 !


쏘스는 이렇게 생겼다 

select id from prob_orc where id='admin' and pw=''{$_GET[pw]}'"; 라는 쿼리가 있다

그리고 id=admin 값이 들어가게 된다면 Hello admin 이 뜨게된다

하지만 Clear 는 아님 !!


solve 의 조건은 pw가 일치할때만 solve 가 된다 !

따라서 우리는 pw의 값을 정확하게 알아야한다


나는 1. 자릿수 찾기

  2. pw 찾기

의 순서로 쏘스를 만들고자 했다 


우선 길이를 구하는 부분을 만들어보자



line 6) 길이값 length를 초기화 시켜준다

line 7) los 의 url 을 넣어준다 !

line 8) session 이라는 변수에 나의 계정에 대한 쿠키 값을 넣어준다

line 13) 암호의 길이가 20자리 이하라고 생각하고 for 문의 길이를 잡아줌

line 14) r에 requests.post 를 이용해쿼리문을 전달해준다  맨 뒤엔 쿠키값을 넣어줌

post 를 쓰는 이유는 쏘스에서 값을 post 로 받아오기 때문이다

line 16) 만약 r.text 에 Hello admin 이라는게 있으면 length 에 저장을 하고 출력을 해준다

실행을 해보면


이렇게 길이값이 출력이 된다

길이는 8인가 보다 !




위부분과 같은 느낌으로 아래 pw 구하는 것도 만들어주었다

윗부분과 같은 맥락이기 때문에 설명은 생략하도록 하겠다 !



그랬더니 pw가 09509852 라고 출력이 되어서 입력을 했는데 Hello admin 이 나오기는 하지만 정답은 아니라고 나온다


+이거 때문에 시간을 엄청나게 잡아먹었다 . .

왜인지는 잘 모르겠지만 쿼리가 ?pw=1' or id='admin' and substr(pw, "+str(j)+", 1)="+chr(a)+"%23" 

을 해줘서 맨 끝 ' 를 주석 처리를 하면 영어가 출력이 안되고 그냥 0이 출력이 된다

(진짜 왜인지 아는 분은 꼭 알려주세요 제발)


하지만 쿼리를

?pw=1' or id='admin' and substr(pw, "+str(j)+", 1)='"+chr(a)

이렇게 앞에 ' 를 닫아주면 정상적으로 출력이 되게 된다 


4번째 자리가 0이 아니라 A 였던거다 !

근데 저거도 아니였다 ㅋㅋㅋㅋㅋㅋㅋ 대소문자의 구분이 없어서 진짜는

a 였던거임 ~! 


그래서 이렇게 ?pw=095a9852 를 넣어주면 

해결이 된다



아까 내가 궁금했던 부분ㅇㅣ다 



4번째 자리에 0이여도 되고 a여도 둘다 Hello admin 이 나오게 되는데 왜그런건지를 모르겠다 !


어쨌든


Clear !


반응형

'WEB HACKING > CLEAR!' 카테고리의 다른 글

webhacking.kr 32번 풀이  (0) 2018.10.26
los.rubiya.kr goblin 풀이  (0) 2018.10.22
los.rubiya.kr cobolt 풀이  (0) 2018.10.22
los.rubiya.kr gramlin 풀이  (0) 2018.10.22
wargame.kr login filtering 풀이  (0) 2018.10.20
Comments