본문 바로가기

전체 글

(156)
[Web] php, mysql을 활용한 게시판 글 작성 구현 / 웹개발-7 드디어 게시판을 만들어볼 예정이다. 물론 디자인은 포기.. 오늘 만든 것은 글 작성 기능이다. 게시판 기능은 로그인 한 사용자에 한해서 사용이 가능하다. login_success.php 로그아웃 마이페이지 프로필 조회 번호 제목 작성자 작성일 게시판 👆 현재까지 완성된 게시판이다. 현재 페이지에서는 DB에 저장된 글들을 가져와 화면에 뿌려줘야한다. 따라서 board 테이블에 있는 모든 행을 반환하는 쿼리문을 날려준다. 이때 게시판의 경우 오래된 글일 수록 밑에 쌓이게 된다. 따라서 미리 DB의 board_id에 auto_increment를 줬기 때문에 이 값을 기준으로 내림차순(작은 숫자가 먼저 오도록, 즉 오래된 글이 먼저옴) 정렬된 행들을 반환하도록 한다. mysql의 auto_increment 옵션..
[Webhacking.kr] old-06 write up 코드가 꽤 길다 천천히 살펴보자. user 쿠키가 설정되어 있지 않으면 새로운 쿠키를 설정한다. id, pw라는 이름의 변수를 선언한다. id: guest, pw: qwe123이다. 해당 값들을 다음과 같은 연산을 거쳐 암호화하여 user와, pw 쿠키에 값으로 설정한다. 다시 값들을 복호화하여 echo해주고 있다. 만약 복호화한 값이 id가 admin pw가 nimda이면 문제가 해결된다. 위 암호 로직을 통해 admin, nimda를 암호화하여 쿠키를 설정해주면 해결된다. 위 코드를 그대로 복사해 이용하기 위해 php로 해결했다.
[Webhacking.kr] old-15 write up 문제 접속 시 바로 alert()가 실행되며 Webhacking.kr 메인화면으로 리다이렉션 된다. 터미널에서 curl로 요청 후 응답을 받아봤다. flag가 ?getFlag로 접근 시 존재한다고 써 있다.
[Webhacking.kr] old-17 write up 입력폼이 하나 존재한다. 소스코드를 살펴보자. 폼의 사용자 입력값이 unlock과 같을 경우 문제가 해결 된다. 파이썬을 이용해서 unlock을 구해봤다.
[Webhacking.kr] old-14 write up 입력폼이 하나 존재한다. 소스코드를 보니 제출버튼을 누르면 script에 정의된 ck 메소드가 실행된다. ck메소드는 현재 웹페이지의 URL을 가져와 .kr의 인덱스를 반환해 *30 후 사용자 입력값과 비교한다. 이때 같으면 문제가 해결된다. https://webhacking.kr/challenge/js-1/ .kr의 위치는 18번째이므로 540을 입력한다.
[Webhacking.kr] old-42 write up 문제에 접속해보니 위와 같은 UI가 보인다. 소스코드를 살펴보자. test.txt의 버튼을 누르면 어떤 리소스에 접근하여 파일을 다운로드 하는 것 같지만, flag.docx는 alert()를 실행시킨다. test.txt를 눌러보니 예상대로 다운로드가 된다. test.txt의 리소스 url을 보면 "?down=dGVzdC50eHQ=" 에 접근하고 있다. 가만보니 "=" 패딩때문에 base64 같아서 디코딩을 해봤다. 반대로flag.docx를 base64 인코딩해서 리소스에 접근해봤다. flag 파일이 다운로드 됐다
[Webhacking.kr] old-01 write up uesr_lv 쿠키를 1로 설정해주고 화면에 출력하고 있다. 만약 쿠키값이 3 ~ 4의 사이값이라면 문제는 해결된다. 개발자 도구의 Application탭에서 쿠키를 변경해준다.
[Webhacking.kr] old-16 write up 작은 별? 꽃?이 존재한다. 소스코드를 살펴보니 키보드 입력에 따라 어떤 행동을 처리하고 있다. 이때 키보드 입력 값이 124일때를 주의깊게 봐야한다. location.href함수로 페이지를 이동 시키고 있다. 아마 문제 해결이 될거 같다. 124는 '|'를 의미하므로 파이프를 입력하면 문제가 해결될거 같다.