분류 전체보기
Webhacking Writeup 20번 문제
Webhacking Writeup 20번 문제입니다. 사이트에 접속해보면 입력칸이 3개 존재하고 마지막 입력은 봇방지를 위한 흔히보는 문자입력 방식입니다. 그런데 우측 위에 시간제한이 2초라고 되어있는데 이게 뭔소리인지 모르겠어서 입력해서 submit 해봤더니 느려서 실패라는것 같습니다. 일단 구조를 확인하기 위해 코드를 살펴보겠습니다. 필요한 부분만 캡쳐해왔는데 해석하면 submit을 클릭하면 ch()가 실행되는 구조입니다. ch( )는 id 값이 비어있으면 안되고, cmt 값도 비어있으면 안되며, captcha값이 비어있으면 안되는데, 이값을 출력되어있는 captcha값과 같아야 한다고 합니다. 이 모든것을 True 해야만 submit이 수행되는 것같습니다. 이것이 모두 2초만에 수행되어야 한다는 애..
Webhacking Writeup 49번 문제
Webhacking Writeup 49번 문제입니다. 46번 문제와 똑같은 페이지라 순간 잘못들어왔나 생각하며 재확인 했고 46번과 비슷한 문제로 예상되어 바로 시도해봤습니다. 다행이 46번보다는 소스코드가 짧습니다. 코드를 해석해보면 select, or, and, \ , limit, ( , ) , order, cash, \t, ' , '' 를 필터링 하고있습니다. 46번과 비교해보자면 여기서는 0x인 16진수를 막지않고 콤마(,)를 막고 있는걸 보니 16진수로 admin을 입력하라는 힌트를 생각 할 수 있습니다. 그러나 추가로 or and를 필터링 하고있으니 이부분을 우회하는 것이 필요합니다. or and 우회 키워드로 검색을 해보니 이러한 방식으로 우회가 가능하다는 점을 찾았습니다. 이제 앞부분 lv..
Webhacking Wrietup 46번 문제
Webhacking Wrietup 46번 문제입니다. 사이트에 접속하면 SQL 인젝션이라고 친절하게 알려줍니다. 아래의 소스코드가 있으니 들어가 보겠습니다. 봐야할 부분만 캡쳐해봤습니다. 해석하면 add슬래시 라는 함수가 우리가 입력할 값 lv에 (' , ")같은 쿼터를 없애고 공백, / , * , %를 아예 지워버리는 것을 확인 할 수있습니다. 또한 아래 필터링으로는 select, 0x, limit, cash를 막아놓았습니다. 먼저 lv값을 1이 자동입력되어 있어 입력해보니 lv=4 까지는 값이 존재하는 것을 확인 할 수 있었습니다. 그러나 우리가 찾아야 하는 값은 id=admin 인 경우인데 여기서 where 조건문을 추가하는 경우를 이용해 and나 or을 사용해야합니다. 즉 구문을 정리하면 "sel..
Webhacking Writeup 54번 문제
Webhacking Writeup 54번 문제입니다. 문자가 막나오다가 갑자기 ?에서 멈춰버립니다. 이렇게 빠르게 넘겨주고 보라하면 아무리 한국인이라도 못참습니다 버프스위트로 하나씩 끊어서 보겠습니다. url값이 m=1에서 4로 올라가면서 FLAG를 말하네요 ?됬을때 값이 38까지 올라가더라구요 즉 총길이는 38글자로 버프스위트로 캡처해서 하나씩 메모장에 받아적으면 플래그를 찾았으므로 문제가 해결됩니다. 패킷을 캡쳐할 수 있는지 없는지를 묻는 비교적 가벼운 문제였습니다!
(Lord of SQLInjection) orc 문제
(Lord of SQLInjection) orc 문제입니다. 일단 문제에 접속해보면 이전 문제와는 다르게 코드가 2개로 보입니다. 윗줄 코드와 아랫줄 코드로 나눌 수 있는데 짧게 해석하자면 id가 admin으로 쿼리가 True값이 되면 Hello admin이 출력되지만 아래 코드에서 우리가 입력한 pw의 값이 db에 있는 admin의 pw값과 같을 경우에면 solve("orc")가 출력되면서 문제가 해결된다고 합니다. 즉 이전처럼 주석처리라던가 우회하는 방식으로는 해결이 불가능한 블라인드 SQL문제라고 이해할 수 있습니다. 또한 이경우에는 정확한 pw값을 전부 찾아서 입력해야만 하는 문제입니다. 작성자는 드림핵에서 이러한 문제를 학습한적이 있는데 이진탐색과 비트연산등 여러가지 방식으로 해결이 가능하다고 ..
Webhacking Writeup 58번 문제
Webhacking Writeup 58번 문제입니다. 문제사이트에 접속해보면 send라는 전송과 입력이 가능한 창이있습니다. 일단 아무거나 입력을 해봤는데 커맨드라고 뜨더군요 그래서 리눅스같은 명령어를 입력하면 될것 같아 ls를 입력했더니 작동을 합니다! 그래서 바로 파일을 읽으려는 cat을 사용했는데 보시는 바와 같이 막혔습니다. 해서 어떠한 명령어가 가능한지 지인에게 힌트를 받았는데 help를 치면 사용가능 명령어가 나온다더라구요 사용가능 명령어는 ls id flag help인데 여기서 flag가 보여 시도했으나 당연히 막혀있습니다. admin으로 해야만 가능하다네요 모르겠어서 소스를 열어봤습니다. 중요한 소스 부분만 캡쳐했습니다. 소켓이 무엇인지는 겉핥기로 학습했지만 문제로는 처음접해봅니다. 소스를..
Webhacking Writeup 5번 문제
Webhacking Writeup old-5문제입니다. 접속해보면 Login과 Join이 있습니다. 먼저 Login부터 접속해보겠습니다. 어디가 id고 pw인지 모르겠지만 대충 위에가 id이고 아래가 pw인것으로 예상됩니다. 해서 가장 무난한 guest로 로그인을 먼저 시도해보았습니다. guest도 실패하고 여러가지 시도를 했으나 방법이 없어 join으로 들어가 보기로 했습니다. 아니 join은 아예 접속부터가 막혀있습니다 결국 Login에 돌아가서 해결해야 하는 문제인가 봅니다... 몇시간 삽질을 하면서 메인 화면과 Login화면을 왔다갔다가 하다가 이상한 점을 찾았습니다. Login.php로 바로 가는게 아닌 mem을 거쳐서 가더라구요? 정리하자면 아래와 같은 순서로 URL이 잡혀있다는건데 Login..
Webhacking Writeup g00gle2 문제
Webhacking Writeup g00gle2 문제 입니다. 문제 사이트에 접속해보면 엑셀 스프레드시트가 연결되면서 FLAG가 ????로 나타나 있습니다. 일단 엑셀 함수를 사용한것 같아 함수부터 찾아봐야겠습니다. 함수만 자세히 보면 =REPLACE(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1x7b8Wwp3jJAr6sgEG8RmuZOh-d7gpSmYvH9tmXWDq_c/edit","A1"),6,19,REPT("?",19-6)) 일단 함수가 총 3가지로 REPLACE, IMPORTRANGE, REPT인데 어떤함수 인지 부터 보겠습니다. Relpace 함수는 4가지 인수를 받는데 첫부분은 바꿀 문자열, 두번째는 바꿀 문자 위치 시작지점, 세번째는 바꿀 문..