WEB BASIC Web Service Web browser: chrome, IE HTTP: 심플함. 웹서비스를 하기 위한 프로토콜 www: 문서 공유를 위해 만들어짐. 웹 서버: 파일을 저장. 클라이언트가 웹서버에 요청(request)하고, 웹서버가 응답(response)을 한다. 웹서버에 파일 양이 점점 많아짐 -> DB를 만들게 되었...
APM Setting Happy Hacking! 문구가 보이는 페이지 GET/POST 데이터 전달해보기 DB에 데이터를 넣고 화면에 출력해보기
로그인 기능 구현 메인 페이지 만들어 두기 -> 로그인 되어야만 들어갈 수 있는 화면 -> 현재 누구로 로그인되어 있는지 알려주기 로그아웃 기능 구현
회원가입 기능 구현 - ID 중복 검사 기능 - 회원가입이 되어야 한다.
오류를 만났을 때 문제 해결 팁: 왜 그 문제가 일어나는지 알아야 함. 복붙만 하면 결국 해결을 못하게 됨 에러 메시지 확인! 뭐가 문제인지 출력해보기 PHP 에러 출력 방법 mysql 에러 출력 방법 -> 디버깅 로그인 HTTP 프로토콜 > request/response 웹서버: 가상머신 client: local machine HTTP: Sta...
1이 붙은 이유는 완벽하지 못해서 그렇다.
2주차 해킹 과제
3주차 수업 정리
여러 로그인 로직의 우회 기법 연구는 피곤한 관계로 이번주 내로 올릴 것이다. 우선 기본적인 형태이다. 식별&인증 기본적인 식별과 인증을 동시에 진행하는 형태로 SQL Injection에 취약하다. 식별/인증 분리 기본적인 식별과 인증이 분리된 형태로 이 역시 UNION을 통한 SQL Injection에 취약하다. 아래부터는 위의 두 방식의 여러가...
SQL Injeciton: 공격자가 SQL문을 삽입하는 공격 - 종류 (1)SQL 질의문이 화면에 보이는 곳 ex) 게시판 쿼리문을 통해서 질의를 하고 응답을 받음. 회원정보(마이페이지) 주소 검색, 검색 페이지 ... 등등 (2)SQL 질의문이 화면에 안나오는 곳 ex) 로그인, 아이디 중복 체크 위의 상황들에 따라 접근하는 전략이 달라짐. ...
이전편: https://velog.io/@azurp158/4주차-과제WEB1 우선 4주차 첫번째 과제에서 걸렸던 Roadaddr에 값이 제대로 저장되지 않았던 이유는 이거 때문이었다. 어쩔때는 값이 전달되기도 했지만, 값이 제대로 전달되지 않은 경우가 대부분이었다.
이전: https://velog.io/@azurp158/4주차-과제WEB2이전 작업과 이어진다.
Blind SQLi: SQL문의 참과 거짓의 조건으로 데이터를 추출하는 기법
어제 배웠던 Blind SQLi에 대해서 복습 및 실습을 진행해보았다
1. requests 설치 2. requests import 3. request 보내기 이 이외에도 delete, options, patch 요청이 있지만 주로 사용하는 요청들은 GET, POST를 사용한다. 4. GET 요청 파라미터를 전달할 때 아니면, format을 이용하는 방법도 있다. 5. POST 요청 파라미터의 경우 딕셔너리 형태...
결과물 read_index.php 페이지이다. 아직 페이지가 완성되지 않아, DB에는 여러 게시글이 있지만, 게시글 하나만 출력하는 모습이다. read.php 페이지이다. css를 적용하지 않아 보기 흉하지만, 쿼리문을 통해 서버로부터 데이터를 잘 읽어오는 것을 알
6주차 수업 내용이다.
해당 문제는 XSS를 실습할 수 있는 문제이다. 이 문제는 처음에 로그인을 하고 들어가면 게시판이 있는 것을 알 수 있다.글 쓰기를 누르면 아래와 같이 제목과 내용에 글을 쓰고 create 버튼을 누르면 게시글이 작성이 완료된다.해당 코드를 제목과 내용에 넣고 게시글을
이전 과제: https://velog.io/@azurp158/5주차-과제WEB1 6주차 과제 게시글 수정 게시글 삭제 게시글 검색 지난 주에 이어서 기능을 하나씩 추가한 모습이다. 지난주에 부족했던 부분을 해결함과 동시에 기능을 추가했다. 결과물 게시글 수정 로그인을 했을 때, 게시판에서 제목을 누르게 되면 read.php로 이동하게 된다. !...
SQL Injection SQL Injection: 임의의 SQL문을 삽입해 실행하는 공격 인증 우회, 데이터 추출, 변조 등 DB에 임의의 명령을 내릴 수 있다. 공격 유형 Union SQL Injection SQL 질의문을 넣었을 때 결과값이 보이는 경우에 사용 Error based SQL Injection 화면에 Error 메시지가 나왔을 ...
Blind SQL Injection 내가 만든 웹서버를 통해서 공격을 해보는 시간을 가져보았다. 위와 마찬가지로 간단하게 뚫리는 것을 볼 수 있다. 사실은 Blind SQLI를 쓸 것도 없이, 아래와 같은 방법으로 쉽게 뚫린다. 하지만 오늘은 Blind SQLI를 실습하기 위해서 아래와 같은 방법으로 공격을 진행해보았다. 먼저 form을 아래와 같이 ...
7주차 웹 과제: 게시글 페이징<, 1, 2, >와 같이 게시글 페이징에 대해서 구현을 해보았다.
read_index.php가 get 메소드로 word와 page를 받게 만들어 검색 후에 페이지를 넘기더라도 아무 문제 없이 넘어가도록 만들었다.
이전에 배웠던 Stored XSS와는 달리 서버에는 저장이 되지 않는 공격Reflected(반사)라는 뜻은, 클라이언트 측에서 입력한 정보가 다시 클라이언트 측에 나타나는 것을 의미한다.이와 같이 사용자가 입력한 값이 출력이 되는데, 이 떄, script를 넣어서 sc
과제 : 각 문제별 XSS 취약점 확인하기 공통 로그인을 하게 되면 이런 화면이 날 반겨준다. 마이페이지지만 개인 정보를 수정할 수 없다. 공지사항에 가면 이렇게 글을 쓸 수 있다. ![](https://velog.velcdn.com/images/azurp158/post/fa4ac628-c063-4c13-af9
file에 한정해서 chmod 777을 했었다. 이렇게 하면 문제가 생길 수도 있다고 하기에
교과서적으로 하지마라 -> 해커, 공격자 입장에서 해볼 것 anti XSS Bypass Block List 필터링 WAF(Web Application Firewall): 웹 어플리케이션 요청할 때 그 요청한 값을 봐서 차단을 함. Firewall : IP를 이용해 막음 Client side 검증 우회: javascript로 검증. -> Burp ...
이전 과제: https://velog.io/@azurp158/8주차-과제WEB 결과물 업로드했던 파일을 다운로드할 수 있게 만들었다. 코드 서버에 저장되어 있는 파일을 불러오는 이전 코드와는 다르게 현재 코드는 download.php에게 GET 방식으로 file 이름을 전달한다. header의 경우 content-type, content-lengt...
취약점 분석 해당 페이지에서는 referer-check가 제대로 실행되지 않아 어느 페이지에서나 실행이 가능한 것으로 파악했다. 하지만, 요청마다 세션 ID를 필요하기 때문에 사용자가 로그인을 한 상태에서 접근하게 만들어야 한다. ![](https://velog.velcdn.com/images/azurp158/post/bdc4b557-
남들이 속을 정도로 정교하게 CSRF 공격을 시도해볼것.
cmd.php cmd.php를 만든다. 이를 파일에 첨부해 올린다. 파일 업로드에서 이를 검증하지 않아 그대로 저장되는 것을 알 수 있다. 이를
SSRF란, Server-Side Request Forgery로 CSRF와는 다르게 서버에 요청을 보내는 공격을 말한다.주로, 서버가 다른 서버로부터 요청을 보낼 때, 즉 api를 사용할 때 이러한 공격이 일어난다.
index.php에 'change my information' 버튼을 만들었다. 이는 mypage.php로 넘어가게 된다.mypage.php 페이지이다.비밀번호가 다르면 위와 같이 알람창이 나오는 것을 알 수 있다.변경이 완료되면 logout이 자동으로 된다.다시 로그
주통기반 취약점 별 공격 시나리오.
주통기반 취약점 별 공격 시나리오 및 방어 방법