본문 바로가기

wargame

(35)
써니나타스 #23번 풀이 허허 22번 반복인데 이번엔 admin이 막혔네.... substring이야 22번이랑 반대로 원래하던데로 아스키 레프트 라이트 조합으로 하면 되는데... 이거 필터링 순서가 반대아닌가??? 어떻게 admin을 우회할까... 아 or 필터링 안걸어 놨네 개꿀띠 or 랑 like 조합으로 와일드 카드 쓰면 될듯 ㅋㄷㅋ 근데 진짜 문제 순서가 이상한거 같은데 ㅡ.ㅡ;; ㅡ.ㅡ like 필터링 되네... 어쩐지 너무 쉽게 풀린다 했네 문자열을 더해주는 concat함수를 써보자 aaa' or id = 'guest' -- 얘까지 되고 reverse,replace를 해보자 안되네... 뭐징 함수들이 다 실행할 인자를 주면 no hack이 뜨네;;;; ------------------------------------..
써니나타스 #22번 풀이 더보기 time based BSQLi로 풀려고 했는데 딜레이도 슬립도 안먹는 것 같음 LOS에서 썻던 코드 재활용할라캤는데 아쉽아쉽 차피 OK 메세지로 확인가능하니까 기술적으로는 이게 쉽긴 할 듯 써니나타스 22번 풀이 guest' -- 로 로그인 가능 #은 필터링 되는 듯 로그인시 OK "ID"가 출력됨 이걸 이용해서 BSQLi 진행하도록 해야함 admin' and '1'='1' -- 로도 로그인 됨 이걸로 and 뒤에 조건 바꿔가면서 비밀번호 특정하면 됨 MSSQL인가... len(pw)로 일단 비밀번호 문자수 알아내고 이제 한글자씩 브루트포싱하면 되는데 ascii, right, left를 고냥 필터링하네;;;; ascii(right(left(pw,'+str(cursor)+'),1) 원래 substr..
써니나타스 #8 풀이 오 익숙한 로그인창 드디어 SQLi인가 두구두구 누가봐도 브루트 포스였네요... 원하는 대로 해주는게 인지상정 더보기 import requests url = 'http://suninatas.com/challenge/web08/web08.asp' for i in range(0,10000): data = {'id' : 'admin', 'pw' : i} res = requests.post(url=url, data=data) #print res.text print i if(not "Incorrect!" in res.text): print(i) break 이런건 파이썬+requests 조합이 제일 빠른 것 같습니다. 만개따위야 맞으면 Incorrect가 뜨진 않을 테니 저걸 분기로 삼아서 돌려보면 플래그 회수~~~
써니나타스 #7번 풀이 갑툭튀한 아이유 사진과 하나밖에 없는 선택지 Yes... 트와이스도 적어도 이지선다였는데 이쪽은 단일 선택이네요... 아무래도 운영자분이 아이유빠인듯 더보기 작성자의 의도를 파악하고 문제를 풀어줍시다... ㅋㄷㅋ location.reload(); frm.submit(); JS로 페이지 리로드하고 바로 선택지도 서브밋 해버립시다. 속도를 어느정도로 해놨는지는 모르겠는데 한 5번 하니까 되네요 얼마나 빠르게 누르게 하고싶었던 걸까요;;; 파블로프 그 자체! 암트 플래그 회수~~
써니나타스 #6번 풀이 게시판이 나오네요 더보기 select szPwd from T_Web13 where nIdx = '3' and szPwd = ' 입력값' ' or ' true view.asp?num=1 var cont = document.pwd_chk; function fnChk_pwd() { if (cont.passwd.value == "") { alert("비밀번호를 입력하세요!"); cont.passwd.focus(); } else { cont.action = "view.asp?num=3"; cont.submit(); } } 답 =, #이 필터링 됨 ' or '1' < '2' -- 대충 이걸로 우회해주면 키가 나오네요 auth_key is suninatastopofworld! wkdrnlwnd 인증 이 두개로 때려도..
써니나타스 #5번 풀이 암튼 단순해서 좋네요 힌트도 확인하고 뭐 체크를 눌러도 별 반응이 없네요... 뭐징 소스 보니까 누가봐도 eval함수에 JS난독화 그래도 뭐 eval계열은 그냥 툴돌리면 간단하게 보기 편해지니까 좋죠 뭐 ㅋㅋ https://www.strictly-software.com/unpack-javascript Javascript Unpacker Tool - Strictly Software This Javascript unpacker tool has now been upgraded to allow it to unpack multiple eval statements. So if your packed code has itself been packed a few times it will loop through until..
써니나타스 #4번 풀이 보니까 왠 포인트랑 우리 웹클라이언트 정보가 나오네요. 힌트도 단순하네요 더보기 그냥 버프슈트로 프록시 걸고 유저-에이전트 정보 SuNiNaTaS로 수정하고 포인트 50넘기면 됩니다. 20까지는 그냥 올라가는 것 같구 그 뒤로 이것저것 만졌는데 포인트는 단번에 올라가지가 않네요 뭐징... 뭔가 못건드린 데이터가 있는 것 같은데 30번 정도야 그리 큰 숫자도 아니라 그냥 반복으로 때웠습니다. 플래그 획득~
써니나타스 #3번 풀이 깔끔한 문제화면... 뭐 시키는 대로 합시다. 더보기 Notice를 가도 글쓰기는 안보이네요 그냥 게싱으로 /board/notice/write 때려보니까 글쓰기창 나옵니다. 적당히 문제간 안생길만한 글을 올립시다. 플래그 획득~ P.S 글은 안올라가더랍니다. 문제용 write페이지 였나봅니다. 정석풀이는 우리가 권한이 있는 freeboard의 글쓰기 URL을 확인하고 notice 글쓰기를 게싱하는 문제였던듯