728x90

 

갑자기 웹쉘을 올려라고 한다. 진짜로 올리면 큰일날것같으니 그냥 그런 형식을 올려라는것 같다.

 

 

가장 기본적인 php파일을 올리니 access denied가 뜬다. 힌트를 보니 파일 타입을 바꿔줘야 될 것 같다.

 

 

burp suite로 보자. 처음에는 Content-Type이 application/octet-stream으로 되어있다. 당연히 이걸 필터링 할것이다.

 

 

그러므로 필터링을 거의 하지 않는 이미지 타입중 jpg로 바꾸어서 전송해보았다.

 

 

문제가 풀렸다. 그냥 간단하게 풀수있는 문제다.

 

 

'wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 32번 문제 풀이!!!  (0) 2018.08.03
webhacking.kr 11번 문제 풀이!!!  (0) 2018.08.03
webhacking.kr 23번 문제 풀이!!!  (0) 2017.10.25
728x90

 

 

 

오랜만에 휴가를 받아서 글을 다시 쓰게 되었다. 간단하게 문제를 풀어보자. 빨간 부분은 IP주소이다. if부분을 보면 pat이랑 val을 같게 맞추면 Password가 나온다고 되어있다. 위에 pat을 보니 정규식으로 표현되어 있다. 아주 간단한 정규식이니 금방 풀어보자.

 

처음에 [1-3]은 그중 아무거나 고르라는 것이다. 일단 1을 고른다.

 

뒤에 [a-f]도 마찬가지인데 {5}로 5번 반복시켜준다.

 

_는 그냥 쓰고 .은 앞에 한문자를 나타낸다.

 

*은 0회이상 반복이다. 그리고 IP주소가 나오고 또 .*이 나온다.

 

\t는 그냥 tab이다.

 

대충 pat을 맞춰보면 1aaaaa_aIP주소a%09p%09a%09s%09s가 나온다. 주소창에 그대로 쳐보자. 물론 val로 줘야된다.

 

 

정규식을 알고있는지 물어보는 간단한 문제였다.

'wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 43번 문제 풀이!!!  (0) 2018.08.03
webhacking.kr 23번 문제 풀이!!!  (0) 2017.10.25
webhacking.kr 59번 문제 풀이!!!  (0) 2017.10.25
728x90

 

이번에 프로그램을 하나 설치하려고 하는데 위와 같은 오류가 떴다. 몇번 떴던 요류라서 그냥 해결할까 하다가 그냥 이번 기회에 해결법을 포스팅 하려고 한다,.

 

 

그냥 저렇게 sudo rm -rf /var/lib/dpkg/lock 을 쳐주면 바로 해결된다. lock 파일을 지워주는 간단한 방법이다.

'Tip' 카테고리의 다른 글

한글 수식편집기 사용법  (0) 2018.08.06
외국사이트 우리말로 보기  (0) 2018.02.12
노트북 인터넷 없음 오류 해결  (0) 2018.02.07
728x90

이 문제는 복호화해주는 사이트랑 압축파일, 암호화된 사진을 주었다. 일단 사이트를 들어가보자.

 

 

나름 신경써서 만든 사이트같다. 암호화는 막혀져있는데 어차피 쓸것도 아니니 신경쓸필요없다. 복호화를 하려면 UUID가 있어야된다. 문제설명에 뭔가 설명이 있었던것같다. 한번 보자.

 

 

UUID를 지웠다고 한다. 그래도 9e4a로 시작되는건 기억하고 있으니 다행이다. 브루트포싱을 한다고 해도 확률이 확 줄거같다. 이제 압축파일을 풀어보자.

 

 

그래도 이번 대회가 좋은게 이렇게 모든걸 다 압축해서 준다. 추후에 풀어보기도 좋을것같다. 일단 PHP파일들을 읽어보자.

 

 

 

decrypt를 쭉 읽다보니 저런게 있다. sql 인젝션이 들어가겠다. 그런데 무작정 하려고 하니깐 안된다. 왜그런지 다른 PHP파일들을 읽어보자.

 

 

조건들이 있었다. 저기에 맞는 조건으로 sql 인젝션을 하면 될것같다. 그럼 쿼리를 대충 짜보면 'or id/*-aaaa-aaaa-aaaa-*/LIKE'9e5a%로 짤수있을것같다.

 

 

 

네이버 글자수세기로 글자수를 보니 글자수도 만족한다. 그럼 바로 넣어보자.

 

 

이렇게 하고 제출을 눌려주면 png파일 하나가 다운받아진다. 열어보자.

 

 

flag가 적혀있다.

 

 

 

 

'ctf write-up > Harekaze CTF 2018' 카테고리의 다른 글

Obfuscated Password Checker - web  (0) 2018.02.12
recursive zip - warmup  (0) 2018.02.12
easy problem - warmup  (0) 2018.02.12
728x90

https://translate.google.co.uk/translate?hl=ko&sl=en&u= 뒤에 사이트를 넣으면 된다. 영어말고 다른 언어를 번역하고 싶으면 en을빼고 다른 언어를 넣어주자.

'Tip' 카테고리의 다른 글

한글 수식편집기 사용법  (0) 2018.08.06
리눅스 apt-get 에러날때  (0) 2018.05.15
노트북 인터넷 없음 오류 해결  (0) 2018.02.07
728x90

일단 이 문제는 특별하게 zip파일만 주었다. 내 컴퓨터 서버에서 풀라는것이다. 이렇게 되면 directory traversal이나 여타 다른 공격들을 못쓰게된다. 그러면 일단 압푹을 먼저 풀어보자.

 

 

보면 HTML문서랑 JavaScript파일 하나를 주었다. 일단 저 HTML문서를 열어보자. 기본 설정이 인터넷 익스플로러로 되어있는데 크롬으로 열어주자.

 

워게임에서 많이 볼만한 페이지이다. 소스를 봐도 별게 없었다. 그럼 유일한 해결책인 bundle을 한번 보자.

 

 

난독화되어 있었다. 이걸 첨 봤을때는 그냥 난독화를 풀어야겠다는 생각만 들었다. 그래서 툴도 돌리고 해도 좀처럼 풀리지 않았다. 그래서 고민하고 있던 중에 완전 짱짱 해커형이 크롬 개발자도구로 풀어라고 하셔서 들어가보았다.

 

 

다들 알겠지만 크롬에서 f12를 누르면 들어갈수있다. 저기서 디버깅을 하기위해 새로고침을 눌려준다.

 

 

그리고 f11을 0x991f라는게 call stack영역에 뜰때까지 눌려준다음 local쪽에 보면 저런게 있다. 이제 저기서 data를 눌려주면 스크립트를 실행하면서 변수가 선언된 것들을 볼수있다.

 

 

 

그중에 이렇게 flag값이 있다. 진짜 간단한 문제고 저번에 포스팅도 했던 풀이 방법인데 대회때 바로 안떠올라서 풀기 어려웠던 문제이다. 앞으로 대회할때는 기본적인 공격부터 생각해봐야겠다.

 

 

'ctf write-up > Harekaze CTF 2018' 카테고리의 다른 글

Sokosoko Secure Uploader - web  (0) 2018.02.13
recursive zip - warmup  (0) 2018.02.12
easy problem - warmup  (0) 2018.02.12
728x90

연속으로 많이 압축된 파일 하나를 줬다.

 

 

그냥 이 문제를 받고 풀때는 그냥 계속 압축을 풀어줬다. 그래도 계속 같은 이름으로 나오니깐 자동으로 덮어쓰기 해주는 -o를 사용해서 풀어줬다.

 

 

그러니깐 이렇게 flag가 나왔다.

 

'ctf write-up > Harekaze CTF 2018' 카테고리의 다른 글

Sokosoko Secure Uploader - web  (0) 2018.02.13
Obfuscated Password Checker - web  (0) 2018.02.12
easy problem - warmup  (0) 2018.02.12
728x90

 

이걸 굳이 롸업을 써야되나 싶지만 일단 이 문제는 올해 코게를 준비해서 설치해둔 크롬 확장프로그램으로 아주 간단하게 풀었다.

 

 

저기에 ROT13이 있어서 그냥 눌려주었다.

 

 

그러니 이렇게 flag가 나왔다.

'ctf write-up > Harekaze CTF 2018' 카테고리의 다른 글

Sokosoko Secure Uploader - web  (0) 2018.02.13
Obfuscated Password Checker - web  (0) 2018.02.12
recursive zip - warmup  (0) 2018.02.12
728x90

 

문제의 압축을 풀면 위와 같이 두가지가 주어진다. 일단 miro저기서 .cer파일을 추출해야된다.

 

 

 

그럼 pcap으로 바꿔주자. 바꾸는 방법은 간단하다. pcap파일이 아닌것같다. 그럼 pcap으로 바꿔주자. 바꾸는 방법은 간단하다.

 

 

와이어샤크로 miro를 열어주고 Save As를 클릭해준다.

 

 

 

저장할때 두번째 pcap을 선택해주고 이름을 바꾸어 저장한다.

 

 

그걸 넣으면 잘 들어가는걸 볼수있다. 이제 저걸 한번 보자. 우클릭해서 폴더열기를 하면 볼수있다.

 

 

인증서를 준다. 저걸 공격해서 풀어보자.

 

 

공개키가 주어져있다. 인증서를 공격하는 가장 완벽한 방법은 저걸 소인수분해 하는 것이다.

 

 

일단 yafu라는 소인수분해 툴을 쓸거라서 중간 공백을 없애주었다. 앞에 30부터 81은 공개키가 아니고 뒤에 02부터 01까지도 공개키가 아니다. 수업시간에 배웠는데 일단 뭔지는 기억이 안난다. 하여튼 그부분을 빼고 중간 공백을 없애주었다.

 

 

yafu를 이용해 흔히 말하는 p랑 q를 구해주었다. 이제 저 p랑 q를 이용하여 개인키를 만들어 주자.

 

from socket import *
from ssl import *
import time

def recv_until(s, string):
    result = ''
    while string not in result:
        result += s.recv(1)
    return result

client_socket=socket(AF_INET, SOCK_STREAM)
tls_client = wrap_socket(client_socket, ssl_version=PROTOCOL_TLSv1_2, cert_reqs=CERT_NONE)

print "[+] Connecting with server.."

tls_client.connect(('ch41l3ng3s.codegate.kr',443))

print "[+] Connect OK"

while 1:
    data = recv_until(tls_client, "Input : ")
    print data
    #message
    user_input = raw_input()

    if user_input == "u":
        tls_client.send("9de133535f4a9fe7de66372047d49865d7cdea654909f63a193842f36038d362\n")
    elif user_input == "d":
        tls_client.send("6423e47152f145ee5bd1c014fc916e1746d66e8f5796606fd85b9b22ad333101\n")
    elif user_input == "r":
        tls_client.send("34660cfdd38bb91960d799d90e89abe49c1978bad73c16c6ce239bc6e3714796\n")
    elif user_input == "l":
        tls_client.send("27692894751dba96ab78121842b9c74b6191fd8c838669a395f65f3db45c03e2\n")
    else:
        print "Invalid input!"
        exit()   

client_socket.shutdown(SHUT_RDWR)
client_socket.close() 

 

그리고 위의 코드를 돌리면 나온다고 한다. 물론 지금은 서버가 닫혀서 확인해볼수는 없었다.

 

 

'ctf write-up > Codegate CTF 2018' 카테고리의 다른 글

BaskinRobins31 - pwn  (0) 2018.02.09
RedVelvet - reversing  (0) 2018.02.09
728x90

우리는 흔히 공백을 제거해야 되는 경우를 겪는다. 그럴때 어떻게 해야 공백을 제거할수 있을지 고민하다가 파이썬으로 한번 코딩해보기로 했다.

 

 

저렇게 중간 공백을 제거해줄 수 있다.

 

 

또한 replace를 통해 간단하게 바꿀수도 있다.

 

 

저렇게 쓰면 양 옆에 공백을 제거해준다.

 

 

그리고 저렇게 쓰면 중복된 공백을 제거해준다.

 

일단 파이썬을 이용한 간단한 공백 제거에 대해 알아보았다.

 

+ Recent posts