CVE-2022-34265: Potential SQL injection via `Trunc(kind)` and `Extract(lookup_name)` arguments

# 개요 최근 우리 회사 슬랙 방에서 평소 존경하던 갓해커 분이 올려주신 Django SQL Injection CVE가 하나 있어서 분석해보았다. 아무래도 Django를 통해 사내 프로젝트, 학교 프로젝트를 몇 번씩 진행해본 경험이 있다보니 자칭 Django 전문가로서 CVE를 분석해보지 않고 지나칠 수가 없었다. 데모 소스코드를 보니 아래 부분에서 취약점이 발생했다. Extract와 Trunc에서 비슷한 이유로 취약점이 발생하는 듯 보였다. Trunc 함수에서 받은 인자에 대해 적절히 처리해주지 못해서 발생하는 SQL Injection 이었다. 사실 Pythonic하지 못한 코드에서 발생하는 보안 취약점이라 파급력 자체는 강하다고 볼 수는 없다. 그런데 보안 취약점이 맞기는 하다. 세상의 수많은 프로그..

2022년 7월 내가 들은 곡

한로로, 거울 https://www.youtube.com/watch?v=OV668xgCau8 보수동쿨러, 김뜻돌, 세이수미 다음으로 깊게 빠져버린 한로로. 한로로가 6월에 새로 공개한 신곡이다. 2분 45초부터 곡의 분위기가 바뀌면서 절규와 비슷한 느낌을 받게 되는데, 매번 들을 때마다 소름이 돋을 정도로 좋다. 혼자 자취방에서 불안한 감정이 폭발하는 듯한 느낌을 정말 잘 표현한 곡이라고 느꼈다. 내가 기억을 선택적으로 잃을 수 있다면 나는 무조건 이 노래를 듣기 전의 기억으로 되돌아가고 싶다. 처음 듣고 그 날과 그 다음 날은 이 노래만 들은 것 같은데, 들을 때마다 소름이 돋았던 기억이 난다. 이런 노래는 보수동쿨러의

보안뉴스에 제 이름으로 기사가 실렸습니다 👏👏

최근에 회사 세미나 (Stealien Security Seminar; 3S)에서 발표할 수 있는 기회가 생겨서 이라는 주제로 발표를 한 적이 있었습니다. 제가 고등학교 시절 참가했던 해킹대회와, 회사에서 참여한 모의해킹 프로젝트에서 겪었던 경험을 공유할 수 있었던 뜻깊은 시간이었습니다. 저는 회사에서 Django, Koa.js, React (Next.js), Vue.js와 같은 현대적인 웹 프레임워크를 처음 접했고, 프로그래머의 입장에서 쉽게 놓칠 수 있는 실수들을 발표해보면 어떨까 하는 생각에 이 세미나에 참여를 하게 되었습니다. 많은 분들이 이 행사에서 제 발표를 좋게 봐주신 것 같아서 상당히 뿌듯합니다. (회사 분들과의 뒷풀이도 상당히 재밌었던..ㅎㅎ) https://www.boannews.com/..

2022년 6월 내가 들은 곡

한로로, 입춘 https://www.youtube.com/watch?v=pNi9PjmbUrI 정말 오랜만에, 내가 2020년 보수동쿨러에 이끌린 것처럼 짧은 시간 안에 깊게 빠진 뮤지션이 아닌가 싶다. 포코라노스 채널에서 올라온 한로로의 을 듣고나서, 한로로라는 아티스트에 너무 감명을 받고 찾아 들어본 노래다. 자우림의 김윤아와 버둥처럼 호소력 풍부한 목소리에, 사람을 홀리는 듯한 음색, 들을 때마다 심장이 터질 것 같은 멜로디. 이 3박자가 오묘하게 섞이며 내는 시너지가 이 노래의 매력이 아닌가 싶다. 오랜만에 보석 같은 아티스트를 만났다. 문소냑, Get Ready https://www.youtube.com/watch?v=XwLn21i_tg0 포코라노스 채널에서 최근에 올라오는 곡들을 자주 듣곤 하는..

학벌과 비교에 대해

고등학교에서 졸업하고, 교실에서 함께 웃고 떠들던 친구들이 몇년이 지나면 눈에 띄게 달라집니다. 외모가 달라질수도 있고, 학벌이 달라질 수도 있고, 생활이 달라질 수도 있습니다. 코로나 시대에 힘입어 한가지 분명한 사실은 다들 알게 모르게 타인과의 비교를 피할 수 없게 된다는 것입니다. 제가 친구들에게 상담을 해준 내용들 중에는 순위가 낮은 대학에 있으면 똑같이 노력해도 안되는 것이 아닐까, 혹은 높은 대학 학생과의 내면 속의 질투, 혹은 학벌에의 동경이 있습니다. 이런 동경은 마치 지울래야 지울 수 없는 것 같고 어떤 친구에겐 평생의 비교의식이 생긴 것 같다는 말도 들었습니다. 이런 것에 대하여 제가 친구들에게 상담해주고, 도움이 되었다는 얘기를 들은 것들을 짤막하게 이야기 해보려해요. 첫째로 자신의 ..

2022년 5월 내가 들은 곡

SAYSUEME, Photo Of You https://www.youtube.com/watch?v=i563qNuNAXw 세이수미는 내가 가장 좋아하는 인디 뮤지션 중 하나이다. 5월 13일 발매된 정규 3집에 수록된 곡으로, 해당 앨범에 수록된 곡 하나하나 표현할 수 없을 정도로 너무 좋지만 이 노래는 가히 최고다! 세이수미만의 감성으로 노래하는 누군가를 그리워하는 곡, 특히 코러스 부분이 너무 좋다 😌 RIO, 네 얼굴 위의 지도 https://www.youtube.com/watch?v=_Yht6G96hj0 포코라노스 채널에 올라오는 인디 음악들을 자주 접하는 편인데, 이 노래도 그 중 하나였다. 내가 좋아하는 몽환적인 느낌의 코러스 부분이 너무 만족스럽다. 약간 신해경이나 사공(sagong)의 노래를..

2022년 4월 내가 들은 곡

파라솔, 뭐 좀 한 것처럼 https://www.youtube.com/watch?v=Iew0XwyY_DA 4월에는 파라솔 특유의 권태로움에 빠져버렸다. 약간은 투박해보이는 멜로디를 갖고 있는 곡들이지만 가사에서 크게 좋은 평가를 주고 싶다. 특히 이 노래를 부르는 사람은 하루종일 아무것도 하지 않은 사람이지만 '뭘 좀 한 것처럼' '인상을 쓰며 살짝 몸을 반대로 뉘'인다. 이 곡을 노래하는 사람은 다소 권태로운 하루를 보냈지만, 결국 오늘 하루도 의미있게 보내지 못한 내 가슴을 후벼판다. 지윤해의 파라솔은 나의 2022년 4월이라고 생각한다. onthedal, Pie https://www.youtube.com/watch?v=ffwWc3o0xtY 내 유튜브 뮤직에 저장된 인디밴드 음악 목록에는 온더달(on..

2022년 3월 내가 들은 곡

김아일, MET https://www.youtube.com/watch?v=vJCWssRCaas 정식으로 발매된 음악은 아니고, 사운드클라우드에 올라온 노래다. 고등학교 시절 처음으로 이 노래를 접하고 나서 굉장히 놀랐던 기억이 난다. 2022년이 된 현재, 고등학교 시절 감수성을 느끼고 싶어서 그때 듣던 음악을 들어보다가 다시 듣게 되었다. 이 곡은 김아일 특유의 독특한 목소리에, 늘어지는 듯 뱉는 가사와 미칠 듯한 엇박, 비트가 잘 어울려서 듣기 좋은 노래다. 놀이도감, 버려진 우산 https://www.youtube.com/watch?v=wjKxUkGGCEo 밴드 '실리카겔'의 기타리스트인 김춘추(김민수)가 작사, 작곡한 곡이다. 이름이 너무 익숙해서 찾아보니 내가 제일 좋아하는 앨범인 보수동쿨러의

회사 2년차 그냥 드는 생각들

이제 나도 2년차(햇수로는 3년차)에 접어들었다. 2020년 7월 내가 우리 회사에 처음 입사했을 때는 부족한 부분이 많았는데, 요새는 이 부분을 인지하기 시작하고 극복해나가는 맛에 회사를 다니고 있다. 블로그에 쓰기도 부끄러운 내용이지만 잠깐 내 회사 생활을 소개하자면, 나는 스무살에 대학 1학년 1학기가 끝남과 동시에 입사를 했다. 그때는 나이도 어려서 진득하게 협업을 해본 경험도 별로 없고, 전반적인 능력치도 낮아서 업무에 대한 전반적인 이해도 또한 남들보다 떨어졌다. 내가 특히 MBTI에서 F 성향이 크게 두드러지는 편이라서 그런지, 내 생각을 제대로 얘기하지도 못하고 일정 확인 없이 YES만 외치는 등 어리숙한 행동들로 업무 관련 보고와 협업이 힘든 편이었다. 거기에다 회사 사람들이 나에게 거는..

django graphene_jwt 상속을 통한 로그인 로깅

개요 최근 진행했던 회사 프로젝트 중에 Django와 GraphQL을 사용한 프로젝트가 있었다. 사용자의 이용 기록을 저장해야 할 필요가 있던 프로젝트라 사용자가 로그인하는 것을 포함해서 행위를 기록하는 기능을 추가해야했다. 근데 누군가 만들어 둔 패키지에는 로깅 기능을 별도로 추가할 수 있는 기능은 없었고 이것을 어떻게 해결했는지 기록하는 글이다. 본문 Django에서 GraphQL을 구현한 패키지인 django-graphene을 사용했고 로그인하는 것을 django-graphene-jwt 를 통해 구현했다. JWT 토큰을 생성하는 뮤테이션은 django-graphene-jwt를 통해 아래와 같이 등록한다. JWT 인증 패키지의 미들웨어가 있었으면 좋겠다고 생각했는데 아무리 찾아봐도 그런 기능이 없는 ..