'전체 글'에 해당되는 글 1000건


wargame.kr 20번 lonely guys 라는 문제다.

점수는 700point.

ordey by를 이용한 블라인드 인젝션 문제인 것 같다. 시작해보자.

흠.. 일단 보니 reg_single이라는 버튼을 누르면 asc desc 방식으로 쿼리를 넘겨 정렬이 되는 것 같다.

소스부터 확인해보자.

보아하니 order by 절뒤에 sort를 통해 값을 줘 쿼리를 만들 수 있을 것 같다.

order by에 대해 좀 찾아보니 칼럼명 대신 (1) , (2), (3) 과 같은 방식으로 숫자로 치환하여 사용이 가능

하다고 한다.

이를 활용하면 서브쿼리를 저 안에 넣어 블라인드 인젝션이 가능할 것 같다.

여기까진 잘 추론을 했는데 처음에 서브쿼리 특성을 정확히 모른채로 풀다가 엄한데서 에러찾고 엄청난 삽질.....하...역시 배워야 산다...

일단 제일 먼저 if문을 통해 간단히 참 거짓을 찾아 시도해 봤으나 실패.... 삽질하다 찾아보니 ordey by 절에서는 if문이 안통하는 것 같다....

그래서 sleep()함수를 써서 time base 기반의 블라인드 인젝션을 시도해봤다. 

코드는 필자가 짠 파이썬 스크립트이다.

먼저 키 값의 길이를 뱉어주고 다음으로 키 값을 뱉어낸다.

하.. 파이썬 2점대 버전이아니고 3점대 버전에서 하다보니 예상치 못한 오류가 너무 많았다.

코드보고 보고 이해 안되시는 부분은 문의해주시면 답변해드리겠습니다.

어쨌든 성공!!


휴..
이거한다고 또 엄청난 삽질......막상 하고 보면 별거아니었는데 하루를 거의 다 써버렸다... 후... 디비건

언어건 역시 아직 너무 많이 부족하다...제일 중요한  아이디어를 떠올려도 구현하는데 너무 오랜시간이

걸린다 ㅠㅠ 아직 처음이라 그런거라 믿고 싶다.

끈임없이 공부해서 빨리 실력을 더 키워야 할 것 같다.


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

wargame.kr phc? c?  (0) 2018.01.04
wargame.kr ip log table  (0) 2018.01.04
wargame.kr dmbs335  (0) 2018.01.04
wargame.kr crack crack crack it!  (0) 2018.01.04
wargame.kr img recovery  (0) 2018.01.04
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

wargame.kr 19번 dmbs335 라는 문제다.

점수는 700point. 점수가 올랐다. 살짝 긴장이 된다.

sql injection 문제인 것 같다. 시작해보자.

흠... 검색 가능한 게시판이 보인다. 검색어로 sql injection이 이루어질 것 같다.

소스부터 확인해보자.


일단 먼저 select 구문에 $where_clause라는 변수를 통해 입력이 가능할 것 같다.

그렇다면 이 변수의 값을 원하는 값으로 넣어줘야하는데 관련된 소스를 찾아봤다.

보아하니 query_parts라는 변수가 존재하면 이 변수의 값을 통해 where_clause의 값이 정해지는 것 같

고 query_parts는 col이란 변수가 존재하면 값이 만들어 지는 것 같다.

그렇다면 col의 값을 매칭되지 않는 값으로 넘겨 존재하지 않게 만들고 query_parts의 값을 내가 원하는 쿼리값으로 만들면 성공적으로 sql injection이 일어날 것 같다.

그렇다면 query_parts의 값을 원하는 값으로 만들어야 되는데 자세히보니 url 값이 넘어올 때 parse_str란 함수가 씌워진다. 뭔가 하고 찾아봤더니 url값을 받아 변수로 만들어 주는 함수란다.

그렇다면 이 함수를 통해 임의로 col의 값을 매칭되지 않는 값으로 변조하고 query_parts의 내가 원하는 값으로 추가해버리면 될 것 같다.

burp suit를 키고 url값에 1 union select 1,2,3,4 # 을 줘봤다. 정상적으로 나온다.

그렇다면 이제 할 일은 정해졌다. simpleboard 문제에서 썻던 쿼리를 거의 그대로 가져다 썻다.

먼저 1 union select table_name,2,3,4 from information_schema.tables # 쿼리를 주고 테이블을 구한다.

다음으로 플래그를 구한다.
1 union select column_name,2,3,4 from information_schema.columns where table_name='Th1s_1s_Flag_tbl'#

마지막으로 플래그를 구한다.
1 union select f1ag,2,3,4 from Th1s_1s_Flag_tbl #

성공! 점수가 올라서 살짝 기대했는데 생각보다 쉬워서 맥이 빠졌던 문제.


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

wargame.kr ip log table  (0) 2018.01.04
wargame.kr lonely guys  (0) 2018.01.04
wargame.kr crack crack crack it!  (0) 2018.01.04
wargame.kr img recovery  (0) 2018.01.04
wargame.kr pyc decompile  (0) 2018.01.04
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

wargame.kr 18번 crack crack crack it! 이라는 문제다

점수는 650 point.

.htaccess 라는 파일을 bruteforce attack 하라는 것 같다.


흠... 일단 패스워드 파일을 다운받아야 할 것 같다.

파일을 열어보니 md5 방식으로 암호화 되어 있는 것 같다.

john the ripper란 brute force attack 툴로 크랙하면 될 것 같다.

자 그럼 사용자가 줬던 G4HeulB로 시작하고 나머지는 알파벳 소문자와 숫자만 존재한다는 힌트를 감안

하여 wordlist를 넘겨 줄 간단한 파이썬 스크립트를 짜면 될 것 같다.

max 값은 총 몇자인지 확실히 몰라 대충 6주고 시작해봤는데 뒤에 추가될 부분이 6개이하라 한번에 성공했다.

이제 존더리퍼로 사용하면 다음과 같이 G4HeulBzb11이라는 비밀번호가 크랙됬다.


홈페이지에 가서 키를 입력해봤다.


성공!


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

wargame.kr lonely guys  (0) 2018.01.04
wargame.kr dmbs335  (0) 2018.01.04
wargame.kr img recovery  (0) 2018.01.04
wargame.kr pyc decompile  (0) 2018.01.04
wargame.kr web chatting  (0) 2018.01.04
블로그 이미지

JeonYoungSin

메모 기록용 공간

,