일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Reflected Xss
- css
- 게시판 만들기
- 세션
- 모의해킹
- 웹개발
- lord of sqli
- cors
- Cross Site Request Forgery
- 쿠키
- file upload
- JS
- sql injection point
- lord of sql injection
- Error based sql injection
- 과제
- Python
- php
- cookie 탈취
- XSS
- 로그인페이지
- union sql injection
- 로그인
- MySQL
- blind sql injection
- sql injection
- CTF
- csrf
- JWT
- Los
- Today
- Total
목록전체 글 (90)
Almon Dev

ctf 문제풀이 Login Bypass 4 풀이1> doldol / dol1234로 로그인해 봅니다.post요청으로 아이디, 비밀번호를 보낸 뒤, 로그인에 성공하면 302 리다이렉트 결과를 응답합니다. 2> sql injection 확인지난번 문제와 마찬가지로 아이디 입력은 sql injection이 존재하고, 비밀번호 입력은 존재하지 않습니다.UserId=doldol'+and+'1'%3d'1 >> doldol' and '1'='1 3> sql에서 가져오는 컬럼 개수 확인하기 (order by 사용)UserId=doldol'+order+by+2+desc# 를 통해 받아오는 컬럼의 개수가 2개인 것을 확인 4> 로그인 코드 예상해 보기db에서 비밀번호와 닉네임을 받아와서 인증절차를 따로 거치는 코드로 예상..

ctf 문제풀이 Login Bypass 3 풀이1> doldol / dol1234로 로그인해봅니다. 2> 리피터를 통해서 sql injection 확인해 보기id는 sql injection이 가능하고, password는 불가능합니다. 3> sql injection을 통해 가져오는 컬럼 개수 확인해보기 (컬럼은 2개)ex) UserId=doldol' order by 2 desc# 4> 로그인 코드 예상해 보기$sql = "select password,nickname from member where id='$input_id'";if( $input_pass == $db_pass ) { // 로그인} 5> normaltic3로 로그인해보기 (union 사용)UserId=doldol'+union+select+'..
5주 차 강의 1개월 정리웹서버WebServer : 정적인 페이지를 전송WebApplicationServer(WAS) : 동적으로 페이지를 생성DataBase : 데이터를 저장해 두는 공간Browser : 웹서버로부터 전송받은 데이터를 화면에 출력해 줌로그인식별 : 많은 데이터중에서 하나를 골라내는 것인증 : 본인이 맞는지 확인하는 것쿠키 : 브라우저에 데이터를 저장하는 방식세션 : 서버에 데이터를 저장하는 방식세션 ID : 어떤 세션을 사용하는 유저인지 구별하는 식별정보버프스위트웹 프록시 툴 : 서버와 클라이언트 사이에서 주고받는 데이터를 읽거나 변경가능 SQL Injection사용자가 입력한 값을 검증하지 않고 sql쿼리문에 넣을 때 발생하는 취약점입니다.// 로그인 쿼리문$sql = "select ..
게시판 만들기 게시글 삭제하기 delete_post.jsfunction deletePost(e, postId, categoryId, categoryName) { e.preventDefault(); if (confirm('게시글을 삭제하시겠습니까?')) { url = '/forum/db/delete_post.php'; fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json; charset=utf-8', }, body: JSON.stringify({ post_id: postId, category_id: categoryId, }), ..
게시판 만들기 게시글 수정하기 read_post.js const updateBtn = document.createElement('a'); updateBtn.textContent = '수정'; updateBtn.setAttribute( 'onclick', `updatePost(${categoryId}, '${post.title}', ${JSON.stringify( post.content )}, ${post.post_id})` ); update_post.jsfunction updatePost(categoryId, postTitleTe..
게시판 만들기 게시글 읽기 read_post.jsfunction readPost() { document.querySelectorAll('.td-title').forEach((tdTitle) => { tdTitle.addEventListener('click', (e) => { const post_id = e.target .closest('tr') .querySelector('.td-id').textContent; console.log(post_id); const pageNum = e.target.dataset.page_num; console.log(pageNum); const categoryId = e.target.dataset...
게시판 만들기 게시글 목록 category.jsconst categories = document.querySelectorAll('.category');categories.forEach((category) => { category.addEventListener('click', (e) => { const categoryId = e.target.getAttribute('data-category-id'); const categoryName = e.target.textContent; postList(categoryId, categoryName, 1); });});category 클래스를 가지고 있는 버튼을 누르면 카테고리 아이디와 카테고리 이름을 가지고 postList함수를 실행합니다. pos..

게시판 만들기 게시글 작성기능DB생성포스트를 저장할 posts 테이블을 생성합니다.create table posts ( post_id int auto_increment primary key, title varchar(100) not null, content text not null, writer_id int not null, created_at timestamp DEFAULT CURRENT_TIMESTAMP, updated_at timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, category_id int not null, views int not null DEFAULT 0, FOREIGN ..