| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 |
| 30 |
- csrf
- FridaLab
- lord of sql injection
- XSS
- union sql injection
- 문제 풀이
- cookie 탈취
- 로그인
- MySQL
- JS
- file upload
- php
- sql injection point
- Los
- 웹개발
- Python
- blind sql injection
- 모의해킹
- 보안 패치
- 게시판 만들기
- 세션
- sql injection
- 보고서
- 로그인페이지
- Error based sql injection
- 웹 개발
- CTF
- 증적 사진
- 웹 해킹
- 과제
- Today
- Total
목록전체 글 (127)
Almon Dev
ctf 문제 풀이 SQL Injection 1풀이1> sql injection 확인ma%' and '1' = '1' # 을 실행해서 sql injection이 가능하다는 것을 확인했습니다. 2> column 개수 확인하기ma%' order by 5# 을 했을 때 데이터가 출력되지 않으므로, column의 개수는 4개로 확인됩니다. 3> 출력되는 column의 위치 찾기ma%' union select 1,2,3,4 #을 통해 4개의 column 중 몇 번째가 출력되는지 확인했습니다.4개 모두 출력이 됩니다. 4> db명 알아내기(sqli_1)ma%' union select 1,2,3,database() #으로 db의 이름을 추출합니다. 5> table이름 알아내기 (flag_table, plusFlag_T..
6주 차 강의 SQL Injection사용자가 sql문을 삽입해서 인증을 우회하는 방법DB를 사용하는 곳을 찾아야 함db에서 가져온 데이터가 화면에 출력되는가?데이터가 나오는 경우 : 게시판 => 게시글이나 작성자 등나오지 않는 경우 : 로그인, 중복체크 => 결과만 알 수 있음 데이터 추출 방법웹페이지에 데이터가 출력되는 경우 union을 이용해서 데이터를 출력할 수 있습니다.union : select를 한번 더 사용 가능하게 해주는 sql문법ex) select * from member union select ~~~=> 컬럼수가 같아야 합니다.order by : 특정 컬럼을 기준으로 정렬하는 sql 문법ex) order by [column or index] [desc/asc]=> select의 가장 뒤..
ctf 문제 풀이 Pin Code Crack 풀이1> 1111 보내보기checkOTP.php에 get으로 핀번호를 보내는 것을 확인했습니다. 2> 공격방법 생각해 보기핀번호의 범위가 정해져 있고, 여러 번 시도해도 잠금이 걸리지 않으니 브루트 포스 공격이 적당할 것 같습니다.버프스위트의 intruder를 이용해서 시도해 보겠습니다. 3> burp suite/6/checkOTP.php?otpNum=§1111§의 §사이의 값을 0000부터 9999까지 1씩 증가하면서 요청을 보냅니다.그런데 무료버전의 burp는 매우 느리기 때문에 python을 사용하도록 하겠습니다. 4> python실패했을 때의 응답인 와 비교해서다른 응답이 온다면 반복문을 멈추고 결과를 출력합니다.1021을 입력하면 index.php로..
ctf 문제 풀이 admin is mine 풀이1> doldol / dol1234 로그인해 보기 => loginProc.php에 get메서드로 아이디와 비밀번호를 전달 => 로그인에 성공하면 {result: 'ok'}를 응답하고 index.php로 이동 2> index.php에 접근해 보기자바스크립트로 login.php로 리다이렉트 시키는 것이 보입니다.그리고 그 밑에 html코드가 그대로 노출되네요. 3> js 확인해 보기서버에서는 결괏값으로 {result: "ok/fail"}를 응답하고 있습니다.그렇다면 클라이언트 측에서 로그인에 성공했을 때 리다이렉트를 시켜주는 자바스크립트 코드가 있어야 합니다. 4> 로그인 로직 추측1. 아이디와 비밀번호를 get으로 받아옵니다.2. 서버에서 아이디와 비밀번호를 ..
ctf 문제풀이 Secret Login 풀이1> doldol / dol1234 로그인해 보기로그인 성공 시 302(리다이렉트) 반환 > index.php로 이동 -> 닉네임 표시 2> sql injection 확인아이디와 비밀번호 입력창 모두 sql injection이 가능하고,sql문이 아이디와 비밀번호를 한 번에 검증하는 것으로 추측됩니다.UserId=doldol'#&Password=dol1234 => id 입력이 sql injection이 가능한지 확인UserId=doldol'#&Password=dol1234'# => 비밀번호 입력 sqli 가능 확인UserId=doldol'#&Password=testdol1234 => sql에서 비밀번호를 함께 검사하는지 확인아이디 입력창에서 #으로 주석처리를 했..
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 ..