전체 글

전체 글

    본선 전에 쓰는 YISF 예선 후기 겸 Write up

    지금 글을 쓰는 날짜는 2021-08-21 9시 11분으로 YISF(순천향대 정보보호 페스티벌?) 본선 하루 전이다. 원래 예선이 끝나고 바로 후기 겸 Write up을 쓰려고 했는데 귀찮아서 미루다 미루다 본선 하루 전에 쓰게 된다. 지금은 사이트가 닫혀있지만 어차피 나는 폰이나 웹은 못 건드렸기 때문에 지금 Write up을 써도 딱히 상관없을 것 같다.(이라고 생각했으나 생각해보니까 미스크도 NC를 쓴 문제가 2문제쯤 됐다;) 나는 미스크 6문제, 립싱 한 문제를 풀면서 예선 5위로 본선에 진출했다. 물론 미스크 한 문제는 마이크 체크이다ㅎ 서버가 닫혀서 정말 간략하게 Write up을 정리한다. [MISC] MIC Check 마이크 체크부터 개 꼴 받게 나왔다. 1. 본 대회는 _ _ _ 으로 진..

    복습겸 쓰는 리버싱 기초 Write UP

    제일 위의 4문제는 전 포스팅에서 풀었으니 다음문제들부터 차근차근 작성해봐야겠다 문제 수가 생각보다 많아서 두세개로 끊어서 작성하게 될 것 같다. end or null? binary : whatisend / linux / 64bit 로직 자체가 굉장히 간단하다. 그냥 리스트 가져와서 xor역연산 해줬다. v6 = [67, 95, 0, 48, 43, 28, 13, 58, 58, 11, 10, 59, 54, 26, 44, 37, 31, 23, 29, 48, 48, 29, 45, 49, 27, 25, 0, 83, 63] flag = '' for i in range(33,127): flag = chr(i) for j in range(29): flag+=chr(ord(flag[j])^v6[j]) print(fla..

    리버싱 2일차

    어제 윤리교육, 어셈에 대해 배웠고 오늘은 x96dbg 사용법, 문제풀이를 하였다 그냥 숨겨진 Flag를 찾으면 되는 문제이다. DIE로 뜯어보면 이렇게 나온다 x32dbg에서 문자열 찾기를 하면 flag가 나온다 마찬가지인 문제이다. 이거는 HxD로 뜯어면 Flag가 나온다 대충 보면 먼가를 입력받고 그걸 Flag랑 비교하는 것 같다. 일단 비교를 하려면 Flag가 어딘가에 있어야 하니까 어셈에서 if문인 cmp를 유심히 보면 될것 같다. 일단 인풋에서 f2를 눌러서 Break Point를 만들고 f9를 눌러 프로그램을 시작한다. 그후에 input이 나올때까지 f8을 눌러 넘긴다. 계속 넘기다보면 이렇게 Input을 입력하라고 나오는데 아무거나 입력한다. 그리고 쭉 f8을 넘기면서 보면 반복되는 부분이..

    간단한 트위치 다시보기 뷰어(?)

    ## 현재 https://twitchtracker.com/의 사이트 구조도 바뀌고 다시보기 ID도 안긁어와져서 프로그램이 작동하지 않습니다. 2022-10-03일 현재 이슈를 인지했고 지금 다른 프로젝트로 바쁜 상황이라서 다른 프로젝트가 마무리 되면 고치러 오겠습니다. 죄송합니당ㅠ 이미 github에 올려놔서 이렇게 블로그에 글을 쓰는 게 의미가 있을까 싶지만 개발과정을 간략하게 적어두고 싶어서 정리한다. 나는 잘때 트위치 라디오 방송을 많이 틀어두고 자는 편인데 내가 많이 듣는 스트리머중에 다시보기를 지우거나 다시보기가 구독자 전용인 스트리머들이 종종 있다. 이러면 나중에 이어서 들을 때 굉장히 꼴받는데 그저께 딱 그런 상황이 나와서 간단하게 파이썬으로 다시보기를 웹에서 볼 수 있을 것 같아서 2일? ..

    Webhacking.kr - 56

    일단 아무거나 막 검색해보다가 ~을 검색했는데 이게 검색되서 subject가 필터링 되나 했는데 hi를 검색하니 admin이 검색되서 내용 필터링인걸 알게 되었다. 그래서 파이썬으로 값을 계속 넣어서 admin이라는 값이 나오는 문자열만 모으면 될것 같다. import requests url = "https://webhacking.kr/challenge/web-33/index.php" cookie = {'PHPSESSID':'itbee38p8aae7p17kvchcr644b'} #a = requests.get(url, cookies=cookie) flag= 'FLAG{' for i in range(1000): for j in range(32, 128): if chr(j)=='%': continue sear..

    Webhacking.kr - 34

    var a = ['RcOhTDV1Ew==', 'McOVwqpRBg==', 'c8K/w43DvcK8', 'SsOrTCF1CVDCgcKLEsKc', 'NsK/w4Bc', 'G1TDpwk=', 'AcKtwqfDlW7Dsw==', 'e3kkcQJfwoNFDEU9', 'QMOXDBo=', 'w5bCsWlh', 'eWY6bg8=', 'FnbDoEvDtl1LUkB7w4Q=', 'esOZTiPDsg==', 'bzfCkFfCtA==', 'ZmzDjHcn', 'PxLCm3LDvA==', 'IcKlVy9pw57DgMK3w6kmwpvCiUnDhcOKw4A=', 'LMKnwqECawEeEMOZQsK7wrLCscKpSG1AwqvDvjnDpMKhOSDCqQfDmVRowo1nwpzCh8OGc1vDv3cKVR/CgMK4w7PCukbC..

    Webhacking.kr - 4

    도대체 왜 30점 짜리 문제인지 모르겠다. 10000000 ~ 99999999를 md5로 500번 암호화 한 값이 저 위의 해쉬값과 같을때 {숫자}salt_for_you 이걸 질의로 보내면 풀리는 문제이다. 그러려면 10000000 ~ 99999999를 md5로 500번 암호화한 값을 다 저장해야되서 파이썬으로 코딩한뒤 하루동안 돌려서 레인보우테이블을 만들었다. from hashlib import sha1 with open("randowtables.txt", "w") as f: for i in range(10000000,99999999): a = 0 b = (str(i)+"salt_for_you") for j in range(500): b = sha1(b.encode('utf-8')).hexdigest(..

    Mobile - Cat

    이건 풀긴 풀었는데 왜 모바일문제인지 모르겠다 Misc쪽이 더 맞는거같은데 hmm.. 암튼 풀어보면 ab파일을 하나 준다. 이걸 풀어보면 이런게 나오는데 IMAG0004.jpg파일 그림안에 flag가 박혀있다;;; 이..이게 맞나...?