일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 로그인페이지
- sql injection point
- CTF
- Error based sql injection
- 세션
- 쿠키
- blind sql injection
- XSS
- Los
- 모의해킹
- cors
- Cross Site Request Forgery
- MySQL
- 과제
- sql injection
- 웹개발
- file upload
- Reflected Xss
- 게시판 만들기
- cookie 탈취
- csrf
- Python
- lord of sqli
- union sql injection
- css
- php
- 로그인
- lord of sql injection
- JWT
- JS
- Today
- Total
목록CTF (7)
Almon Dev
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/kDwgh/btsMjHneDdm/cGVIKnWuOXr2scO54hjCi0/img.png)
Get Flag File 2파일 업로드 취약점을 이용해서 플래그를 찾으면 되는 문제입니다. 풀이 1. 로그인tester112 / 1234로 회원가입을 한 뒤 로그인합니다. 2. 게시판에 접근 & 파일 업로드해 보기게시판에서 파일 업로드 기능을 사용해 봅니다. 3. 파일 경로 찾기다운로드 버튼의 링크를 확인해 보니 download.php를 이용하는 것을 확인했습니다. 지난 문제와 똑같이 주석으로 파일의 경로를 확인할 수 있습니다. 4. 악성 파일 업로드php 업로드를 시도해 보았으나 alert 창이 뜨면서 실패했습니다.alert 창이 경로가 변경되지 않고 뜨는 것으로 보아 JS를 이용한 확장자 검사로 보입니다. Burp를 이용해서 서버의 응답을 가로채 JS를 수정하여 브라우저로 전송합니다. 다시 php ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bOTezx/btsMlC5sh1h/J0foY8vhmT0Nj5Pt3gmd70/img.png)
Get Flag File파일 업로드 취약점을 이용해서 플래그를 찾는 문제입니다. 풀이 1. 로그인(tester112 / 1234) 회원가입 후 로그인합니다. 2. 게시판에 접근게시판에 접근하여 글쓰기 기능에 파일 업로드가 가능한 것을 확인했습니다. 3. 파일 업로드해 보기정상적인 이미지 파일인 test.jpg를 업로드합니다. 4. 파일 다운로드 기능 확인파일 다운로드 경로를 확인하면 download.php를 활용해서 다운로드하는 것을 볼 수 있습니다.그리고 매개변수로 경로를 받고 있기 때문에 파일 다운로드 취약점으로 활용이 가능할 것 같습니다. 5. 파일 경로 확인download.php의 경로를 이용해서 파일에 접근하려 하였으나 실패했습니다. HTML 코드를 확인해 보니 주석으로 다운로드 파일의 경로가..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c15NNJ/btsMkDRzW0d/ljTIvByTXCDPmaPCRfcYAK/img.png)
WebShell 3파일 업로드 취약점을 찾아서 웹쉘을 업로드하여 flag 파일을 찾는 문제입니다. 풀이 1. 파일 업로드 취약점 찾기웹쉘을 업로드하기 위해서 파일 업로드 취약점을 찾아야 합니다. 1.1 로그인게시판에 접근하기 위해서 로그인을 합니다. (tester112 / 1234 계정 생성) 1.2 게시판 접근게시판에 접근하여 글쓰기 기능에 접근이 가능한지 확인합니다. 1.3 파일 업로드 기능 확인글쓰기에 파일 업로드 기능이 있는지 확인합니다. 1.4 파일이 업로드해 보기정상적인 jpg 파일을 업로드하여 서버에 업로드가 정상적으로 되는지 확인합니다. 1.5 게시글 확인게시글에 업로드한 파일의 다운로드 링크가 있는지 확인합니다.=> 다운로드 기능을 이용해 파일의 경로 확인이 가능합니다. 1...
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b5gBzW/btsLBMoAlZT/GFjGu5BaZWpHQHtF0uYJ5k/img.png)
ctf 문제 풀이 Steal Info 2 풀이1. XSS 포인트 찾기공지 사항 작성에 내용 부분에서 특수문자를 처리하지 않고 저장합니다. alert(1) 스크립트를 삽입하고 공지 사항에 접근해 봅니다. 2. 스크립트 삽입하기관리자 계정의 마이페이지 정보란을 가져오는 것이 목적이기 때문에마이페이지에 접근해서 DOM 구조를 파악해 봅니다. hori 클래스인 div안에 input이 하나 있는 구조로 이루어져 있습니다.같은 구조를 가진 input태그들 중 두 번째 태그가 정보란입니다.document.querySelectorAll('.hori input')[1] iframe을 삽입하고 마이페이지 정보란을 가져오는 스크립트를 생성합니다.const frame = document.querySelector('#fram..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b2EQ0S/btsLCFoIeF4/TEqquKMWrR4Q2F7nO8QN7k/img.png)
ctf 문제 풀이 Steal Info 풀이1. XSS 포인트 찾기공지 사항 작성에서 내용 부분에 특수문자를 처리하지 않고 출력하는 것을 확인했습니다. alert(1) 스크립트를 삽입하고 실행되는 것을 확인하였습니다. 2. 스크립트 삽입하기xss 취약점이 있는 곳과 가져올 데이터가 있는 곳이 다르기 때문에공지 사항을 읽을 때 iframe 태그를 이용해서 다른 사이트를 불러와 데이터를 가져오겠습니다. 우선 중요정보가 있는 사이트와 구조가 같은 사이트에서 데이터가 있는 태그를 찾아야 합니다. card-text라는 이름의 클래스를 가진 태그 중 두 번째 태그에 필요한 정보가 담겨있습니다. 삽입할 스크립트와 iframe태그를 만들고 삽입하겠습니다. 이제 해당 게시글에 접근하면 세션 정보를 이용해서 마이페이지에 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/GjjHB/btsKTaEksrX/2bTwGcgNVD7UXiskYzP3k0/img.png)
ctf 문제 풀이 SQL Injection 2 풀이1> sql injection 확인우선 주어진 normaltic을 입력해 봅니다. 그 외에 의미 없는 값인 a, b, c와 같은 값을 입력해 봅니다.ID에는 c가 나타났지만 info는 비어있습니다. a' #을 입력해도 ID는 그대로 뜨는 반면 info는 나타나지 않습니다.그렇다면 ID는 유저가 입력한 값을 그대로 나타내고, info는 db에서 가져온다고 생각해도 괜찮을 것 같습니다. a'처럼 sql문이 에러가 뜰만한 문자를 보내면 결괏값이 나오지 않는 것으로 봐서는 sql injection이 가능하다고 생각됩니다. 2> column 개수 확인하기 ( 6개 )a' order by 7#에서는 ID값 역시 나오질 않는 것으로 보아 sql문에 에러가 난 것을 알..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cCSuS2/btsKMboNpsg/gp4QubKw9i0z2SqtBL3VMk/img.png)
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+'..