목록Study/웹 (13)
메모장 입니다2
문제 갤러리가 있고 업로드 창이 있다. 풀이 문제 이름처럼 연속 확장자를 이용해 우회해준다. .php.png 순서이다. .passwd 파일을 찾아야 하는데 ../ 에도 .passwd가 있어서 cat해봤는데 권한 에러가 떴다.. 분명히 같은 권한인데;; 한참 삽질하다가 ../../../ 최상위를 확인해보니 거기도 .passwd가 잇다..
문제 로그인 페이지가 나온다. 로그인 로그가 출력되있다. admin이 로그인 했었다. 풀이 resources에 HTTP sumuggling이 나와있어서 관련 문제인줄 알았지만 아무리 고민해도 써먹을 상황이 아니었다. 관리자가 지속적으로 로그인 request를 요청하는 상황이라면 해당 request를 조작해서 response를 내 쪽에 보내는? 그런 말도안되는 망상을 해봤지만.. 관리자는 이후로 로그인 시도를 하지 않았다.. 로그 인젝션이었다 한참 고민하다가 로그 관련되서 취약점을 검색해보니 로그인젝션이 나왔다. 찜찜했지만 로그인젝션으로 admin authenticationed를 남겨주니 성공 알게된 것 HTTP Smuggling 프론트 서버(프록시) ---- 백엔드 서버로 구성되어있을 경우에 적용 가능한..
문제 해당 링크로 리다이렉트 되는 버튼이 주어진다. 풀이 버튼클릭시 url과 url의 해쉬값이 전달된다. 임의의 url과 hash를 만들어서 전송하면 플래그 값이 담긴 페이지가 responsd 되는데 바로 redirect되므로 proxy로 해당 response를 캡쳐해서 플래그 값을 확인한다.
문제 level 1 ~ 3 : 기본적인 스크립트 인젝션 level 4 시간값을 입력받고 그 값은 onload에서 사용자 정의함수인 startTimer를 호출하는 인자로 사용된다. 입력한 시간 후에 경고창이 뜨게하는 함수이다. onload에서 여러개의 명령문이 실행 가능하다는 점을 이용한다. onload('startTimer(); alert()') 이런 식으로 level5 가입버튼이 있는 페이지가 존재한다 get 파라미터로 next를 넘겨주는데 코드를 보면 next는 다음 페이지로 넘어가는 a href의 링크주소로 사용된다. 이 값을 javascript: alert()로 해주어 자바스크립트가 실행되게 만들어준다. level6 Loading gadget... ``` 특정 js 페이지를 로드한다..
문제 이전 csrf 문제와 동일하다 contact에서 토큰 검사가 추가되었다. 풀이 토큰 우회 시도를 해보았다. 토큰값 없애기 토큰값 바꾸기 안먹힌다. 관리자의 토큰을 받아야 한다. request 후에, response를 받고나서 후처리까지 할 수 있다면 관리자로 profile 페이지를 request 하게 만들고 이에 대한 응답에서 관리자의 토큰을 얻은뒤 해당 토큰으로 csrf를 수행하면 될 것이다. AJAX를 이용해서 코딩을 하자 코딩 시도 이유는 모르겠지만 동기방식으로 처리를 해야 request가 처리된다 jquery & ajax 이용 request는 되지만 response가 안받아와진다.. 포기 ajax 이용 ``` 알게된것 토큰 우회 in csrf 토큰값 삭제 동일한 길이의 임의 값으로 변경 다른..
문제 로그인 페이지 가입과 로그인이 있다 로그인 후 contact, profile, private가 존재한다. contact 페이지에서 메일주소와 내용을 입력하면 admin이 확인을 하며 XSS가 발생한다. profile에서 username에 대해 update 가능한데(아마 권한상승) admin만 가능하다. 내 계정을 update 시킨 후 private를 확인하면 될 것 같다. 풀이 contact페이지에서 XSS시켜서 admin으로 내 계정을 update 시키는 CSRF를 발생시키면 될것 같다. 페이로드 첫번째 innerHTML을 이용한 form data 삽입 document.body.innerHTML += ''; document.getElementById("dynForm").submit(..
문제 홈페이지 풀이 메시지 내용에서 XSS가 발생한다. requestbin으로 만든 URL에 document.cookie를 보내준다. 알게된 것 requestbin request data 얻는 사이트 만들기 XSS 테스트 http://inxight.blogspot.com/2009/08/xss-%EA%B3%B5%EA%B2%A9-sample-code.html XSS 공격 Sample Code XSS 공격은 다양한 형태의 취약성과 결합하여 피해와 위험 모두 커지고 있습니다. 이에 대표적인 XSS 공격 셈플 코드를 보시고 필요하신 분들은 보안 테스트를 해보시기 바랍니다. 본 코드들은 대부분의 웹어플리케이션 보안시스템(웹방... inxight.blogspot.com
1.문제 -제한된 IP라는 경고문구의 페이지가 출력된다. -소스를 보면 주석에 시간값이 출력이 되며 +admin.php에 접근하라는 힌트도 주어진다 -admin.php에 접근하면 패스워드를 입력받는다. +이 패스워드를 알아내면 클리어가 될 것 같다. -쿠키에 time값이 존재한다. 2.풀이 -admin.php에서 password값은 최소한의 결과도 출력해주지 않는다. +timing 인젝션을 생각해볼 수 있지만, 내가 아는선에서 sql 인젝션을 시도해본 결과 안된다. -조작이 가능한 입력은 쿠키값인 time 밖에 존재하지 않는다. +임의의 값으로 변경해보았다. ++0일 경우, 현재 시간값이 출력되고 ++1일 경우, 이상한 고정된 값이 출력된다. +++참과 거짓이 구분된다는 소리인데, 느낌이 blind sq..