35, 1/2 회원가입  로그인  
   두루뭉술
   [코드게이트2011] 코드게이트 문제..

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=9 [복사]


취약점 100점,200점,300점 문제는 꼭 알고싶네요

100점문제는 web mp3 player 로 mp3 파일을 업로드 시키면 웹에서 재생할 수 있는 문제고요..
200점은.. 음.. 로그인해서 들어가면 글이 6개 정도 있는 문제였는데 sql 인젝션 같긴 한데 갈피를 못잡은 문제였고요..
300점은 시스템문제.. vuln1 디렉토리에 있는 vuln300이라는 파일로 뭐 어떻게 해서 flag 파일 읽으면 될거 같았는데..
그저 알아낸거라곤 전체 옵션을 다 넣어줘봐야지만 제대로 작동된다는것일뿐 알아낸게 없네요..


전체 문제 풀이같은거 있으면 알려주세요 ㅎ

  Hit : 6240     Date : 2011/03/06 10:10



    
멍멍 100, 200은 다른 분들이 설명해주실 것 같고
300은 bof 문제인데, 우분투 10.4라 random stack, heap, library + non-exec stack, heap
풀이법은 random library이긴하지만 lld ./test 와 같이 계속 실행해보면 00110000 주소가
높은 빈도수로 반복 출현하거든. 그걸보고 00110000 기준으로 brute force하거나
혹은 좀 더 높은 확률로 풀려면 fprintf 같은 함수의 GOT를 execl로 덮는 RTL을 하면되삼
문제풀이 세미나 또 할테니까 오셈 ㅋ
2011/03/07  
indra vuln100번은.. mp3 tag 정보쪽에 php code를 삽입해서 실행하는 문제였습니다. phpcode 실행하고 dbconn.php를 보면 root 비번이 나옵니다.. 그걸로 mysqldump를 뜨면 그 안에 vul100pw 던가.. 테이블이 있는데 그 테이블안에 패스워드가 있었습니다.

vuln200은 일반계정에서의 SQL injection은 낚시였고요.. Administrator 계정으로 들어가야 합니다.. 로그인 시에 trim()을 실행하는거였나.. 그래서 공백처리 하면 인증우회가 됐고요.. Administrator 계정으로 로그인해서 보면 그 안에 raw_data 테이블이 있습니다.. 그게 base64 encode데이터 였던걸로 기억하고.. 그걸 풀면 png 테이터가 나오면서 패스워드가 나옵니다..

문제 푸느라 고생하셨습니다..
2011/03/07  
supershop indra // 빈 파일에 TAG~~~ 이렇게 쓰고 mp3 파일로 저장하면 올라가거든요?
거기에 <?php ~~ ?> 이렇게 코드 쓰고 올렸는데 실행은 안 되던데요;;;

php코드를 어떤식으로 삽입을 해야하나요?
2011/03/07  
프라이드 indra님이 하신대로 컬럼오버플로우나 trim때문에 발생하는 취약점이용해서 가입해도되긴하지만 E-mail폼에서 insert sql injection이 발생합니다. 이걸로 가입해도되구요 ㅋㅅㅋ

그리고 중요한것은 Administrator로 로그인한후에, 쿠키변수인 lang에서 sql인젝션취약점이 존재합니다.
lang에서 쿼리인젝션을 해보면 소스페이지에서 쿼리실행결과를 볼수있습니다. 이것을 이용해서 데이터베이스정보를 얻고 , 얻은 정보중 raw_data라는 테이블이있는데, 101개의 레코드가있습니다.(저는 여기서부터 raw_data테이블 재껴두고 딴거했습니다.ㅜㅜ 뒤부터는 푸신분 설명)
다 base64인코딩된 스트링인데 이 정보들을 sql 인젝션을 통해서 얻어와서 다 디코딩해보면 png파일 시그니쳐가 나오는데 좀더 디코딩하다보면 "flag : ~~~~" 이런식으로 플래그를 얻을수있습니다.

Administartor로 로그인해야 한다는점과, blind sql injection을 하지않아도 된다는 점을 제외하면 저어번에 코드게이트문제로 나왔던 webhacking.kr 2번 문제랑 거의 유사하다고생각합니다 =)
2011/03/07  
프라이드 p.s vuln200문제서버 생존확인 =)

<a href=http://221.141.3.112/index.php target=_blank>http://221.141.3.112/index.php</a>
2011/03/07