분류 전체보기(42)
-
Samba & Mega sync
데이터베이스 수업중 풀어 제출할 문제가 들어있는 파일을 선생님이 선린 구름이 아닌 카카오톡에 올리셨다. 하지만 나의 컴퓨터 os는 우분투인지라 카카오톡을 설치하지 않았다. 그래서 나는 휴대폰으로 파일을 다운하고 클라우드에 올려서 노트북에 다운받아 해당 과제를 마쳤다. 하지만 이 시스템을 구축하면 이런 번거로운 작업을 안해도 된다. 바로 Samba 와 Mega 클라우드를 이용해 휴대폰과, 노트북, Mega클라우드 들의 파일을 싱크맞추는 것이다. 방법은 간단했다. 일단 내 노트북의 원하는 공간을 삼바서버의 디렉토리로 등록했다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 $ sudo apt-get install samba $ sudo smbpasswd secret -a..
2020.06.19 -
2020 RACTF - C0llide?
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 32 33 34 35 36 37 38 39 40 41 const bodyParser = require("body-parser") const express = require("express") const fs = require("fs") const customhash = require("./customhash") const app = express() app.use(bodyParser.json()) const port = 3000 const flag = "flag" const secret_key = "Y0ure_g01nG_t0_h4v3_t0_go_1nto_h..
2020.06.10 -
LOS - iron golem
소스코드를 봤을땐 sql이 에러가 나는지 안나는지만 구별할 수 있는 문제같다. 실제로 pw='dasdasdasd 이렇게 아루거나 써보면 다음과 같이 에러가 표시되는걸 볼 수 있다. 이 문제는 ' or ' 의 왼쪽이 참일때 오른쪽을 실행하지 않는 특징이나 ' and '의 왼쪽이 거짓일때 오른쪽을 실행하지 않는 특징을 이용하면 될 것 같다. 그래서 다음과 같이 파이썬 코드를 짜 보면 문제가 해결될 것이다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 ..
2020.05.14 -
HackCTF - Wise Saying
sql injection이 질려서 잠깐 HackCTF로 넘어왔다. 로그인은 아무 글자나 입력해도 로그인이 된다. 그게 중요한게 아닌가보다. 페이지별로 wise한 말씀이 있는 것 같다. 그리고 페이지소스를 보면 ?phpinfo=1 이라는 힌트가 있다. phpinfo를 관람할 수 있게 되었다. 여기서 취약점의 힌트를 얻을 수 있는 것 같다. 발견한 취약점으로는 allow_url_fopen 이 있었다. allow_url_fopen 기능이란 php 에서 include 를 사용할때 URL 방식으로 파일을 include 할수 있도록 해주는 기능이다. 아무래도 이걸 이용한 문제인것같다. 아까 page=1.say 같은 파리터에서 1.say는 실제 존재하고있는 파일이고 그걸 include해서 내용을 출력한게 아닌가 싶다..
2020.05.10 -
LOS - xavis
이번문제는 핵심힌트를 write-up을 봐버린 문제이다. 겉으로 봐선 평범한 blind sql injection 문제처럼 생겼다. 하지만 그동안 짜온 blind sql injection 코드를 이용하여 돌리면 답이 나오지 않는다. 일단 pw의 substr(pw,1,1)의 길이를 보면 비밀번호는 유니코드로 되어있던 것이다.. 유니코드는 https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_%EC%98%81%EC%97%AD 유니코드 영역 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 유니코드에는 연속된 코드 포인트의 집합인 영역(block, 블록)들이 있다. 각 영역의 이름은 유일하며, 그 범위는 다른 영역과 겹치지 않..
2020.05.09 -
LOS - zombie_assassin
쿼리를 참으로 만들기만 하면 입력한 문자열은 addslashes 함수를 거쳐서 strrev 함수에 의해 거꾸로 바뀌어 쿼리에 들어가게 된다. 서큐버스문제처럼 id에 \를 넣으면 id='\\' 와 같이 들어가게 된다. 만약 \이 아닌 addslashes함수가 \를 붙이는 문자는 "하고... "밖에 생각나지 않는다. 어쨋든 "를 넣어주면 서큐버스문제처럼 id에 들어가는 문자열은 "' and pw= 가 되고 뒤에 '이 남게 될 것이다. 그럼 '가 마지막에 찍히는것을 알고있으니 || 1=1 #(주석) 을 넣어주면 쿼리가 참이 나오게 될 것이다. strrev함수를 거치므로 이걸 반대로 넣어주면 %23%201=1%20||%20 (%20은 띄어쓰기이고 %23은 #이다)
2020.05.08