본문 바로가기

책을 써보고 싶은데.. 나의 버킷리스트 중 한가지는 유튜브 혹은 뭐라도 좋으니 해킹 강의를 해보고 싶은 것이었다. 그리고 또 한가지는 어플리케이션 해킹 원리를 책으로 써보고 싶었다. 누가 봐도 알아보기 쉽게 그림을 그려가면서 해킹원리를 설명하는 것이었고, 이를 통해 국내에 실력있는 수많은 화이트해커가 양성되길? 바라는 점도 있었다. 최근 강남의 모 학원에서 해킹 강의/특강 제안을 받아서 약간 들떠있었다. 내 버킷리스트 중 하나였으니까.. 결과적으로 제안을 받아들이지 못했다. 회사 규정에 의하면 '영리 목적의 사설 교육시설에서 강의 금지' 라나.. ㅠㅠ 규정을 알아보기 전까지 목차는 어떻게 잡지? 어떻게 강의할까? 영상 편집은 어떻게 해야 깔끔할까? 별 고민을 다했었는데, 규정을 알아보고 나니 한숨만 나오더라. 뭐 어쩔 수 없지.. 더보기
[Rookies] crypto1 문제 포인트만 잡고나면 쉬운데, 암호를 잘 모르는 나에게는 약간 접근하기 힘든 문제였다. 포인트 잡는데에 4시간?? 5시간?? 정도 헤맸던 것 같다. crypto1 문제는 CBC 블럭 암호의 운용방식을 잘 알아야 풀 수 있다. - 400명 이상 푼 문제는 PoC 코드를 공개하겠다. - 이 글에는 문제 풀이와 답이 있으니, 실력 증진을 원하는 분들은 충분히 삽질한 후 읽어주시길 바란다. 1. 코드흐름 ==================================================== server.py 부터 보자. AES128_CBC(msg)함수는 client로부터 날아온 패킷을 받아와서 AES128_CBC mode로 복호화한다. (이 때 사용되는 키, IV(Initialization Vector.. 더보기
TypeError: Unicode-objects must be encoded before hashing python3에서 import hashlib의 hashlib.sha256 함수를 이용하는 중에 "TypeError: Unicode-objects must be encoded before hashing " 이런 에러가 뜨는 경우가 있는데, 이는 hashlib 사용 시 byte 형태가 필요해서 에러가 생긴다. python3의 문자열은 기본적으로 unicode이며, 문제 해결을 위해 encode('utf-8')을 붙여주면 된다. 예시코드: string = "test" hashlib.sha256(string.encode('utf-8')).hexdigest() 더보기