Yozzang의 해킹일기 💻
article thumbnail
Lord of SQLInjection (5. wolfman)
Wargame/Lord of SQLInjection 2022. 5. 18. 00:19

이번 포스트에서는 Lord of SQLInjection의 wolfman문제에 대해 다루도록 하겠다. 문제를 클릭하면 다음과 같이 쿼리와 php코드가 표시된 화면을 볼 수 있다. ## 문제 해석 : 해당 문제는 preg_match() 함수를 통해 prob, _, ., (, )와 스페이스바를 필터링 한 것을 알 수 있다. 또한 id값이 admin이 되어야 문제를 해결할 수 있는 것으로 보인다. ## 문제 풀이 : 먼저 쿼리문을 참으로 만들어보겠다. ### 사용할 공격문 : pw='or'1 ### 실행 결과 "Hello guest"가 출력된 것을 확인할 수 있다. 이어서 해당 쿼리문을 거짓으로 만든 다음에 id값이 admin이 되도록 만들어보겠다. ### 사용할 공격문 : pw='or id='admin ###..

article thumbnail
Lord of SQLInjection (4. orc)
Wargame/Lord of SQLInjection 2022. 5. 17. 00:23

or이번 포스트에서는 Lord of SQLInjection의 orc문제에 대해 다루겠다. 문제를 클릭하면 다음과 같이 쿼리와 php코드가 표시된 화면을 볼 수 있다. ## 문제 해석 : 해당 문제는 preg_match를 통해 prob, _, ., (, )를 필터링하고 있다. 또한 id값만 있는 경우 "Hello admin"이 출력되고, pw값이 있어야지 문제를 해결할 수 있는 것을 알 수 있다. ## 문제 풀이 : Blind SQL Injection 기법을 통해 풀어보고자 한다. pw를 알아야 하기 때문에 먼저 pw의 길이를 알아야한다. 이는 다음 구문을 통해 알 수 있다. ### 사용할 공격문 : pw=' or id='admin' and length(pw) = 1 # ### 실행 결과 : 실제 계산한 ..

article thumbnail
Lord of SQLInjection (3. goblin)
Wargame/Lord of SQLInjection 2022. 5. 16. 10:02

이번 포스트에서는 Lord of SQLInjection의 goblin문제에 대해 다루겠다. 문제를 클릭하면 다음과 같이 쿼리와 php코드가 표시된 화면을 볼 수 있다. ## 문제 해석 : 해당 문제는 preg_match를 통해 prob, _, ., (, ), ', ", ` 를 필터링 한 것을 알 수 있다. 즉 우리는 따움표 등을 사용할 수 없다는 뜻이다. 또한 해당 문제의 풀이 조건은 id값이 admin이 되어야 한다는 건데, 쿼리문을 살펴보면 다음과 같다. select id from prob_goblin where id = 'guest' and no = {$_GET[no]} 즉, 우리가 입력할 수 있는 란이 no인 것을 알 수 있다. ## 문제 풀이 : 먼저 no에 1을 넣어본 결과는 다음과 같다. #..

article thumbnail
Lord of SQLInjection (2. cobolt)
Wargame/Lord of SQLInjection 2022. 5. 15. 00:13

이번 포스트에서는 Lord of SQLInjection의 cobolt 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같이 쿼리와 php코드가 표시된 화면을 볼 수 있다. ## 문제 해석 : 해당 문제는 이전 문제인 gremlin과 비슷하니 다른 부분만 짚어서 보겠다. 여기서 우리가 주목해야 할 부분이 if($result['id'] == 'admin')이다 위 코드를 통해 우리는 admin이라는 ID로 로그인해야 문제를 풀 수 있는 것을 알 수 있다. ## 문제 풀이 : ID란에 admin을 추가한다. SQL 쿼리문이 참이 될 수 있도록 해준다. ### 사용할 공격문 : id='admin'or'1&pw= ### 실행 결과 : ## 추가 해석 : 쿼리문 : select id from prob_cobolt w..

article thumbnail
Lord of SQLInjection (1. gremlin)
Wargame/Lord of SQLInjection 2022. 5. 14. 00:45

이번 포스트에서는 Lord of SQLInjection의 gremlin 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같이 쿼리와 php코드가 표시된 화면을 볼 수 있다. ## 문제 해석 : 여기서 우리가 주목해야할 줄은 preg_match('/prob|_|\.|\(\)/i', $_GET[id])이다. preg_match('/prob|_|\.|\(\)/i', $_GET[id]) : preg_match는 php의 필터링 함수이다. 형식은 다음과 같다. ### preg_match('/필터링할 문자/', '입력할 문자') 해당 문제에서는 prob, _, ., (, )를 필터링 한 것을 알 수 있다. 뒤에 붙어 있는 i는 대소문자 구별하지 않겠다는 뜻이다. 즉, 해당 문제는 prob과 _를 필터링함으로써 특정 ..

article thumbnail
[DreamHack 워게임] Mango 풀이
Wargame/DreamHack 2022. 2. 7. 20:42

오늘은 DreamHacker의 웹 해킹 워게임 중 하나인 Mango를 함께 풀어볼 예정입니다. Mango Description 이 문제는 데이터베이스에 저장된 플래그를 획득하는 문제입니다. 플래그는 admin 계정의 비밀번호 입니다. 플래그의 형식은 DH{...} 입니다. {'uid': 'admin', 'upw': 'DH{32alphanumeric}'} Reference Serv dreamhack.io 문제 정보를 살펴보면 플래그는 admin 계정의 비밀번호라고 합니다. 또한 해당 문제의 이름을 통해서 MangoDB를 사용한다는 것도 추측해낼 수 있습니다. 워게임 사이트에 접속해 보면 아래와 같이 uid와 upw의 정보가 담긴 페이지가 로딩될 겁니다. 이어서 소스코드를 분석해보겠습니다. 9번째 코드를 보..

article thumbnail
[DreamHack 워게임] devtools-sources 풀이
Wargame/DreamHack 2022. 2. 6. 19:40

오늘은 DreamHacker의 웹 해킹 워게임 중 하나인 devtools-sources를 함께 풀어볼 예정입니다. devtools-sources 개발자 도구의 Sources 탭 기능을 활용해 플래그를 찾아보세요. Reference Tools: Browser DevTools dreamhack.io 문제 정보를 살펴보면 개발자 도구의 Sources 탭 기능을 활용하면 된답니다. 문제 파일을 다운로드하고 압축 풀면 다음과 같이 4개의 html 파일이 들어가 있는 것을 확인할 수 있습니다. 모든 html 파일을 열어보면 각각 다음과 같습니다. 이번 문제는 소스 코드가 그닥 중요하지 않아서 바로 문제 풀이로 넘어가겠습니다. 크롬을 이용하여 아무 페이지에 접속한 후, 원도우는 F12, 맥OS는 option + co..

article thumbnail
[DreamHack 워게임] session 풀이
Wargame/DreamHack 2022. 2. 5. 21:08

오늘은 DreamHacker의 웹 해킹 워게임 중 하나인 session을 함께 풀어볼 예정입니다. session 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Background: Cookie & Session dreamhack.io 문제 정보를 살펴보면 해당 문제는 쿠키와 세션을 이용하여 admin 계정으로 로그인하면 성공한다고 합니다. 워게임에 사이트에 접속해 보면 아래와 같은 페이지가 로딩될 겁니다. 사이트를 살펴보면 Home, About, Login 이렇게 총 3개의 링크가 존재한다는 것을 확인할 수 있습니다. About 링크를 클릭해보면 다음과 같이 아무런 변화가 없다는 것을 확인할 수 있습..

article thumbnail
[DreamHack 워게임] proxy-1 풀이
Wargame/DreamHack 2022. 2. 4. 20:40

오늘은 DreamHacker의 웹 해킹 워게임 중 하나인 proxy-1을 함께 풀어볼 예정입니다. proxy-1 Raw Socket Sender가 구현된 서비스입니다. 요구하는 조건을 맞춰 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. Reference Introduction of Webhacking dreamhack.io 문제 정보를 살펴보면 해당 서비스는 Raw Socket으로 구현되었다고 합니다. Raw Socket을 간략히 소개하자면 특정한 프로토콜 용의 전송 계층 fomatting없이 인터넷 패킷을 주고받게 해주는 서비스입니다. 워게임 사이트에 접속해 보면 아래와 같은 페이지가 로딩될 겁니다. 사이트를 살펴보면 Home, Socket 이렇게 총 2개의 링크가 존재한다..

article thumbnail
[DreamHack 워게임] Carve Party 풀이
Wargame/DreamHack 2022. 2. 3. 19:10

오늘은 DreamHacker의 웹 해킹 워게임 중 하나인 Carve Party를 함께 풀어볼 예정입니다. Carve Party Description 할로윈 파티를 기념하기 위해 호박을 준비했습니다! 호박을 10000번 클릭하고 플래그를 획득하세요! dreamhack.io 문제 정보를 살펴보면 호박을 만 번 클릭하면 플래그를 준답니다. 문제 파일을 다운로드하고 열어보면 아래와 같습니다. 호박을 클릭하면 다음과 같이 카운트가 줄어든 것을 확인할 수 있습니다. 실제로 그냥 만 번을 클릭해서 플래그를 획득할 수도 있지만 현실로써는 거의 불가능한 거라 우리는 다른 방식으로 접근해야 합니다. 그 접근 방법으로는 자동 메크로 프로그램을 작성해서 만 번을 클릭하거나 해당 웹 페이지의 웹 소스를 조작하는 것입니다. 그럼..