일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 웹해킹
- 포렌식워게임
- 워게임
- NavBar
- MongoDB
- 써니나타스
- 이진탐색트리
- gitbash
- 자바기초
- CTF
- mongoose
- 자바
- node
- 그래프
- 웹해킹기초
- materialize
- nodeJS
- bootstrap
- 뷰
- 이진트리
- 웹기초
- 워게임추천
- 자바문제풀이
- 자료구조
- GIT
- 포렌식
- node.js
- 웹개발
- wargame.kr
- Express
- Today
- Total
목록CTF (8)
보안 전공생의 공부
첨부된 파일을 다운받았는데 용량이 컸다 ! 압축풀이를 하다보면 비밀번호를 입력하라는 게 있는데 저기 pw에 있는 문구를 입력하면 된당 압축을 푼 파일에 있는 ad1 파일이 눈에 띈다 jonnastudy.tistory.com/37?category=908721 윈도우 포렌식 도구 사용법 | FTK Imager ( 참조 : m.blog.naver.com/PostView.nhn?blogId=bitnang&logNo=70175434418&proxyReferer=https:%2F%2Fwww.google.com%2F , tutto-forensic.tistory.com/1 ) 포렌식 작업에서 발생할 수 있는 사고 방지를 위해 미.. jonnastudy.tistory.com FTK Imager 툴을 사용해 파일을 읽어보..
php 트릭을 이용하라는 점을 기억해야한다 !! 각 링크를 클릭해보면 prob page는 얻을 정보가 없다. source page를 들어가보면 조건문이 있다. 입력받은 변수 a값이 12735366333132132465461????????????????????????????? 과 일치하면 key값이 나온다, php 트릭을 이용하라한 점을 되새기며 이것저것 취약점을 찾아보았다. urlencode 함수의 취약점은 딱히 검색되는게 없었고, == 취약점을 검색해보니 엄청난 정보들이 검색되었다 !! 그래서 이 취약점에 대해 더 찾아보기로 하였다. 비교연산자 ==은 왼쪽과 오른쪽의 값이 같을 때에만 true라는 결과가 나오는데 17자리를 넘는 두 수를 비교할 때에는 미세한 값의 차이가 있어도 같은 값이라고 인식한다...
페이지 소스코드를 확인해보았다 이렇게 12342046413275659 라는 힌트가 있다. 입력창에 그대로 입력해보면 아무런 변화가 나타나지 않는다. 이를 활용해서 풀어야되는 것 같다. 저번에 풀었던 문제처럼 난독화가 되어있다 ! jonnastudy.tistory.com/3 wargame.kr #6 fly me to the moon | javascript 난독화 start를 눌러주니 웬 게임창이 뜬다. 비행기가 형관선에 안 닿게 유의하면서 조종하여 점수가 31337점이 나와야 게임이 성공한다. javascript 구문을 우회하여 게임에 성공해야 되는 것 같다. 소스 jonnastudy.tistory.com ▶ 자바스크립트 난독화 자바스크립트는 클라이언트(Client)에서 실행되도록 하는 언어여서 사용자..
Hint 에서는 'Reading suninatas's Writing!^^'라고 써져있다. KeyFinding도 눈에 띈다. Writer가 suninatas인 3번 게시물에 들어가보았다. 밑에 쿼리문은 이러하다. select szPwd from T_Web13 where nldx='3' and szPwd='"&pwd&"' → T_Web13에서 nldx가 3이고, szPwd가 &pwd&인 컬럼의 szPwd을 검색해라. SQL Injection 기법을 이용해 비밀번호를 입력해야 할 것 같다. 비밀번호에 대한 정보가 아무것도 없으니 말이다. noirstar.tistory.com/264 SQL Injection 이란? (SQL 삽입 공격) 1. SQL Injection 1.1 개요 SQL Injection SQ..
당연히 안되겠지만 admin/admin을 입력해보았다. 역시나 안됐다 ㅎㅎ 소스코드를 한번 봐보았다. 스크립트문을 보니 id와 pw가 같으면 안된다. 밑에 주석으로 힌트가 주어졌다. 힌트는 스크립트문과 다르게 id와 pw가 같다고 한다. 그렇다면 chk_form()함수를 수정해야한다 ! 특히 if문을 지워야할 것 같다. 개발자도구 콘솔로 스크립트를 수정할려고 한다. 이미 작성된 페이지 코드는 개발자도구 콘솔을 통해 수정할 수 있기 때문이다 :) 원래 스크립트 문에서 변수 id, pw를 선언, 초기화한것과 else문 안의 document.web02.submit(); 만 함수 안에 있도록 수정해주었다. 다시 맨 처음처럼 admin/admin을 입력해주면 Authkey가 나타난다 !!
preg_match라는 함수가 낯설다. preg_match('/대조할 문자/', '입력한 문자', $matches); 구조이며 - 대조할 문자 : 찾거나 필터링하고 싶은 문자열 ( 특수문자일때는 앞에 \ 붙이기) - 입력한 문자 : 사용자가 어떤방식이든 입력 받아 담은 특정 변수 - $matches : 대조할 문자 == 입력한 문자 일때 그 문자는 배열형태로 $matches에 저장 ( 출처 : https://flash-ctf.tistory.com/43 ) 이를 활용해 해석해보면 pw에 공백이 존재하면 안된다. (이때 / 뒤에 붙은 i는 대소문자를 구분하지 않는다는 의미이다.) 그리고 마지막에 있는 if문을 보면 pw와 무관하게 id가 admin 일 때 문제가 풀리는 것을 확인..
◆ Blind SQL Injection 서버에서 내부 오류 메시지를 외부에 공개되지 않도록 구성한 경우 Type 변환 오류 메시지를 사용한 Database구조 파악이 불가능 → substring(문자열, 시작위치, 길이) 문자열의 특정 문자열을 한 글자씩 찾아가는 Blind SQL Injection 공격 시도 Query 결과에 따른 서버의 참/거짓 반응을 통해 공격을 수행한다. (Target 사이트에서 참/거짓을 구분지을 수 있는 페이지가 존재해야함) 이를 통해 db명, 테이블명, 컬럼명 ID, PW 등을 알아낼 수 있다. (출처 : https://peemangit.tistory.com/151 ) id는 admin 이고 pw 파라미터 값을 입력받아야 한다. 그러나 db에 있는 pw에 대한 ..
start를 눌러주니 웬 게임창이 뜬다. 비행기가 형관선에 안 닿게 유의하면서 조종하여 점수가 31337점이 나와야 게임이 성공한다. javascript 구문을 우회하여 게임에 성공해야 되는 것 같다. 소스코드의 스크립트 구문은 도통 뭘 말하는 건지 알 수 없게 난독화되어 있다. ▶ 자바스크립트 난독화 자바스크립트는 클라이언트(Client)에서 실행되도록 하는 언어여서 사용자가 웹사이트에 접근하게 되면 해당 스크립트를 그대로 볼 수 있게 된다. 이를 방지하고자 적용하는 기법이다. (출처 : https://kkamikoon.tistory.com/165 ) 이 난독화 된 스크립트 구문을 해독해야 문제의 단서가 보일 것이다. 문제에서 난독화 수준은 문자열로 치환한 정도로, 이를 해독하는 사이트가 있다...