본문 바로가기
반응형

전체 글87

Lord of SQL Injection : Wolfman[5] [Level 5. Wolfman] Sol → ?pw='%0Aor%0Aid='admin'%23 코드를 분석해보면, admin으로 로그인하면 clear가 가능한데 pw값에 Space bar가 포함되면 안 된다. 즉, pw의 인자로 스페이스바 없이 id = 'admin'을 넣어주어야 한다. 스페이스바만 사용할 수 있다면, /?pw=' or id = 'admin' #으로 쉽게 통과할 수 있는 문제여서 스페이스바를 대체할 방법을 이것저것 찾아보았다. 처음에는 스페이스바 대신 %20을 넣어주었는데, 이것도 스페이스바로 잡혀버렸다. 그래서 이번에는 엔터를 넣어보았다. 엔터의 16진법을 찾는 게 어려웠는데, 아스키코드표에서 Line feed에 해당하는 LF가 엔터였다. 그래서 스페이스바 %20 대신 %0A를 넣어주었다. 2021. 11. 22.
Php로 웹 개발하기 : 게시판(9) - Pagination 게시판의 CRUD는 모두 구현하였다. 이번 포스팅에서는 출력되는 데이터의 개수에 따른 pagination을 넣어볼 것이다. ① 데이터 개수 구하기 mysqli_num_row() 함수를 사용하면 행의 개수를 구할 수 있다. ② 페이지 개수 구하기 한 페이지에 결과를 10개씩 출력하려면 몇 페이지가 나오는지 구해보자. $data_num = mysqli_num_rows($result); $page_num = ceil($data_num / 10); ceil 함수를 사용하면 간단하게 페이지 개수를 구할 수 있다. ③ pagination 생성 기존의 board.php의 하단에 pagination 부분을 만들어주고, for문을 사용해서 페이지 수를 출력해준다. 데이터 5개를 더 추가해서 2페이지가 뜨는지 확인해보자... 2021. 11. 21.
Php로 웹 개발하기 : 게시판(8) - Update 게시판의 주요 기능 CRUD 중 Create, Read, Delete는 모두 구현하였다. 이제 마지막 주요 기능인 Update를 구현해보자. 업데이트 기능의 흐름은 다음과 같다. 1. 삭제 기능과 마찬가지로 내가 작성한 글일 경우에만 수정 버튼을 띄워준다. 2. 수정 버튼을 클릭하면 update.php에서 글을 수정하는 페이지를 띄워준다. 3. update.php에서 글 수정 버튼을 누르면 board_update.php로 넘어가 MySQL과 연동하여 update를 한다. 수정은 생성(write.php - board_create.php)과 거의 비슷한 형태(update.php - board_update.php)로 구현할 것이다. 우선 read.php의 버튼 부분에 다음과 같이 수정 버튼을 추가해주자. 2021. 11. 20.
Php로 웹 개발하기 : 게시판(7) - Delete 저번 포스팅에서는 내가 작성한 글을 읽는 페이지에서 삭제 버튼을 활성화시켰다. 만들어둔 삭제 버튼에 기능을 부여해주자. 우선 MySQL에 연결하여 테이블에 행을 삭제하는 기능을 가진 board_delete.php 파일을 만들자. [board_delete.php] 이제 read.php에 만들어두었던 삭제 버튼에 onclick 이벤트를 추가하여 GET 방식으로 board_delete.php에 삭제할 글의 id를 보내주자. 2021. 11. 19.
Php로 웹 개발하기 : 게시판(6) - Create 게시판 만들기(4): [모의해킹_실습] - Php로 웹 개발하기 : 게시판 만들기(4)에서 글을 작성할 수 있는 기능을 만들었는데, 임시로 사용자는 'test', 날짜와 시간은 2021-00-00, 00:00으로 삽입해주었었다. 이번 포스팅에서는 글을 생성할 때, 사용자에는 현재 로그인된 아이디를 넣고 글을 읽는 페이지에서 자신이 작성한 글을 읽는다면 삭제 버튼을 표시해볼 것이다. 추가로 날짜와 시간도 현재 날짜와 시간으로 바꿔보자. ① 로그인 아이디 가져오기 메인 페이지에서 세션을 검증하기 위해 session_start()를 사용했었다. session_start(); if($_SESSION['id']) $username = $_SESSION['id']; else $username = "anonymous.. 2021. 11. 18.
Php로 웹 개발하기 : 게시판(5) - Read 이번 포스팅에서는 글을 읽을 수 있는 기능을 만들 것이다. 우선 저번 (4)에서 만든 board.php 안의 form에 글쓰기 버튼을 만들어서 write.php와 연결해준다. 글쓰기 글 쓰기 form과 글 읽기 form은 css를 동일하게 적용할 것이니 글 읽기 기능을 먼저 만든 후 css를 한꺼번에 적용할 것이다. 제목 부분에 태그를 걸어 read.php로 이동할 수 있게 만든 후, 보기 간편하게 하기 위해 코드를 조금 수정해주었다. 그런데 클릭한 글을 불러오려면, 어떤 글을 클릭했는지 글을 특정할 파라미터를 추가해주어야 한다. 따라서 테이블에 id 값을 추가하고 파라미터로 id 숫자를 넘겨준 후, read.php에서는 get으로 id를 받아 해당 글의 제목과 글 내용을 불러오도록 해주자. 근데 id를.. 2021. 11. 17.