말투 넘 오타쿠같아..이제 좀 정상적으로 써보겠습니다.. sql injection! 저번에 해봤다고 자신감 붙은채로 시작! 하튼 일단 소스를 보니 index.phps가 주석처리 되어있길래 주소 옆에 /index.phps 를 쳐서 보았다. #|union|from|challenge|select|\(|\t|/|limit|=|0x # union from challenge select \( \t \ / limit = 0x 즉 or 로 연결된 단어(?)들은 no에 들어가면 no hack 되어버린다. 공백같은거 쓰지 말라고 하는 듯 하다. 아무거나 넣어보다가 1을 넣으니 guest라고 뜨는걸 발견! 그럼 저번과 비슷하게 2가 admin에 접근할 수 있는 no 값 인듯 하다. 그런데 =가 들어가면 no hack이 떠버..
우앙 리눅스는 배웠으므로 드디어 아는게 나오나 했는데 써먹진 않더라 흥 접근권한 어떻게 바꾸는건가 막 이런거 생각하고 있었는데 전혀 아니었다. file 뒤에 index.php, password.php 등등 입력해보았지만 전부 안되었다.. 근데 hello 파일은 .txt를 붙이지 않아도 출력된거니까 .txt가 자동으로 붙는가 추측할 수 있다. file=password.php뒤에 url 인코딩으로 공백문자 %00 넣어주니 .txt가 무용지물이 되어 패스워드가 출력!
왜 자꾸 index.php 주석처리하지..하튼 들어갔당 여태 본적 없는 substr 을 검색해보니 0번째부터 15자리 가져오란 뜻 같다. 그 다음 문장 쿼리,,어려워 힝 id='$_POST[id]'인 곳에서 zmail_member로 부터 'good'를 선택해라 얘도 post 타입이고,, name이 id 네? name 은 저 상자 이름같다. 암꺼나 치니까 막 경고하네,,서럽,, id='$_POST[id]',, 입력장에 무어라무어라 입력하고 \\는 없어지고 '은 ''로 바뀌도록한 후 0부터 15번째까지를 읽었는데 그게 id 면 풀릴 듯 하다. 맨위 $pw 는 뭐지 어디에 쓰는거지 하튼 일단 아무값이나 입력하다가 총 15개밖에 입력을 못한다는 사실을 알아냈다. 그러니까 13개의 '과 2개의 \을 쓰면 26개의..
소스를 보니 admin.php 가 주석처리 되어있어서 주소 끝에 /admin.php 를 붙여 보아하니 그리고 도움이 되어보일 법한 코드들 아 저번에 선배가 post 방법이 있고 get 방법이 있다고 했던거 같은데 이건가. 근디 뒤에보니까 굳이 admin.php 안써도 admin 버튼 누르면 들어가지넹 근데 여기에도 주석이 있더라 hint:admin 아웅 모라도 떠야지 몰 하지 흥 근데 위에 지운부분. 새로 생겼다. 저기는 내 아이피인거같다. 아까 24번 문제 풀면서 봣츰 헐 이것저것 하다가 보니까 내가 입력한 값이 내 ip 와 함께 저렇게 들어간다 헐퀴 admin 치니까 이렇게 나오대,,,,알아,,,나도 내가 admin 아닌거,,속상하게,,, 도저히 모르겠어서 또 검색했다..근데 세상에 진짜 천재가 너무..
id 값을 가져와서 그게 admin 이면 실패, 근데 urldecode 해서 나온 값이 admin 이면 성공 인 것 같다 인코딩해보니 %61%64%6d%69%6e 가 나오더라 id 값을 어떻게 바꾸는데욤,, 지난 번 sql injection 으로 고생한 기억을 떠올려 주소 뒤에 ?를 붙인뒤 id=%61%64%6d%69%6e을 해주니 no가 나와!! 뭔가 생각해보니 자동으로 디코딩되어 id 값에 admin이 들어가는 것 같았다. 그래서 한번 더 인코딩한 값 입력 %2561%2564%256d%2569%256e 을 입력! 해결!
얄루 표만 보고 ip 열심히 뒤적거리다가 소스보기 들어가니 아깐 안보이던 주석이 보이네,,분명히 안보였는데,, 주석처리 지워도 안들어가지길래 걍 주소 뒤에 index.phps 붙여서 들어갔당 나는 데이터베이스를 안배웠지만 열심히 짱구를 굴려봤다. 슬프다. 빨리 배우고싶다. 힝. 자습하기엔 과제가 넘 많아. 방학하면 토플해야해 우에엥 그르니까 서버랑 쿠키의 어쩌구를 추출하고,, REMOTE_ADDR 사용자가 현재 페이지를 보고 있는 시스템의 IP 주소 remote_addr 을 찾아보니 저렇다. 그러니까 ip 에너느 시스템의 ip 주소가 들어가있는거군 표의 값을 127.0.0.1 로 바꿔야 한다.. 그리고 나는 바꾸는 방법을 모른다.. 쿠키를 추가하란 글을 보고 추가해보기로 했다(ㅎㅎ) 12, 7., 0. ..
sql injection,,,이거는 작년 동아리 자유발표 시간에 조사했었던 기억이 있는 해킹방법이었다. 뒤에 or 어쩌구 저쩌구 하튼 문장 추가해서 무력화시키는 방법!.! 문법 잘 알지도 못하면서 혼자 해보겠다고 끙끙거리며 injection tool 이런거나 검색했다,,,ㅎ,,,ㅏ,,결국 뭣도 모르겠어서 다른 블로그의 설명으로 이해했당. 아쉽,, 하튼 내용을 풀자면 if($_GET[no]) { if(eregi(" |/|\(|\)|\t|\||&|union|select|from|0x",$_GET[no])) exit("no hack"); $q=@mysql_fetch_array(mysql_query("select id from challenge18_table where id='guest' and no=$_GET..
내가 풀기 전에 동기가 이거 보여주면서 아 이거 어떻게 해,,일일이 계산기에 쳐야됨?????하고 있길래 읭 걍 복사해서 파이썬 인터프린터에 넣어라고 했고,, 그게 이 문제였네,, unlock 을 입력하면 비번을 알려주는데 그 비번은 unlokck/10 이다.. 바보같이 password is 만 보고 계속 10 으로 나눈 값만 입력하면서 왜 안되지 하고있었당..ㅎ..ㅎ... 하튼 요로케 unlock 값은 손 쉽게 나왔고, 쨘!! auth 가서 입력하고 성공!.!
들어가자 마자 뙇 있는 것,,,코드를 봐도 별거없음,,흥 뒤에 ==이 보아하니 여태 base64 디코딩 시킨 것들이 다 뒤에 ==이 붙어있었어서 걍 디코딩 사이트 들어갔당. 그러고 나온 값은 c4033bff94b567a190e33faa551f411caef444f2 ! ! ! base 64 한번 더 돌리니까 안나오더라 힝구 근데ㅋㅋㅋ이거 구글에 쳐보니까 죄다 블로그 글들 나와서 안 볼 수 가 없었다,, sha-1 이라며,, 그래서 디코딩했다,,,,두번 하니까 test ,,,, 슬퍼,,혼자 못 풀었어,,,