본문 바로가기
정보보안

정보보안7 3차시

by IT매니절 2024. 10. 12.

 

 

관련사이트
w3schools.com : 샘플코드 사이트. 보안관련 언어는 Python, PHP, ASP, MongoDB, Go 추천 (+사이트에는 없지만 Rust)
https://www.w3schools.com/html/

 

팀버너스리

www, URL, HTTP 등을 고안하여 웹을 탄생시킨 컴퓨터과학자
참고: https://namu.wiki/w/팀%20버너스리

W3C

월드 와이드 웹을 위한 표준을 개발하고 장려하는 조직
팀 버너스리를 중심으로 웹표준을 개발하는 국제 컨소시엄

 

HTML5
WHATWG와 W3C가 발표하는 HTML의 최신 버전
HTML4.01의 상위버전 (XHTML 선택적으로 이용)
플러그인 기반 응용 프로그램에 대한 필요성을 줄임
최신 웹기술(+CSS3, ECMAScript 6+)을 통틀어 칭하기도 함
마크업 랭귀지의 문법적 버전뿐만 아니라 새로운 dom api 스펙을 포함함
문법이 간결하고 명확해졌으며 javascript를 사용해야했던 기능들이 정식 엘리먼트로 편입됨 (ex video)

 

 

HTML : 웹페이지를 생성하는데 사용하는 언어
대소문자 구별X, 태그 사용법이 정해져있음

ex)
<태그명 속성="값"></태그명>
<태그명 속성="값" />

태그의 속성은 생략가능

문서구조
html, head, body, title, meta( 인코딩, 뷰포트 설정 등)

텍스트
h1~h6, p, b, i, strong( 굵게 ), em( 이탤릭체 ), br, hr

리스트
ul(순서없음), ol(순서있음), li(리스트 항목)

링크, 미디어
a, img(이미지), video(비디오), audio(오디오)

테이블
table, tr(세부: align, valign, bgcolor), td(세부: align, valign, colspan, rowspan, bgcolor), th, thead, tbody, tfoot


form, input, textarea( 여러 줄 텍스트입력 ), button, select( 드롭다운리스 트), option( 드롭다운항목 )

구조적요소
div, span, header, footer, nav( 네비게이션 링크 ), section( 섹션 ), article( 독립된 콘텐츠 )

 

톰캣 기본적인 작업 디렉터리
/usr/share/tomcat/webapps/ROOT

php 작업 디렉터리
/var/www/html
+ 가상호스트를 설정한 경우 다른 경로 설정가능 ex) /home/사용자명/www/

 

실습)

h1, br, p, a, img태그를 이용한 a 태그 등등 태그 실행

 

html5에선 없어진 table 속성들
: align, width, height, cellpadding(셀과데이터간격 => padding ), cellspacing(셀간격 => border-spacing), bgcolor 등 디자인적 요소들.
style 또는 css로 빠지게 되었음

 

PHP

사용방식

<?php 

코드

?>

 

var_dump($_POST);
-> var의 정보를 dump해주는 php 함수. () 괄호안의 변수형과 값을 출력

POST로 넘어온 파라미터를 출력한다

 

array(2) { ["userId"]=> string(5) "admin" ["userPw"]=> string(1) "1" }
=> 출력 결과물 ["변수명"]=> 변수타입(길이) "값"

 

변수 사용방식

ex) $_POST["userId"]

출력

print("비밀번호: " . $_POST["userPw"]);

문자열 결합이 , 가 아니라 . 이라는 점을 참고

 

세션

session_start();

$_SESSION["userId"] = $_POST["userId"];

세션변수에 id 저장

session_destroy();

세션 데이터 삭제

세션 데이터는 기본적으로 /var/lib/php/session 경로에 저장된다.

ex) sess_o40luickegt294dfsdd0sess_랜덤문자열 적재는 변수명|자료형:바이트수:"값" 이런식

 

헤더 조작으로 주소변경

header("Location: login.html");

=> login.html로 리로딩

 

+

:set ff=dos

엔터가 \r\n이고

:set ff=unix

엔터가 \n 이다

 

+ vi 단축키

ctrl + w 한 후 ctrl + shift + - (= _) 창 크기 가로 최대로 키우기

ctrl + shift + \ (= |) 창 크기 세로 최대로 키우기
ctrl + = 창 크기 동일하게 맞추기

 

 

GET 방식
서버로 보내는 데이터가 header에 붙어가는 방식이어서 많은양의 데이터를 보낼 수 없다

브라우저 주소창에 데이터가 노출됨

POST 방식
서버로 보내는 데이터가 body에 붙어가는 방식이어서 많은양의 데이터를 보낼 수 있다

 

<form> 태그에서 method의 속성을 생략하면 기본적으로 GET 방식

 

서버에서 받을때
php: $_GET['변수명'], $_POST['변수명']
jsp: request.getParameter("변수명")

 

Burp suite 설치

+ 먼저 JRE 설치가 필요함

참고 : https://cafe.naver.com/linuxmasternet/32043

인터페이스가 살짝 변경되어 폰트사이즈, character sets 설정은 Message editor에 있다

Bind to address: Loopback only

 

크롬 확장 프로그램 switchyomega

https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif 

시크릿창에서 사용시 : [메뉴] > [설정] > [확장 프로그램] > [switchyomega 세부정보] > [시크릿 모드에서 허용]

옵션설정 chrome-extension://padekgcemlokbadohgkifijomclgjgif/options.html#!/profile/proxy

Direct : 프록시 사용x

System Proxy : 웹 데이터를 가로채지않음

Proxy : 웹 데이터를 가로챔

auto switch : 설정한 proxy 정보만 proxy 통과

 

 

proxy 설정, default는 기본

Apply changes 눌러서 적용

 

Burp switch Intercept on 설정하면 192.168.100.10 데이터가 잡힌다

Forward 누르면

로그인 창에서 버튼 눌렀을때 그 다음 스텝 데이터를 볼 수 있다

 

쿠키 제어 플러그인 EditThisCookie
https://chromewebstore.google.com/detail/copy-cookies/jcbpglbplpblnagieibnemmkiamekcdg?hl=ko%EF%BB%BF

 

'정보보안' 카테고리의 다른 글

정보보안7 5차시  (0) 2024.10.19
정보보안7 4차시  (0) 2024.10.13
정보보안7 2차시  (0) 2024.10.06
정보보안7 1차시  (0) 2024.10.05
정보보안6 8차시  (0) 2024.09.29