반응형

1. Not Another SQLi Challenge


접근하면 로그인창이 뜬다.

소스코드 단에 아무런 힌트가 없어 특정 계정으로 로그인하는게 아닌가 하여 test 계정과 admin 계정을 이용하여 로그인을 시도해보다가 그냥 or을 이용하여 로그인을 시도해보았더니 성공하였다.


NetID : ' or 1/*

Password : */-- 


Flag : gigem{f4rm3r5_f4rm3r5_w3'r3_4ll_r16h7}


2. Robots Rule

문제에 접근해서 소스코드를 보아도 아무런 힌트가 없었다.

문제에서 robots 라는 단어가 들어가 혹시나 하여 robots.txt에 접근해보았더니 아래와 같은 문자열이 출력되었다.


영어로 된 부분을 잘 보면 Google Robots라는 단어가 있어 혹시나 하여 User-Agent를 googlebots로 변경하니 flag가 출력되었다.




Flag : gigem{be3p-bOop_rob0tz_4-lyfe}


3. Science!

해당 문제에 접근하면 아래와 같은 화면이 뜬다.


친절하게 Flask라는 것을 알려주고 문자열 입력할 부분을 알려주니 SSTI라고 판단하고 Chemical One 부분에 {{7*'7'}}을 입력하였다.

그 결과 7이라는 문자열이 총 7개가 뜨는 것을 통해 해당 서버는 Jinja2임을 알 수 있다. (Twig에서는 49라고 출력될 것이다)

이제 SSTI를 이용하여 명령어를 실행하기 위해 아래와 같은 명령어를 사용하였다.


https://www.lanmaster53.com/2016/03/11/exploring-ssti-flask-jinja2-part-2/ 를 참고하여 ls 명령어를 실행하였다.



그 결과 ls의 명령어를 통해 flag.txt가 존재하는 것을 확인하였고, /bin/cat flag.txt 명령어를 통해 flag를 획득할 수 있었다.


flag : gigem{5h3_bl1nd3d_m3_w17h_5c13nc3}


4. Buckets

문제에서 s3 bucket website를 확인하라고 하였다. 그래서 나는 aws console을 이용하여 명령어를 실행해보았고 역시나 취약하여 서버 내 파일 리스트가 확인되었다.



그래서 sync 명령어를 통해 해당 s3 bucket에 있는 모든 파일을 다운로드 받았다.



다운로드 받은 항목에서 Dogs 폴더 내에 flag.txt 파일이 있었고 해당 파일을 열어 flag를 획득할 수 있었다.


flag : flag{W0W_S3_BAD_PERMISSIONS}


5. Bird Box Challenge

문제 접근하면 Search Me라고 하여 문자열 하나를 받는다.

여기에 몇개 문자열을 입력하다가 문제 설명에 나와있는 Aggies, Trucks, Eggs가 생각나 입력해봤더니 사진이 출력되었다.


여기에서 Blind SQL Injection이 터짐을 알 수 있다. (문제에서 나와있는 사진은 Blind를 의미하는 것이였다..)


그래서 blind sql injection을 통해 해당 서버에서 정보를 뽑아봤는데 아래와 같이 특별이 정보가 보이지 않았다.


그래서 일단 union 쪽으로 알아보기 위해 order by를 이용하여 select 하는 컬럼이 한개임을 확인하였다.


1. 컬럼 갯수 확인


order by 1#일 때는 위 사진처럼 제대로 작동하지만 order by 2#일 때는 검색할 수 없다고 뜨는 것을 통해 컬럼 갯수는 1개임을 확인할 수 있다.


2. union 사용


union 을 시도하였는데 해당 명령어를 사용하게 두지 않을거라고 뜬다. 따라서 이를 우회하면 될거라 생각하였다.


3. 필터링 우회


몇가지 테스트한 결과 union select 부분을 감지하는 것으로 보아 개행문자를 통해 해당 필터를 우회하였고 정상적으로 입력한 1이 뜨는 것을 볼 수 있다.

이를 통해 여러가지 확인하였고 user 명을 보면 flag가 있는 것을 확인할 수 있었다.


flag : gigem{w3_4r3_th3_4ggi3s}

반응형

'Hacking Contest' 카테고리의 다른 글

[Sunshine CTF 2019] Wrestler Name Generator  (0) 2019.03.31
[Sunshine CTF 2019] WrestlerBook  (0) 2019.03.31
[35c3ctf.ccc.ac]sanity check  (0) 2018.12.28
[2018 X-MAS CTF] Our Christmas Wishlist  (0) 2018.12.15
picoCTF 2018  (0) 2018.10.13
블로그 이미지

rootable

,

SSTI in Flask

2019. 2. 24. 23:58

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

AWS configure

2019. 2. 23. 11:49

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

반응형

Kali Linux에서 VMWare Tools를 제대로 설치하였지만 Auto Fit도 안되고, 파일 복사붙여넣기, 문자열 복사 모두 동작하지 않았다.


그래서 구글링하여 해결한 방법을 공유한다.

아래의 사항들은 다른 블로그들에서 공유하는 vmware-install.pl을 통해 설치하였을 때제대로 동작하지 않았을 경우에 해당한다.


1. open-vm-tools와 open-vm-tools-desktop 설치

#apt-get install open-vm-tools

#apt-get in stall open-vm-tools-desktop

#reboot


만약 위의 명령어를 입력하고 제대로 동작하면 가장 Best

나의 경우 위의 명령어를 입력하였을 때 아래와 같은 에러가 발생하였다.


위와 같이 에러가 뜨거나 설치가 되었다는데도 제대로 동작하지 않을 경우 2번 항목으로 넘어가자.


2. apt-get update와 apt-get upgrade

#apt-get update

#apt-get upgrade


위의 명령어들 입력 후 새로 업데이트 혹은 업그레이드를 진행한다면 다시 1번 항목에 대해 진행을 해보자.

해당 항목을 진행하여도 반응이 없었다면 아래의 3번 항목을 진행해보자.


3. sources.list 변경

 - 미러사이트가 깨지거나 더 이상 업데이트를 진행해주지 않을 경우 제대로 설치가 안될 수 있다. 

이럴 경우 아래의 URL을 참고하여 자신의 kali linux 버전에 맞는 미러사이트로 /etc/apt/sources.list 파일을 바꿔주자.


http://www.kalitut.com/2014/06/fix-kali-linux-sourceslist-repositories.html


나같은 경우 2017 버전의 kali여서 다음의 사이트로 설정해주었다.

deb http://repo.kali.org/kali kali-rolling main non-free contrib


이 때 아래와 같은 에러가 뜬다면 4번으로 넘어가자.



4. APT GPG 만료 해결

 - 아래의 명령어를 실행하자

apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys 7D8D0BF6


그러면 아래와 같이 실행이 되는데 그 후 apt-get updateapt-get upgrade를 진행하면 잘 작동할 것이다.



여기까지 진행 후 다시 1번의 apt-get install open-vm-install-desktop을 진행하니 설치가 잘 되었고, reboot 명령어 이후에는 파일 이동 및 문자열 복사 붙여넣기가 가능하였다.


참고)

https://www.blackmoreops.com/2018/02/27/the-following-signatures-were-invalid/

http://www.kalitut.com/2014/06/fix-kali-linux-sourceslist-repositories.html

반응형

'Hacking' 카테고리의 다른 글

APT 침투  (0) 2020.07.12
문서중앙화 솔루션 check list  (0) 2020.06.26
블로그 이미지

rootable

,

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

반응형



① 가상메모리

 - 위치 : 가장 왼쪽 부분

 - 설명 : 프로그램이 실행이 되면 프로세스가 되어 메모리에 올라가는데 이 때의 메모리는 [가상메모리]이다. 가상 메모리는 물리메모리를 효율적으로 사용하기 위해 운영체제가 사용하는 시스템으로 이 때 물리메모리는 컴퓨터 사양에 나오는 메모리( ex, 8G메모리, 16G메모리)를 말한다.


② 기계어코드

 - CPU가 읽어들어 실행하는 코드

 - 알아볼 수 없는 숫자로 되어있다.


③ 어셈블리어

 - 기계어코드와 1:1 매핑하여 사람이 알아보기 쉽도록 만든 언어


④ 주석

 - ;을 이용하여 작성 가능


⑤ 레지스터

 - CPU가 사용하려고 가지고 있는 데이터 

 - EAX (누산기) : 계산에 대한 저장을 하는 데이터, 함수의 결과가 저장되는 레지스터

 - EBX (Base Register) : 다목적으로 사용

 - ECX (Counter Register) : 숫자를 카운팅하기 위해 사용 (ex 반복문)

 - EDX (Data Regiester) : 다목적으로 사용

 - ESI (Source Index) : 암복호화 혹은 데이터 복사 등을 위한 출발지

 - EDI (Destination Index) : 암복호화 혹은 데이터 복사 등을 위한 목적지

 - EBP (Base Pointer) : 스택의 아랫부분을 가리키는 포인터

 - ESP (Stack Pointer) : 스택의 윗부분을 가리키는 포인터

 - EIP (Index Pointer) : CPU가 다음에 실행할 명령어 주소


⑥ 덤프

 - 데이터를 볼 때 많이 사용

 - 컴퓨터의 경우 hex 코드로 저장되어 있는데 이를 영문자로 보여주는 것이 ASCII 코드


⑦ 스택

 - 실제로 데이터가 저장되는 공간

 - 스택은 가상 메모리의 또다른 공간에 따로 존재함

 - ESP와 EBP를 통해 스택이 구성되어있고, Relative 기능을 이용하여 ESP와 EBP로부터 얼마나 떨어져있는지 확인이 가능함.


※ EAX의 구성

 - EAX= Extension AX으로 4바이트(32bit)를 나타냄

    ex) 12345678

 - AX = EAX의 반으로 2바이트(16bit)를 나타냄

    ex) 5678

 - AH / AL = A High와 A Low로 각각 상위와 하위의 1바이트(8bit)를 나타냄

    ex) 56 과 78


※ Ollydbg 단축키

 - Ctrl + F2 : 재시작

 - F8 : 한 스텝(Over) 진행

 - F7 : 한 스텝(Into) 진행

 - Enter : 실행이 아닌 그냥 따라가서 해당 위치 확인

 - Ctrl + g : 해당 주소로 이동

 - F2 : BreakPoint ( udd에 저장되기 때문에 Ollydbg를 끄고 다시 실행해도 남아있다)

 - F9 : 실행 

 - Space bar : Assembly 언어 수정


※ 특정 함수에 대해 알고 싶을 때

 - 구글에 해당 [함수명 + msdn] 으로 검색하면 됌.

 ex) CreateFileA msdn 

 - 접근하면 해당 함수에서 필요로하는 인자값들과 리턴값 등에 대해 자세히 알 수 있음.


 명령어

 - CMP : 두 값을 비교 후 일치할 경우 Zero Flag가 1로 세팅

 - JNZ : Jump if Not Zero의 명령어로 zero flag가 1이 아니면 점프를 해라. 즉, 비교 결과 "일치하지 않을 경우 점프를 해라" 라는 의미이다.

 - TEST EAX, EAX : EAX에 0이 들어가있는지 TEST를 한다. 만약 EAX에 0이 들어가있을 경우 Zero Flag가 1로 세팅

 - JL, JG, JE = Jump Less-than, Jump Greater-than, Jump Equal 의 명령어로 바로 위에 있는 CMP 명령어의 결과에 따라 분기함. JL의 경우 S Flag가 세팅되어있으면 Jump 함.


※ 분기문 수정

 - 항상 넘어가게 하고 싶을 때는 분기문(JL, JNZ 등등)을 JMP 명령어로 수정하여 항상 점프하도록 변경

 - 반대로 항상 넘어가지 않도록 하고 싶을 땐 해당 분기문을 nop 명령어로 수정하여 해당 분기문을 실행하지 않도록 수정

반응형

'Hacking > Reversing' 카테고리의 다른 글

Visual Basic 파일 분석  (0) 2018.11.18
3월 5일자  (0) 2018.03.05
immunity debugger가 바로 꺼질 때 해결  (2) 2016.01.03
블로그 이미지

rootable

,