eild
-
LOS 22 - dark_eyes Write up (union select를 이용한 에러 기반 blind sql injection, if문 필터링 우회)CTF/Web 2020. 4. 1. 03:15
이번 문제도 에러 기반의 문제이다. 하지만 저번 문제에서 쓴 if문이 막혀버렸다. 이럴 때는 union select를 사용하면 된다. union select 는 어떤 원리로 이용 할 수 있을까? 우선 기존 union select 를 통한 우회방법을 인지하고서 풀 수 있는 문제이다. 그점은 이번 라업에선 넘어가도록 하겠다. 간단히 짚고 넘어가면 select 1을 하면 필드에 1이 들어간다. 그런데 여기에 union select를 하면 어떻게 될까? 1뒤에 3이 밑에 들어간다. 이걸 어떤식으로 이용하는 걸까? 그건 바로 2줄이라는 특징을 이용하는 것이다. 우선 우리가 푸는 Los 문제는 sql문을 읽고 가져오는 데이터가 1줄이다. 하지만 우리가 2줄의 결과값을 억지로 넣어서 가져오게 한다면 어떻게 될까? ?..
-
LOS 20 - dragon Write Up (sql문 개행하기)CTF/Web 2020. 3. 27. 20:00
이건 뭐 대놓고 미리 주석처리를 해서 우리에게 절망을 주려는 쿼리문이다. 우리가 pw에 어떠한 값을 주더라도 이미 주석처리 되서 동작하지 않을 것이다. 이럴때는 우리가 개행을 해주면 어떨까? 공백우회에서 쓴 %0a는 사실 개행의 역할을 한다. 즉 개행이 없이 우리가 값을 넣어주면 select id from prob_dragon where id='guest'# and pw='입력값' 이되지만 %0a를 통해서 개행을 시켜주면 select id from prob_dragon where id='guset'# and pw='%0a
-
IsDebuggerPresent(feat. codeengn basic 4)과 TEB & PEB의 관계Knowledge/Reversing 2020. 1. 28. 03:49
목차 1. 머리말 2. 일반적인 Codeengn Basic 4번 풀이방법 3. IsDebuggerPresent API 4. BeingDebugged 값을 이용한 풀이 방법 5. 맺음말 1. 머리말 오늘은 흔히들 한번쯤 풀어봤을 법한 Codeengn Basic 4번 문제를 주제로 글을 써보려고 한다. code engn 에서는 그저 디버깅을 탐지하는 API의 이름만 맞추면 풀리지만 거기에 더 나가서 우회까지 해보는 사람들도 있을 것이다. 아마 이런식으로 다들 풀어보지 않았을까? 2. 일반적인 Codeengn Basic 4번 풀이방법 4번 문제이다. 이녀석은 그냥 실행하면 "정상" 이라는 문구를 출력한다. 하지만 디버거로 잡고 F9로 실행시키면 디버깅 당함이라고 뜬다. 참 신기한 녀석이다 디버거를 어찌 알아차..