Hacking

    2022 모의해킹방어대회

    보호되어 있는 글입니다.

    DreamHack[Web] dreamschool

    보호되어 있는 글입니다.

    DreamHack[Web] web-deserialize-python

    보호되어 있는 글입니다.

    codegate2022 예선 후기

    보호되어 있는 글입니다.

    2022 Hayyim CTF 후기

    보호되어 있는 글입니다.

    IDA python

    보호되어 있는 글입니다.

    ELF x86 - Ptrace

    안티 디버깅 기법이 적용된것 같다. 그냥 EIP를 옮겨서 if문을 우회할수 있을 것 같다. 이 분기에서 그냥 EIP를 0x08048436로 옮겨주면 우회가 된다. 내 입력값을 dl에 한바이트, 여기서 +4만큼 한 문자열에서 한바이트를 비교한다. 그러니까 내가 asdf를 넣으면 a와 e를 비교하는 것이다. 키의 첫글자는 e인것을 알 수 있다. 틀렸기때문에 분기가 갈리지만 그냥 EIP를 바꿔서 아래 분기로 가본다. 비슷한 로직이다. 내 입력값 두번째 인덱스와 ksuiealohgy+5한 인덱스와 비교한다. 키의 두번째 글자는 a이다. ksuiealohgy에다가 inc연산을 하는데 이는 +1을 해주는 연산이다. 그러므로 세번째 글자는 s이다. 여기는 0x0a를 더하는데 디버깅해서 값을 보면 al이 'y'인 것을..

    PYC - ByteCode

    pyc파일을 리버싱 하는 문제인데 pyc는 uncompyle6를 이용해 .py파일로 복구할 수 있다. pip install uncompyle6후에 uncompyle6 [pyc 파일]로 py파일을 디컴파일 할 수 있다. 처음에는 역연산 하려다가 그냥 브포 돌리는게 머리 덜아프고 빠를것 같아서 브포 돌렸다. 근데 일어난지 얼마 안되서 그런지 아니면 수업시간에 해서 그런지 이거 브포짜는데만 거의 1시간쯤 걸린것 같다. 심지어 코드도 더럽다ㅎ; l = [i for i in range(5,20)] sl = 'w, you love dec' print(l) print(sl) cmpl = [57, 73, 79, 16, 18, 26, 74, 50, 13, 38, 13, 79, 86, 86, 87] flag = '' fo..