WebHacking/sunanitas

로그인폼이 주어진 문제이다. 일단 소스코드 먼저 보자. 소스코드를 보면 힌트에 id는 Login이고 Password는 0~9999 중하나라고 한다. 이문제는 패스워드 Brute-Forcing 을 통한 Password Guessing을 하는 문제같다. 자 일단 정상적인 데이터를 보내보면 Password Incorrect라는 문자열이 발생하는 것을 알 수 있다. $curl -b 'ASPSESSIONIDSCDCCCCQ=FMKFIFJCFPHGLOCHJIIOBIAN; path=/' http://suninatas.com/challenge/web08/web08.asp -d 'id=admin' -d 'pw=0' Password Incorrect라는 문자열은 html의 td태그들중에서 7번쨰 td태그에 나온다. 이것을 ..
key를 입력받을 수 있는 폼이 하나 존재한다. 바로 소스코드를 살펴보자. 소스코드를 보면 Hint로 12342046413275659 가 주어져있고, 소스코드 상단에 js 코드가 있다. eval함수는 안의 명령어를 실행시키는 역할을한다. 또한, regex 가 있는것을 보면 정규식소스도 포함되어있는 것같지만 이러한 문제는 개발자도구나 원하는 텍스트에디터에서 디버깅을 하면된다. 나는 cli기반 node를 선택했다. eval함수를 제외하고 나머지를 변수에 받아주면 된다. 그 변수를 출력해보면 언팩된 로직들이 출력되는데 이것들을 선언해준 후, PASS 함수의 매개변수에 hint값을 넣어주면 key가 출력된다. 출력된 키를 level5페이지에 가서 인증하면 auth가 출력된다.
기본폼인데 현재 나의 브라우저 정보인 useragent 헤더가 나오는걸 보면 헤더 변조 문제 같다. 소스코드를 보면 힌트에 카운트를 50까지 늘리고 user-agent를 SuNiNaTaS로 바꾸라는 것 같다. 또한 Plus버튼을 누르면 /web04_ck.asp 페이지로 요청이 가는 것 같다. 따라서 User-Agent 값을 SuNiNaTaS로 변조시킨뒤 ./web04_ck.asp 페이지에 요청을 50번 보내고 /web04.asp 페이지로 돌아가면 Auth가 떠있을 것이다. 나는 one-line bash-script를 사용했다. plus가 계속올라가며 상태정보를 유지해야하기 때문에 기존의 쿠키를 달고 User-Agent를 변조시킴과 동시에 50번의 요청을 web04_ck.asp 페이지에 보내고, web04..
문제 정보. 게시판에 글을 작성하랜다. 개발자도구에서 모든걸 찾아봐도 모르겠어서 홈피에 게시판 을 찾아봤다. 메인페이지 에 NOTICE 메뉴가 있는데 여긴 업로드 시킬 수 없는 것 같았다. 하지만 FREE 메뉴에서 글을 올릴 수 있는 게시판이 나온다. 그냥 여기 글을 올리면 되는 것 같다. 될줄 알았는데 Auth가 나오지 않는다. 그래서 좀 삽질좀헀는데, 알아낸 것은 FREE 메뉴에서 write를 누르면 URI가 /free/write이 된다. 따라서 URI에 /notice/write을 치고 들어가면 위와 같은 동일한 폼이 나온다. 여기서 글을 작성하면 Auth가 나온다.
기본 폼인데, 아무런 정보를 알 수 없다. 맨밑에 힌트로 Join은 id=pw와 같다고하는데 소스코드를 보면 폼의 id와 pw value값이 같으면 오류메시지를 띄우면서 공백문자로 치환해주고있다. 하지만 js는 클라이언트단에서 실행되기 때문에 우회해줄 수 있다. 내가 curl을 사랑하는 이유도 그런 이유,,.. 따라서 curl이나 개발자 도구에서 id와 pw를 같게 해주면 js를 우회해줄 수 있다.
asp 코드같은데 replace함수를 우회하라는 것 같다. str 파라미터를 str변수에 담고 Replace() 함수는 변수 str의 value에서 a를 aad 로 치환 하여 result 대입 Replace() 함수는 변수 str의 value에서 i를 in 로 치환하여 result 대입 Mid()함수는 result변수 value의 idx 2에서 2개의 문자 추출하고 result1에 대입 (ASP는 idx가 1부터 시작함) Mid()함수는 result변수 value의 idx4에서 6개의 문자 추출하고 result2에 대입 (ASP는 idx가 1부터 시작함) result1 과 result2를 concat하여 result에 대입 result가 admin이면 답이나옴., 폼에 ami를 대입하면 서버단에서 ami..
REVI1337
'WebHacking/sunanitas' 카테고리의 글 목록