- Hack No-Jam(CTF 서버가 내려가서 비슷하게 구축하긴 했는데 다소 다른 부분이 있습니다.) Accounts 페이지를 보면 현재 가입된 계정 정보를 알 수 있다. ?p=pages/home?p=pages/accounts위 두 그림을 보면 위와 같이 인자 값을 받아서 페이지를 보여주는 것을 알 수 있고 이를 통해서 home.php, accounts.php 파일을 호출해서 보여준다는 것을 추측할 수 있다..php 부분이 없기 때문에 이 부분은 소스 코드에서 .php를 붙여서 호출한다는 것도 추측이 가능하다.즉, LFI 공격이 가능할 수도 있기 때문에 php://filter/convert.base64-encode/resource= 를 이용해서 소스 코드를 알아낼 수 있다. 위와 같은 방법으로 소스 코..
- Combination Pizza(CTF 서버가 내려가서 비슷하게 구축하긴 했는데 다소 다른 부분이 있습니다.) 메인 페이지는 민들레가 흩날리고... 블로그 메뉴에 들어가보면 3개의 글을 볼 수 있다. 첫 번째 글을 선택해보면, 파라미터 값에 id=1 이 추가된 것과 해당 글의 내용을 자세히 볼 수 있다. id의 값을 2로 변경해보면 두 번째 글을 읽을 수가 있고... id의 값을 3으로 변경해보면 세 번째 글을 읽을 수가 있다. (의미심장한 말과 함께...) id의 값을 4로 변경해보면 해당되는 글이 없어서 정보가 표시되지 않는 것을 볼 수 있다. id=1' ORDER BY 1-- -...id=1' ORDER BY 6-- -까지는 첫 번째 글에 대한 정보를 볼 수 있지만,id=1' ORDER BY 7..
ERRORCODE:DESCRIPTION ORA-00000:성공적인 정상 종료입니다ORA-00001:유일성 제약조건(%s.%s)에 위배됩니다ORA-00017:트레이스 이벤트 설정이 세션에 요구되었습니다ORA-00018:최대 세션 수를 초과했습니다ORA-00019:최대 세션 라이선스 수를 초과했습니다ORA-00020:최대 프로세스 수(%s)를 초과했습니다ORA-00021:세션이 다른 프로세스에 첨부되어 있음; 세션을 변경할 수 없습니다ORA-00022:부적절한 세션 번호; 액세스가 거절되었습니다ORA-00023:세션이 프로세스 고유의 메모리를 참조함; 세션을 분리할 수 없습니다ORA-00024:단일 프로세스 모드에서는 하나 이상의 프로세스가 로그인할 수 없습니다ORA-00025:%s에 메모리를 할당하는데 실..
AFSRC-Market 회원가입 후 로그인을 해보면 물건을 구입할 수 있는 사이트를 볼 수 있고, 계정 정보를 눌러서 The Last cost 를 보면 값이 비어있는 것을 볼 수 있다. 장바구니에 물건을 넣으면서 돌아다니다가 다시 정보를 확인해보면 The Last cost 값이 변한 것을 알 수 있다.즉, 장바구니에 담는 행동에 따라서 The Last cost 값이 변한다고 가정을 하고 몇 가지 테스트를 해보면 SQL Injection 공격을 할 수 있다. 초기값: 장바구니에 담을 때 id 값에 문자가 들어가면 Code Error 메시지가 발생하기 때문에 공격 구문을 Hex로 하였다.0x39303420616e6420313d3123 (904 and 1=1#)0x39303420616e6420313d3223 ..
Flag-Man Github 아이콘과 함께 login 그리고 오직 / and /user 만 있고 다른 페이지는 없다고 한다. (callback은?) 문제에서 주어진 /user 에도 이동해보면 달랑 please login first. 만 있는 줄 알았는데 마우스로 드래그해보면 Flask로 동작하고 있다는 것을 알 수 있다. login을 눌러보면 내 Github 계정의 권한을 요청한다. 요청을 허가하고 나면 /user/ 에 접근이 가능하고 Github 계정 사진 정보와 uid, id 번호 값을 가져오는 것을 알 수 있고 쿠키를 확인해보면 그전에 없던 session 이라는 것이 생성되어 있는 것을 알 수 있다. session: eyJpbmZvIjpbMiwiZG85ZGFyayIsMTY1MDgzNzAsImh0dH..
Legend ? Legend ! Legend! We make web a beautiful place. 라는 문구와 함께 메일을 입력하여 뉴스레터에 가입하는 기능과 여러가지 메뉴들이 보인다. Portfolio를 누르면 하단으로 이동은 되지만, 다른 기능들은 눌러봐도 아무런 동작을 하지 않는다. Portfolio 중에서 가장 처음에 있는 Ethan Marcotte Design의 VIEW PROJECT를 클릭해보았다. 클릭을 해보면 index.php 페이지에서 news.php 페이지로 이동하고 newsid 라는 파라미터가 1이란 값을 가지는 것을 볼 수 있다.동일한 방법으로 다른 숫자들을 입력해보면 1, 4 | 2, 5 | 3, 6 끼리 같은 내용을 가져오고 다른 숫자들을 입력해면 index.php 페이지로 ..
Can You Hit ME ? 아래 그림을 보면 알 수 있듯이 XSS 공격을 하면 된다. xss 파라미터를 통해서 기본적인 스크립트를 삽입해보면 아래와 같이 표시된다.xss= , script가 _ 로 변경된 것을 볼 수 있다. (:, java, document도 변경된다.)on, eval의 경우 입력하면 값이 사라지는데 이 점을 이용해서 script와 같이 변경되는 문자 사이에 삽입하면 script글자가 변경되는 것을 우회할 수 있다.scronipt >>> script (대소문자를 변경해서도 가능)하지만, 가 _로 변경되는 것은 위 방법으로 해결할 수가 없다. 소스 코드를 보면 js.js 라는 파일에 의해서 필터링이 되는 것을 알 수 있다. 너무 길어서 파일로 첨부 여기서부터는 아래 두 내용 참조http..
Up!Up!Up! 파일을 선택하여 업로드할 수 있고 10분마다 업로드한 파일이 삭제되고 있다. 소스 코드 정상적인 이미지 파일을 올리면 업로드되어 저장된 경로가 표시된다. 파일명이 변경되고 업로드한 파일의 확장자가 아니라 강제로 .jpg 확장자로 저장된다. php 확장자 사용할 경우 Invalid file이 발생한다. Content-Type이 image가 아닐 경우 Please Give Me a Picture가 발생한다. 즉, Content-Type은 image/jpeg, image/png로 확장자는 php로 업로드 해야한다.이 문제는 multipart/form-data를 검증하는 부분에서 발생한다. 逐浪 CMS 2.4 (zoomla)위 CMS에서 발생했던 취약점을 토대로 만든 문제로 생각이 든다.해당 ..