-
Los - 4 (orc) Write Up (Blind Sql injection 코딩 방법)CTF/Web 2020. 3. 12. 19:42
Los.4_orc 문제 분석 4번째부터 벌써 난감한 문제가 나왔다. if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("orc"); get을 통해 가져온 pw와 sql 결과문에서 나온 pw가 같아야지만 문제가 최종적으로 풀리게 되어 있다. 즉 참, 거짓을 통해 직접적으로 푸는 방식이 아닌 참, 거짓을 통해서 비밀번호를 유추해서 비밀번호를 직접 적어야 하는 문제이다. 이런 문제 유형을 보통 blind sql injection 문제라고 한다. 해결방법은 보통 Python 코드를 작성하는 것이다. Blind sql 사전 지식 이 문제를 풀기 위해서는 기본적으로 length 함수를 사용할 줄 알아야 하며, substr을 사용할 줄 알아야 한다. Lengt..
-
LOS - 3 (goblin) Write UpCTF/Web 2020. 3. 11. 17:39
Los.3_goblin select id from prob_goblin where id='guest' and no= 우선 필터링 되는 부분을 보면 싱글쿼터와 더블쿼터와 역쿼터를 필터링 중인 것을 확인할 수가 있다. id가 'admin'이면 문제는 풀리게 되어 있다. where 절을 보면 guest의 no의 번호를 올바르게 입력하면 "Hello guest"가 나올 것으로 보인다. 한번 guest에 맞는 no을 찾아보자. 사실 찾을 필요는 없다. 그저 이 문구가 나오지 않게 하는 것이 중요하다. 우리는 이제 where id='guest' and no= 절이 거짓이 되도록 만든 후 or 연산을 시작 할 것이다. 우리는 사전에 필터링 문에서 쿼터들이 다 먹혀있는 것을 확인했다. 하지만 no 컬럼은 int형 컬럼..
-
LOS - 2 - (cobolt) Write Up (mysql 주석 사용)CTF/Web 2020. 3. 11. 04:52
Los.2_cobolt Created: Mar 10, 2020 3:21 AM Created By: eild Shin Last Edited By: eild Shin Last Edited Time: Mar 10, 2020 3:34 AM Stakeholders: eild Shin Status: web Type: Lord of SQLInjection select id from prob_cobolt where id='' and pw=md5('') pw를 md5 해쉬로 돌리고 있지만 그냥 주석처리 시켜버려서 무시시키면 된다. id만 admin으로 맞추어 주면 된다. `#은 url에서 사용하는 문구임으로 url인코딩을 사용해준다. id=admin'%23
-
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로 실행시키면 디버깅 당함이라고 뜬다. 참 신기한 녀석이다 디버거를 어찌 알아차..
-
PE 구조 (8) - 계산기의 PE 구조 / IMAGE OPTIONAL HEADER - IMAGE DATA DIRECTORY 분석Knowledge/Reversing 2019. 9. 29. 17:21
오늘의 글은 IMAGE DATA DIRECTORY 분석 글이다. 복습차원에서 IMAGE DATA DIRECTORY의 배열의 정의된 의미를 확인해보자. #define IMAGE_DIRECTORY_ENTRY_EXPORT 0 // Export Directory #define IMAGE_DIRECTORY_ENTRY_IMPORT 1 // Import Directory #define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 // Resource Directory #define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 // Exception Directory #define IMAGE_DIRECTORY_ENTRY_SECURITY 4 // Security Directory #defi..