본문 바로가기

CTF48

[CTF] Lord of SQLInjection 8번 troll Write-Up los 8번 troll Write-Up 입니다.싱글쿼터(‘)와 admin 문자열이 filtering되고 있습니다.처음에는 ‘ 우회법을 찾아다녔다가, 한 가지 사실을 발견하게 됩니다.if(preg_match("/admin/", $_GET[id])) exit("HeHe");해당 코드는 소문자만 filtering이 가능합니다. (대소문자 모두 검열하려면 “/admin/i” 로 작성해야 함)select id from prob_troll where id='Admin'그냥 이렇게만 입력하면 검열을 통과합니다.mysql에서는 기본적으로 대소문자를 구분하지 않기에 가능합니다.Admin을 입력하면 문제가 정답처리 됩니다. 2026. 3. 10.
[CTF] Lord of SQLInjection 7번 orge Write-Up los 7번 orge Write-Up 입니다.4번 문제랑 비슷한 코드를 가지고 있으며, or과 and가 검열되고 있습니다.Blind SQL Injection 문제입니다.select id from prob_orge where id='guest' and pw=''select pw from prob_orge where id='admin' and pw=''여기도 쿼리가 2개 있습니다.위 쿼리는 guest의 id, 아래 쿼리는 admin의 pw를 선택하는 구문입니다.select id from prob_orge where id='guest' and pw=''||id='admin'&&length(pw)=8#'첫 번째 쿼리가 guest로 박혀 있기 때문에 강제로 admin을 선택하도록 해야 합니다.이렇게 입력하여 pw.. 2026. 3. 10.
[CTF] Lord of SQLInjection 6번 darkelf Write-Up los 6번 darkelf Write-Up 입니다.이번엔 or, and가 filtering 되고 있습니다.하지만 or은 ||, and는 &&로 바꾸어 우회가 가능합니다. 심지어 이렇게 쓰면 앞 뒤 공백이 필요 없습니다.select id from prob_darkelf where id='guest' and pw=''||id='admin'이렇게 입력하면 됩니다.URL Encoding 후 데이터를 전달하면 문제가 정답처리 됩니다. 2026. 3. 10.
[CTF] Lord of SQLInjection 5번 wolfman Write-Up los 5번 wolfman Write-Up 입니다.이번엔 공백 문자가 filtering 되고 있습니다.여기서는 정직하게 공백( )만 잡아내고 있기 때문에 수월하게 우회가 가능합니다.select id from prob_wolfman where id='guest' and pw='' or id='admin'스페이스 바 공백 대신 tab 공백으로 해당 filter를 우회할 수 있습니다.이를 URL Encoding으로 표현하면 %09가 됩니다.URL Encoding하여 데이터를 전달하면 문제가 정답처리 됩니다. 2026. 3. 10.
[CTF] Lord of SQLInjection 4번 orc Write-Up los 4번 orc Write-Up 입니다.코드를 자세히 보면 쿼리가 2개 있습니다.select id from prob_orc where id='admin' and pw=''select pw from prob_orc where id='admin' and pw=''위는 id column를 선택, 아래는 pw column를 선택하는 쿼리입니다.id는 무난하게 통과가 될 수 있으나, pw의 경우 입력 값에 addslashes()가 되어 (‘ -> \’가 됨) 인젝션을 방해하고 있습니다.보기에는 addslashes()의 취약점을 이용하는 문제로 보이나… 사실 blind SQL Injection 문제입니다.select id from prob_orc where id='admin' and pw='' or id='ad.. 2026. 3. 10.
[CTF] Lord of SQLInjection 3번 goblin Write-Up los 3번 goblin Write-Up 입니다.‘와 “가 filtering 되고 있습니다.select id from prob_goblin where id='guest' and no=쿼리를 보면 id가 guest로 박혀 있는데, 이를 강제로 admin으로 바꿔야 정답처리 됩니다.quote가 filtering 되고 있기 때문에 ‘admin’ 처럼 문자열을 직접 넣을 수는 없습니다. 다만, hex로 변환하면 quote 없이 문자열을 입력할 수 있습니다.select id from prob_goblin where id='guest' and no=0 or id=0x61646d696eadmin을 hex로 변환하면 0x61646d696e가 됩니다.따라서 위와 같이 payload를 주면 됩니다.URL Encoding .. 2026. 3. 10.
[CTF] Lord of SQLInjection 2번 cobolt Write-Up los 2번 cobolt Write-Up 입니다.[그림 1] 문제 메인 페이지이번엔 pw가 md5() hash로 변환됩니다.select id from prob_cobolt where id='admin'#' and pw=md5('')이렇게 입력하면 뒤의 구문이 주석처리 되어 pw 검사를 하지 않습니다.URL Encoding 후 get 방식으로 데이터를 전달하면 문제가 정답처리 됩니다. 2026. 3. 10.
[CTF] Lord of SQLInjection 1번 gremlin Write-Up Lord of SQLInjection(los)는 오직 SQL Injection 기법을 연습할 수 있는 워게임 사이트입니다.https://los.rubiya.krlos 1번 gremlin Write-Up 입니다.los의 모든 문제들을 풀어 보진 않았지만, 대부분 [그림 1]처럼 되어 있는 것 같습니다.별도의 입력 폼은 없으며, URL에 get 방식으로 직접 parameter를 전달하면 됩니다. (# 같은 특수문자들은 URL Encoding을 거쳐야 합니다.)select id from prob_gremlin where id='' and pw=''해당 문제에 사용되는 쿼리이며, 코드에는 이 쿼리의 결과가 나오기면 하면 문제가 정답처리 됩니다.select id from prob_gremlin where id='.. 2026. 3. 10.
[CTF] SuNiNaTaS(써니나타스) 10번 Write-Up | Reversing 써니나타스 10번 문제풀이 Write Up 입니다. 압축파일을 다운로드할 수 있습니다. reversing.exe 파일이 있습니다. 입력창이 하나 있습니다. OllyDbg로는 파일이 안 열립니다. 다른 도구를 써야할 것 같습니다. 작업 표시줄을 보면 해당 프로그램의 아이콘을 볼 수 있습니다. 해당 아이콘은 Visual Studio로 작업했을 때 기본적으로 설정되는 아이콘인데, 이것으로 유추해 보면 C#으로 작성된 프로그램인 것 같습니다. C# 디컴파일러인 dotPeek으로 열어 보겠습니다. https://spareone.tistory.com/57 [Tool] C# .Net Reversing 도구 dotPeek .Net으로 작성된 프로그램은 쉽게 디컴파일이 되고 소스코드가 노출됩니다. 디컴파일 도구를 쓰면 .. 2022. 10. 27.
[CTF] SuNiNaTaS(써니나타스) 9번 Write-Up | Reversing 써니나타스 9번 문제풀이 Write Up 입니다. 압축파일을 다운로드할 수 있습니다. pw를 이용하여 압축을 풀어줍니다. Project1.exe가 들어있습니다. 백신에 따라서 해당 파일을 바이러스로 인식할 수 있기 때문에 이 경우는 예외 처리를 해야 합니다. 실행하면 입력할 수 있는 공간이 나옵니다. OllyDbg로 Project1.exe를 열어 보았습니다. 이리저리 찾다 보면 ASCII "913465"가 있고, 아래쪽에는 "Congratulation!" 글자가 보입니다. 913465를 입력하면 해당 메시지가 뜨는 것 같습니다. 입력하면 Congratulation!이 뜨는 것을 볼 수 있습니다. 해당 값이 flag인 것 같습니다. 해당 값을 인증하면 문제가 정답처리 됩니다. 2022. 10. 27.