su - > 관리자 권한을 획득(?) 하여 매번 sudo를 붙이지 않아도 모든 명령어를 관리자권한으로 실행 할 수 있다.
clear > 화면정리
cd > 해당위치 이동
vi
vi > 편집
vi 해당위치 입력후
a > 편집
dd > 현재 커서에 해당하는 줄 삭제
esc > 편집상태 해제
:w > 저장
:q > 나가기
:wq > 저장후 나가기
#웹 취약점
* 인덱싱- 서버 설정으로 인해 인덱스 노출
예상피해 : 웹 서버 내의 디렉토리 구조와 파일이 노출되 자료유출, 정보유출등의 피해가 발생 할 수 있다.
예방방법 : 웹 서버에서 디렉토리 인덱싱 기능을 비활성화 한다.
> Option Indexes FollowSymLinks 를 Option FollowSymLinks 로 변경
* 아이디/ 패스워드 메시지- 아이디 또는 패스워드가 틀렸을때 어떤값이 틀렸는지에 대한 정보는 공개하지 않는다.
예상피해 : 무작위 대입공격의 대상이 될 수 있다.
예방방법 : 아이디 또는 패스워드가 일치하지 않는다고 메시지를 출력해주는것이 바람직
* SQL injection- SQL 쿼리문을 입력해 공격함
예상피해 : DB의 정보유출, 아이디 입력하고 ' or 1=1# 입력해 로그인 등
(해당문장으로 1=1은 참, or문으로 둘중 하나라도 참이면 참, #뒤에는 주석 처리함으로 로그인이 될 수 있다.)
예방방법 : PDO(PHP Data Object) 기능사용
PDO의 기능 중에 Prepared Statements활용, 파라미터를 제외한(어떠한 외부 데이터도 들어가지 않은) 완전히 뼈대만 있는 쿼리문을 만들고, 나중에 데이터들을 입력하여 SQL문을 실행 미리 실행될 SQL의 구조를 만든 후, 나중에 데이터를 입력하는거라 나중에 입력되는 변수를 PDO쪽에서 자동으로 이스케이핑을 하기에 사용자가 악의적인 문자열을 입력하여도 모두 알아서 이스케이프 시키니 SQL문에 어떠한 조작도 가해질 수 없음
* xss- 공격하려는 사이트에 스크립트를 넣는 기법
예상피해 : 사이트 접속자의 쿠키, 세션등의 정보유출, 의도치않은 행동수행 등
<script>
alert<document.cookie);
</script>
예방방법 : xss필터를 만든 뒤, wab.xml에 선언하여 모든 파라미터값이 해당 필터를 거치도록 함
# 회고
아무렇지 않게 매일 사용하던 브라우저나 웹서버에 대한 개념에 이해를 하고나니 대략적인 그림이 그려지기 시작했다.