root-me SQL injection - blind

2018. 1. 14. 22:42

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.


webhacking.kr 34번 문제다.

점수는 400point.

들어가려고하면 다음과 같이 바로 에러창이 뜨고 새까만 화면만 뜬다.


소스확인해보니 난독화 되어 있는 것 같다.

복호화 사이트가서 해봤는데도 정리하는게 답이 안나와서 이게맞나...싶어서 괜히 개발자 모드한번 가서 봤는데 얻어걸렸다. 페이지소스 보기로 봤을땐 코드가 너무 지저분해서 스크립트가 3개로 되어있다고 분석을 못했는데 개발자모드가보니 3개로 나누어져 있었다. 하나씩 들어가보니 마지막에 대놓고 패스워드 나오는 위치를 알려주고있다. 

콘솔모드에서 쳐보니 바로 나온다.

문제자체는 알고나면 엄청 쉬운데 저거 그냥 아무생각없이 위에서부터 복호화하고있었으면 맨 밑에있는 코드라 엄청 오래있다 찾았을 것 같다. 그나마 빨리 발견해서 다행ㅠ 

성공!


'Wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 36번  (0) 2018.01.15
webhacking.kr 35번  (0) 2018.01.15
webhacking.kr 33번  (0) 2018.01.14
webhacking.kr 32번  (0) 2018.01.14
webhacking.kr 31번  (0) 2018.01.12
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

webhacking.kr 33번 문제다.

점수는 200point.

먼저 들어가면 다음과 같은 화면이 나타난다.

post 방식으로 post=hehe&post2=hehe2 이면 될 것 같다.

다음과 같이 파이썬코드로 실행하니 넥스트버튼에 해당하는 경로가 나왔다.


다음으로 넘어가니 다음과 같이 또 소스를 보여준다.
이번엔 get방식의 myip값과 REMOTE_ADDR값이 같으면 된다. 

쿠키값으로 재지정하고 url로 myip값을 넘겨줬다.



다음으로 가면 메인에 힌트값이 있고 또 소스가 있다.

이번엔 힌트로준 time값을 md5한 값과 get방식의 password값이 같게하면 될 것 같다.

url에 다음과 같이 md5한 값을 넘겨줬다.


다음으로 넘어오니 쿠키값과 ip의 md5한 값이 같고 post방식의 kk값과 md5한 user-Agent값이 같으면 된다. 

다음과 같이 포스트방식으로 넘길 수 있게 코드를 수정했다.

패킷값을 위에 조건과 적절하게 넘겨 줬다.



다음으로 넘어가면 .이 필터링된 ip값과 그 값을 변수로 입력받은 값이 같으면 된다.

다음과 같이 입력해줬다.

하... 아니 어려운건 하나도없는데 그냥 귀찮기만 한 문제다... 언제 끝나는거지 도대체....

이번엔 extract하게되면 get방식으로 받은 값이 변수[]=값 형태로 배열로 저장된다.

그러면 addr=127.0.0.1을 주게될 경우 addr[0]=127.0.0.1이 반환되므로 값이 있으니 첫 번째 조건문에 안걸리고 두번째에서 조건이 성립해 성공한다.
?addr=127.0.0.1 넣어주면 된다.

다음으로 넣어오면 a~z까지 한칸씩 건너뛴 값인 ?ans=acegikmoqsuwy를 넣어주면 된다.

단순 노가다라 다들 잘 하실거라 믿어서 설명과 사진이 점점 빈약해진다...하...ㅠ

하... 드디어 마지막 코드다. 이거만 해결하면 정답 나온다.

대충보면 결국 내 ip가지고 이것저것 필터링하고 자르고 별짓 다한다. 하나하나 직접 계산해보려면 너무 귀찮다. 그냥 코드자체를 실행시켜 경로 부분만 뽑아내 내부로 들어가면 패스워드가 적혀 있을 것 같다.

칼리리눅스 켜서 다음과 같이 필요한 부분만 뽑아 볼 수 있도록 약간 수정했다.

다음과 같이 파일 경로가 나온다.

들어가보면 키값이 나온다. 그대로 입력해주면 된다. 문제자체는 쉬운편인데 상당히 귀찮은 문제였다. 100점짜리 한 10개 푼기분이다..ㅡ..

성공!


'Wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 35번  (0) 2018.01.15
webhacking.kr 34번  (0) 2018.01.14
webhacking.kr 32번  (0) 2018.01.14
webhacking.kr 31번  (0) 2018.01.12
webhacking.kr 30번  (0) 2018.01.12
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

webhacking.kr 32번 문제다.

점수는 150point.

들어가보면 다음과같이 순위같은게 있다.

눌러보면 안됀단다.

흠.. 일단 맨밑에 join버튼이 있어서 눌러보니 가입이 됬다. 현재 득표수는 0인 것 같다.

투표할때 패킷으로 잡아봤다.

딱봐도 쿠키 부분에 vote_check란애가 수상하다. ok라고 되있는데 아마 투표했다는 뜻인거같아 한번 지우고 넘겨보니 투표수가 올라간다.

일일이 하는건 오바같아서 스크립트 만들었다. 1등한번 해보자.


1등했다.

성공!


'Wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 34번  (0) 2018.01.14
webhacking.kr 33번  (0) 2018.01.14
webhacking.kr 31번  (0) 2018.01.12
webhacking.kr 30번  (0) 2018.01.12
webhacking.kr 29번  (0) 2018.01.12
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

root-me SQL injection - string

2018. 1. 14. 16:51

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

root-me File upload - null byte

2018. 1. 13. 11:44

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.