SegFault CTF - 4주차
·
Study/with normaltic
Burp Suite노말틱 웹해킹 스터디 4주차에서는 Burp Suite의 사용법 위주로 공부했다.Burp Suite는 클라이언트와 웹 서버 간의 통신을 분석할 수 있는 Web Proxy Tool이다.Burp Suite는 아래 공식 홈페이지에서 다운로드 받을 수 있다. 무료 버전은 'Burp Suite Community Edition'이다.https://portswigger.net/burp Burp Suite - Application Security Testing SoftwareGet Burp Suite. The class-leading vulnerability scanning, penetration testing, and web app security platform. Try for free today...
로그인 유지: 쿠키 & 세션
·
Study/with normaltic
왜 로그인 유지를 해야하는가?간단한 예를 통해 왜 로그인 유지가 필요한지 설명하겠다.로그인 페이지가 있어, 로그인을 하면 해당 유저의 점수를 출력하는 사이트가 있다. 하지만 정말로 로그인이 된 상태일까? 새로고침을 해도 페이지 내용이 변하지 않는걸 보면 로그인이 된 게 맞지 않을까?이에 대한 답은 '아니오'다. URL을 살펴보면 id의 값을 받는 것을 확인할 수 있다. 만약 이 id값을 바꿨을 때, 다른 유저의 정보 페이지가 출력된다면 이 클라이언트는 'nciwo'라는 아이디로 로그인됐다고 보긴 어렵다.URL의 파라미터 값만 바꿨다고 로그인을 하지 않고도 다른 유저의 정보를 열람할 수 있다. 이러면 로그인이 의미 없게 된다.그렇기에 로그인을 한 뒤 해당 유저가 로그인한 ID에 해당함을 서버에서는 알 수 ..
PHP와 MySQL
·
Study/with normaltic
MySQLMySQL은 Apache 재단에서 만든 대표적인 오픈소스 DBMS이다. PHP - MySQL 연동PHP는 대표적인 백엔드 언어로, 당연하게도 MySQL과 연동이 가능하다.PHP와 MySQL을 연동하는 방법은 크게 두 가지가 있다. mysqli를 이용하는 방법, POD를 이용하는 방법이 있다. 각각에는 장단점이 있다.PDO는 MySQL이 아닌 다른 DBMS와도 연동이 가능하다는 점에서 확장성이라는 장점을 가지고 있지만, MySQL의 최신 기능을 전부 지원해주지 못한다. 예를 들어, 여러 개의 query를 한 번에 보내는 Multiple Statements를 지원하지 않는다. 반면 mysqli에서는 Multiple Statements와 같은 MySQL의 다양한 기능들을 제공한다.※ PHP 내장 라이..
간단한 로그인 페이지
·
Study/with normaltic
index.php// index.php nciwo ID PASSWORD `` 태그에서는 POST Method를 이용해 id와 pw를 login_proc.php로 넘긴다. 아래의 php 구문은 로그인에 실패했을 시 login_php에서 파라미터를 통해 로그인 실패 이유를 받아와 띄운다.login_proc.php// login_proc.php받아온 ..
img2txt
·
Study/잡다한 것들
인터넷에서 우연히 점자 유니코드로 된 그림을 봤다. 재밌어 보여 만들어보기로 했다.계획이미지의 테두리만 남긴다.결과물이 잘리거나 하지 않게 해상도를 맞춰준다.4x2 픽셀들을 하나의 점자 유니코드(U+2800 ~ U+28FF)로 표현한다.물론 계획을 하고 시작하진 않았다..도라에몽우리 파란 너구리를 점자로 만들어버릴 거다.첫번째 단계이미지의 테두리만 뽑아내는 작업이다. 여러가지 방법이 존재하지만 난 그 중에서도 직관적인 방법을 택했다.import cv2 as cv# Open image fileimg_path = './doraemon.jpeg'img = cv.imread(img_path, cv.IMREAD_GRAYSCALE)# Extract only edgesblurred_img = cv.pyrUp(cv.p..
Web Server와 Web Application Server
·
Study/with normaltic
개요사용자가 크롬과 같은 브라우저를 열어 주소창에 www.google.com을 입력하면 구글 사이트에 접속할 수 있다.본 글에서는 구글이 사용자에게 웹페이지를 제공하는 개괄적인 내용을 다룬다. 보통 웹페이지를 제공하는 컴퓨터를 Web Server(웹 서버)라고 부른다. 경우에 따라 Web Server가 아닌 Web Application Server를 사용할 수도, 둘 다 사용할 수도 있다. 웹 서버 (Web Server)웹 서버는 정적 페이지를 제공한다. 대표적인 프레임워크로는 Apache, NginX가 있다.웹페이지를 예쁘게 보여주는 것은 클라이언트에 설치된 브라우저의 역할이지, 웹서버는 그저 웹페이지를 구성하는 코드를 보내줄 뿐이다.웹 서버에게 파일을 요청하자정적 페이지html, css, js와 같은..
리눅스 FTZ ssh 접속
·
Study/잡다한 것들
그냥 level1에 접속하려고 하면 이렇게 "Unable to negotiate with ~ port 22: no matching cipher found."라고 뜬다. 서버와 클라이언트 간의 암호화 방식이 달라서 오류가 나는건데, 이럴 땐 -c(cipher_spec) 옵션으로 암호화 방식을 밑에 나열한 "aes128-cbc, 3des-cbc, ..." 등등의 방식으로 설정해주면 된다. 잘 접속이 된다. 하지만 여기서 문제가 끝나지 않는다. 시작하기 위해 cat으로 hint를 출력하면 한글이 깨져서 나온다. Windows에서 접속할 땐 PuTTY로 접속하여 translation 옵션을 Use Font Encoding으로 설정하면 한글이 깨지지 않고 나올 수 있지만, 리눅스에서는 PuTTY를 사용할 수 없기..