2022-09-24 개최된 [2022 CCE 사이버공격방어대회 일반] Web - reborn of php 풀이.. 라기보다 소스코드 분석 🤔
우선 키워드는 LFI
1. 문제

2. 주어진 소스코드 분석
A) Dockerfile

B) index.php

C) controller.lib.php

D) util.lib.php


3. 정리
4. 풀이 시작!



2022-09-24 개최된 [2022 CCE 사이버공격방어대회 일반] Web - reborn of php 풀이.. 라기보다 소스코드 분석 🤔
우선 키워드는 LFI










🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔
| LOS 풀이 - (10) skeleton (0) | 2021.07.11 |
|---|---|
| LOS 풀이 - (09) vampire (0) | 2021.07.11 |
| LOS 풀이 - (08) troll (0) | 2021.07.11 |
| LOS 풀이 - (07) orge (0) | 2019.07.09 |
| LOS 풀이 - (06) darkelf (0) | 2019.07.09 |

쿼리가 살짝 거창해 보이는데 별거 없다.
guest의 패스워드는 거짓으로 입력하고, id에 'admin'을 추가하여 입력하면 클리어 된다.
select id from prob_skeleton where id='guest' and pw='' or id='admin'#' and 1=0
https://los.eagle-jump.org/skeleton_8d9cbfe1efbd44cfbbdc63fa605e5f1b.php?pw=' or id='admin'%23
('#'은 '%23'으로 변환시켜서 공격)

클리어
| LOS 풀이 - (11) golem (풀이 중) (0) | 2022.03.12 |
|---|---|
| LOS 풀이 - (09) vampire (0) | 2021.07.11 |
| LOS 풀이 - (08) troll (0) | 2021.07.11 |
| LOS 풀이 - (07) orge (0) | 2019.07.09 |
| LOS 풀이 - (06) darkelf (0) | 2019.07.09 |

힌트로는 요약에 2번째 필터링이 아닌 '치환'이다.
치환은 1번만 일어나기 때문에 admin을 일부러 치환시키게 만들면 해결된다.
입력값으로는 'adadminmin'을 주었다.

클리어
물론 'aadmindmin', 'admadminin' 등 admin만 가운데 아무위치에 넣어주면 된다.
| LOS 풀이 - (11) golem (풀이 중) (0) | 2022.03.12 |
|---|---|
| LOS 풀이 - (10) skeleton (0) | 2021.07.11 |
| LOS 풀이 - (08) troll (0) | 2021.07.11 |
| LOS 풀이 - (07) orge (0) | 2019.07.09 |
| LOS 풀이 - (06) darkelf (0) | 2019.07.09 |
에버노트에 기록해놓고, 업로드를 하지 않아서 지금이라도 업로드 함

ereg 함수는 eregi 함수와 다르게 대소문자를 구별하며 필터링을 한다.
| ereg | 대소문자 구분함 |
| eregi | 대소문자 구분 안함 |
또한 MySQL은 대소문자 구분이 없다. (대소문자 구분하려면 BINARY 절 추가하면 된다.)
그래서 'admin'대신 'Admin', 'AdMiN', 'ADMIN' 등 원하는 거 아무거나 입력하면 클리어 된다.

클리어
| LOS 풀이 - (10) skeleton (0) | 2021.07.11 |
|---|---|
| LOS 풀이 - (09) vampire (0) | 2021.07.11 |
| LOS 풀이 - (07) orge (0) | 2019.07.09 |
| LOS 풀이 - (06) darkelf (0) | 2019.07.09 |
| LOS 풀이 - (05) wolfman (0) | 2019.07.09 |