목록hacking study (69)
wonder

☞ 비밀번호 변경 구현 정보수정을 할 수 있는 마이페이지를 만들고 비밀번호를 변경할 수 있도록 합니다. post 방식으로 폼을 비밀번호 변경 페이지에 전달합니다. 버튼으로 전달하는 것보다 미관상 하이퍼 링크 형식으로 제작하고 자바스크립트로 비밀번호 id값을 받아온 뒤 만약 비밀번호값을 입력했다면 폼을 전달시키고 값이 없다면 경고창이 뜹니다. 비밀번호 값을 post로 받아온 뒤 세션 아이디가 있을 때 비밀번호를 변경합니다. confirm창 확인을 누르면 마이페이지로 돌아가고 취소를 누르면 뒤로 돌아가 값이 유지됩니다. ☞ 주소 변경 구현 주소변경 버튼을 누르면 회원가입 때와 마찬가지로 새창으로 주소변경창을 띄웁니다. 원하는 위치로 띄우도록 합니다. 주소검색값은 현재 페이지로 검색어을 전달하여 데이터를 불러..

☞ XSS 세션 탈취가 막혔을 때 세션아이디는 어떻게 사이트를 개발하냐에 따라서 다르지만 로그아웃 한다고해서 세션이 변하지 않습니다. 한 번 CSRF페이지에서 로그인 한 후 생성되는 순간 XSS에서도 유지 되었습니다. 기본적으로 웹브라우저를 재부팅해야 세션이 재생성됩니다. csrf환경에서는 로그인페이지를 들어왔을 때 세션이 달라지고, 로그인 한 후에 또 바뀌며 document.cookie를 막아놓은 상태였습니다. 그렇기 때문에 결론적으로 XSS로 세션 탈취가 만능이 아니라, 세션 탈취가 막히는 경우가 생길 수 있으므로, CSRF에 눈을 돌려 공격을 진행해야합니다. ☞ CSRF 공격 코드 GET방식 get방식이 가능하다면 이미지 태그를 이용한 요청을 보내면 쉽게 csrf가 가능합니다. 또한 요청을 보내고 ..

☞ 시행착오: 캘린더 제작 처음에 input 종류인 date로 달력을 구현할 수 있는지 모르고, 시행착오를 겪었습니다. API인줄 알았고, 직접 구현하고자 했습니다. 시간을 구해서 시작과 끝 날짜를 옵션에 넣고 선택 시에 달력을 띄웁니다. 자바스크립트를 활용해 작은 달력창을 띄워 클릭을 하면 검색에 적용되도록 하려고 했으나 date라는 기능이 있었습니다. ☞ 기간 검색 기능 date 날짜 선택 달력을 이용해서 원하는 시작날짜~ 끝날짜를 기간으로 검색할 수 있도록 합니다. 날짜는 검색 폼에 들어가서 현재 페이지에서 GET방식으로 검색합니다. 일단 한국시간 기준이 아니기 때문에 시간대을 설정합니다. GET방식으로 받은 시작/끝 날짜를 만약 검색에서 시작/끝 날짜가 없다면 시작날짜는 넉넉하게 2020년 1월 ..
, ", ' 를 사용하지 못할 때 바로 뒤에 있는 문자를 \ 역슬래시 처리하여 뒷 부분에 있는 '를 실행시킬 수 있습니다. 또한 // 주석 처리도 활용하여 XSS를 시도해볼 수 있습니다.

☞ 개념 정리 SQLi와 XSS,CSRF의 특징, 차이점 sql injection은 서버 측을 공격합니다. 크게 유저가 있어야 공격이 가능한지 여부를 따질 수 있는데 sqli는 유저가 없어도 서버를 공격해서 자체에 저장되어있는 정보를 탈취할 수 있기 때문입니다. xss와 csrf는 클라이언트 측에 하는 공격입니다. 클라이언트의 컴퓨터의 실행이 없으면 할 수 없는 공격이고, 정보변경 등의 행동을 유도합니다. XSS와 CSRF의 차이점 xss와 csrf가 헷갈릴 수가 있는데 차이점을 명확히 알아야합니다. xss는 스크립트를 클라이언트의 웹브라우저에서 실행시키도록 하는 공격이며 웹브라우저에서 세션에 대한 응답이 옵니다. csrf는 클라이언트가 서버에 직접 요청하게 하는 공격입니다. 정상적인 요청처럼 보이며 서..

게시판의 날짜/제목/조회수순 정렬을 구현해야합니다. ☞ SQL 조회수 컬럼 추가 일단 조회수 컬럼을 추가해 게시글을 읽으면 조회수가 DB에 추가되어 저장되도록 합니다. 게시글을 읽으면 기존 조회수에 1을 더하는 방식으로 구현합니다. DB에 조회수 업데이트를 쿼리도 추가해줍니다. ☞ 날짜순 정렬 먼저 날짜순정렬입니다. 최신순, 오래된순으로 정렬을 해야하니 substr으로 날짜의 총합을 더하여 비교하는 방법도 있겠지만 그렇게 하면 복잡해지고 SQL 쿼리문중에 order by라는 편한 녀석을 사용합니다. 대상을 기준으로 오름차순, 내림차순을 설정할 수 있습니다. 제목의 기호를 누르나 제목순정렬을 누르나 똑같이 최신순 정렬페이지로 이동합니다. 최신순 정렬페이지로 넘어가면서 최신순(내림차순)으로 정렬합니다. 또한..