일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- cors
- 로그인
- lord of sqli
- Error based sql injection
- XSS
- Cross Site Request Forgery
- php
- sql injection
- 웹개발
- css
- file upload
- 게시판 만들기
- JS
- MySQL
- sql injection point
- Los
- 로그인페이지
- cookie 탈취
- 쿠키
- union sql injection
- csrf
- JWT
- 과제
- lord of sql injection
- 세션
- blind sql injection
- CTF
- Python
- Reflected Xss
- 모의해킹
- Today
- Total
목록모의해킹 (7)
Almon Dev
인증 / 인가 취약점 인증 / 인가 정의인증 : 사용자 본인이 맞는지 확인하는 것ex) 로그인(ID/PW), 본인인증(이메일, 지문, OTP 등) 인가 : 사용자에게 권한을 부여하는 것ex) 관리자만 공지사항 작성 가능, 회원만 파일 다운로드 가능 인증 취약점 사례 클라이언트 측 정보로 인증클라이언트 측 정보로 인증을 하는 경우 악의적인 사용자가 쉽게 변조할 수 있습니다.ex) Cookie 변조, JS 인증 직접 접근인증절차를 거쳐서 접근해야 하는 페이지에 직접 접근이 가능한 경우가 있습니다.ex) 회원가입 시 본인인증 페이지(/auth.php)를 뛰어넘어 /signup.php에 직접 접근 응답갑 변조서버에서 응답으로 인증 결과를 받은 뒤, 클라이언트에서 성공 여부를 판단할 때 응답값을 성공으로 ..
5주 차 강의 1개월 정리웹서버WebServer : 정적인 페이지를 전송WebApplicationServer(WAS) : 동적으로 페이지를 생성DataBase : 데이터를 저장해 두는 공간Browser : 웹서버로부터 전송받은 데이터를 화면에 출력해 줌로그인식별 : 많은 데이터중에서 하나를 골라내는 것인증 : 본인이 맞는지 확인하는 것쿠키 : 브라우저에 데이터를 저장하는 방식세션 : 서버에 데이터를 저장하는 방식세션 ID : 어떤 세션을 사용하는 유저인지 구별하는 식별정보버프스위트웹 프록시 툴 : 서버와 클라이언트 사이에서 주고받는 데이터를 읽거나 변경가능 SQL Injection사용자가 입력한 값을 검증하지 않고 sql쿼리문에 넣을 때 발생하는 취약점입니다.// 로그인 쿼리문$sql = "select ..

4주 차 강의Burp Suite버프스위트는 웹 프록시 툴입니다.=> 클라이언트가 서버에 요청을 보낼 때 버프스위트를 통해서 보내고 응답받습니다.=> 클라이언트의 요청과 서버의 응답을 확인하고 수정할 수 있습니다. 버프 스위트 다운로드https://portswigger.net/burp/communitydownload Download Burp Suite Community Edition - PortSwiggerBurp Suite Community Edition is PortSwigger's essential manual toolkit for learning about web security testing. Free download.portswigger.net 버프 스위트 기능버프 스위트를 처음 실행하면 나오는..
로그인 식별과 인증식별 : 많은 사용자들 중에 한 사람을 구분하는 것입니다=> 외부에 노출되어도 크게 지장이 없습니다.ex) 아이디, 이메일, 휴대폰 번호인증 : 사용자가 제공한 식별정보가 사실인지 확인하는 것입니다=> 외부에 노출이 되어서는 안 됩니다.ex) 비밀번호, 지문, 얼굴인식고유 식별 정보 : 개인마다 하나씩 부여되는 고유한 식별 정보입니다.=> 식별 정보지만 외부에 노출되어서는 안 됩니다.ex) 주민등록번호, 여권번호, 운전면허번호 로그인 로직식별 - 인증 동시 : sql 쿼리문에서 조건문을 이용해 식별과 인증을 한 번에 처리합니다.ex) select * from users where id='admin' and password='admin1234';식별 - 인증 분리 : sql 쿼리문으로 식..

오늘은 드디어 mysql을 이용해서 users.txt를 대체할 겁니다.mysql을 사용하기 위해 여기저기서 사용될db에 접속해서 sql문을 실행하는 동작을 함수로 만들어서 mysql.php에 저장했습니다. mysql.php $conn = mysqli_connect($host, $id, $password, $dbname);conn이라는 변수에 db에 접속한 mysqli 객체를 저장합니다. 실패 시에는 false가 저장됩니다. if (!$conn) { die("mysql 연결 에러 : ". mysqli_connect_error());}if (!$result) { die("쿼리문 에러 : " . mysqli_error($conn));}이 부분은 mysql 커넥션과 쿼리문의 응답이 제대로 왔는지 검사..

고민사실 4,5일 차는 어떻게 해야 할지 고민하는 시간이었습니다.글쓰기 기능을 추가하려고 보니 txt파일로 DB를 대체하는 것은점점 복잡해지는 것 같습니다폴더를 board --- ID --- Title 이런 식으로 구성하고,글의 내용을 작성시간(수정시간):글내용 이런 식으로 저장해보려고 했으나이제는 그냥 DB를 쓰는 게 더 나을 거 같다는 들어 Mysql을 사용해보고자 합니다. 우선 mysql의 비밀번호부터 설정합니다.처음 mysql을 설치하고 나면 root의 비밀번호가 설정되어있지 않습니다.이는 보안상 매우 취약하기도 하니 비밀번호를 설정해 줍니다. sudo mysql_secure_installationmysql설치 시 다운로드되는 mysql_secure_installation 스크립트를 실행합니다. ..