전체 글 249

[html] label 태그, article 태그

label 태그 label 태그는 for 속성을 가지고 있어 다른 요소와 결합할 때 자주 사용된다. 이때 for 속성값은 결합하고자 하는 요소의 id 속성값과 같아야 한다. label 요소는 웹 페이지에서 일반 텍스트처럼 보이지만, 마우스로 클릭할 경우 label로 연결된 요소를 곧바로 건드릴 수 있어 사용자의 편의성을 증가시킬 수 있다. ,,,,,, 등에 같이 사용될 수 있다. 10대 위 코드처럼 사용하면 "10대" 라는 글자만 클릭해도 teen 아이디를 가지는 input 태그를 클릭한 것과 같은 결과가 나온다. css 기본값 label { cursor: default; } article 태그 특정 영역을 그룹화할 때 사용한다. 블로그 티스토리 포스팅1 포스팅2 포스팅3 article 태그는 해당 페이..

[6주차] 게시판 구현 #3 - 수정, 삭제

수정 기능 이번에는 게시판 수정 기능을 구현해볼 겁니다 현재까지 구현된 기능은 게시판 리스트 구현, 게시글 읽기, 게시글 쓰기 총 3개의 기능을 구현했다. modify.php를 생성해줍니다. 일단 modify.php의 내용을 작성하기 전 write.php의 내용을 복사해서 modify.php에 붙여넣어줍니다. 왜냐면 디테일만 조금 다를 뿐, 전체적인 틀은 비슷하기 때문이죠 그리고 글 내용을 읽는 read.php 에도 수정 버튼을 만들어 버튼을 클릭하면 modify.php로 이동하도록 코딩해줍니다. 게시판에서 아무 글이나 클릭하면 이런 버튼이 생겼습니다. 그럼 이 수정 버튼에 해당 글을 수정하는 페이지를 띄울 텐데, 냅다 modify.php로 보내는 게 아니라 get 방식으로 게시글의 number 값을 보..

개발/웹 개발 2023.05.05

[6주차] 해킹 스터디 정리 - SQL Injection 복습, XSS

-보고서 > 포트폴리오 1 ) 폰트 통일 ( 스타일, 크기, 색깔.) 제목부분. 본문. -> 글씨 컬러. X -> 볼드체. 굵은 글씨. -> 빨간색.? 2 ) 사진 캡쳐화면 보고서에 쓴 글씨 크기와 캡쳐한 그림의 폰트 크기가 비슷해야 함. 3 ) 풀이 과정 디테일. 코드를 타이핑해서 넣어도 되고 사진으로 보기좋게 넣어도 됨 --------------------------------------------------------- SQL Injection What? -> 임의의 SQL 질의문을 삽입해 실행하는 공격 시나리오 - 인증 우회, 데이터 추출, 변조. + WEB shell. DB : SQL 질의문. file upload. 공격 유형 - UNION - Error Based SQLi - Blind SQL..

해킹/Web Hacking 2023.05.04

[5주차] 게시판 구현 #2 - 게시글 읽기, 게시글 쓰기

게시판 글쓰기 간단히 글 작성폼을 만들어 테스트용 글을 만들어 작성을 눌러보았다. 쿼리문이 제대로 전달되지 않아 DB로 안가면 에러처리가 되게 해놨는데, 글쓰기 완료라고 떴으므로 DB에 잘 저장이 되었다. 실제로 SQL을 켜서 확인해봐도 글이 잘 추가되었다. 근데 게시판에서 새로고침을 아무리 눌러도 확인이 안됨.... 기존에 글 작성이 아니라 DB에 강제로 때려넣었던 1번 게시글만 확인이 된다. 일단 문제가 뭘까 싶어 DB를 보니 분명히 세션 아이디를 쿼리문에 넣게 코드를 짰는데 name이 전혀 추가가 안되고 있다. 혹시 SESSION 아이디가 안먹히나 싶어 메인 페이지에 썼던 session 아이디 확인을 해봤는데 잘되고 있었다. 혹시나 게시판 페이지에서 session이 안먹나 싶어 출력해보았지만 잘 출..

개발/웹 개발 2023.05.03

해킹 기법 - 유튜브 해킹 전략

** 유튜브 해킹 - 유튜버 해킹하기 매우 매우 쉽다 이유 (1) 관리자 여러명 (2) 광고, 협업 메일 -> pdf, 워드, 실행파일 게임 유튜버라면? 게임 신작 미리 리뷰 가능할까요? 실행파일 전송 * 해커들이 사용하는 유튜버들 해킹 전략 1. 크리덴셜 스터핑 유저가 사용하는 비밀번호가 다른 사이트에서도 똑같이 사용될 때 2. 피싱 유도 -> 로그인 페이지 유도 -> 2차 인증 지식기반 소지기반 3. 이메일 계정 해킹 네이버 계정 4. 악성코드 쿠키 로그인 할 필요없음 5. 제로데이 취약점 그 사이트가 문제인 경우 ** 유튜브 채널 지키기 방어 방법 (1) 2차 인증 기본 (2) word 파일 "컨텐츠 사용" x "편집 사용"x (3) 파일 압축 / 비번? -> 의심 할것 ---------------..

손 쉽게 웹페이지 꾸미는 법 #2 - 그리드 시스템 BootStrap

#1 에서 코드 몇 줄 만 붙여넣으면 BootStrap에서 제공하는 수많은 스타일들을 사용할 수 있다는 것을 확인했다. 이제 BootStrap을 이용해서 웹 페이지의 어느 정도 틀을 잡을 수 있는 방법을 정리해보자. BootStrap은 반응형 웹사이트도 제공할 수 있고 전체 길이를 12로 본다. 6이면 웹 사이트의 절반 길이인 것이다. BootStrap의 Layout 탭에서 Grid를 눌러보자 웹 사이트는 사실 행과 열로 구성되어 있다. 메뉴바든, 메인 페이지든 넓고 작은 크기의 행과 열들이 모여서 만들어내는 것이다. "row" 와 "col" class 로 간단히 Column 을 구성할 수 있다. 일단 테스트를 해보기 위해 만들어놓은 메인 페이지에 카드를 하나 추가해뒀다. 저장하고 실행하니 카드가 하나 ..

개발/웹 개발 2023.05.01

[5주차] 게시판 구현 #1 - 게시판 리스트 만들기

이번엔 여태까지 만든 페이지에서 게시판을 구현해볼 것이다 우선, board.php를 만들어준다. 게시판에서 사용될 컬럼을 미리 만들어두었다 자동으로 증가하는 auto_increment 속성을 가진 number 컬럼 제목이 저장될 title 컬럼 내용이 저장될 content 컬럼 작성자의 닉네임이 저장될 name 컬럼 글 작성시간이 저장될 date 컬럼 조회수가 저장될 hit 컬럼 추천수가 저장될 thumbup 컬럼 그다음 비밀번호가 저장될 password 컬럼이다. 우선, board라는 이름의 테이블을 생성한다. 터미널을 열고 mysql 코드를 입력해주자. CREATE table board ( number int not null auto_increment primary key, title varchar(..

개발/웹 개발 2023.04.30

손 쉽게 웹페이지 꾸미는 법 #1 - Bootstrap 적용하는 법, 버튼 디자인

웹 페이지를 HTML로 실컷 만들어놓으면 기능은 문제가 없을지 몰라도 하나의 산이 더 존재한다. 바로 css로 꾸미기..... 아니 꾸미는 거 젬병인데 컴퓨터에서도 꾸며야한다고? 근데 css 안쓰기에는 기본 html 골격 자체가 너무 날것이다 이런 개발자들에게도 희망은 있다. 바로 BootStrap 이라는 사이트인데, 구글에 검색해서 쉽게 접속할 수 있다. getbootstrap.com 이라는 곳 누르면 접속이 된다. https://getbootstrap.com/ Bootstrap Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and com..

개발/웹 개발 2023.04.29

Python - Requests 모듈

이번엔 파이썬으로 스크립트를 짤 때, 아주 유용하게 응용할 수 있는 requests란 모듈에 대해서 알아보자 requests 모듈을 사용하면 페이로드를 날릴 수 있다. 기본적인 사용방법은 import로 불러온 후, URL을 get이나 post 방식으로 응답을 받아온다. http 관련 스크립트를 짤 때, selenium 보다 가벼워서 쓰기가 좋다. 밑 코드를 입력만 한 것으로 웹브라우저에서 해당 url에 접속한 것과 같은 효과를 얻는다. import requests url = "http://www.naver.com" response = requests.get(url) response.status_code response.text response.status_code 를 입력했는데 200의 값을 반환했다면 ..

[5주차] 스터디 정리 - Blind SQL Injection, 대응 방안

Blind SQL Injection ->DB 결과가 화면에 안 나오는 곳 -> Error based -> SQL Injection이 가능한 모든 곳에서 사용이 가능하다 : SQL 참과 거짓의 조건으로 데이터를 추출하는 기법 보통 Burp Suite 리피터로 옮겨서 작업함 **일어나는 곳. > 참과 거짓 조건에 따라 응답이 다른 곳! > 어떻게든 다르면 됨. overwatch%' and '1%'='1 title like '%_____%' 일부러 overwatch%' and '1%'='2 를 넣어서 일부러 거짓을 유도한다. 그 후, Burp Suite의 Comparer 를 이용해 response를 전체 선택해서 참일 때와 거짓일 때 어떤 부분이 미묘하게 다른지를 볼 수 있다. sync with를 누르면 같이..

해킹/Web Hacking 2023.04.27