반응형

LFI Double encoding 문제를 풀어보도록 하겠습니다.


문제를 들어가보니 Home 탭 옆에 CV 탭과 Contact 탭이 존재합니다. 우선 CV 탭을 클릭해보겠습니다. 


CV 탭을 클릭하니 URL 상 page 파라미터가 나오네요. 여기에 LFI 취약점 테스트를 해보도록 하겠습니다.


상위 폴더로 이동 가능한 특수문자 "../"을 삽입하니 공격 구문이 탐지되었습니다ㅜ


이번에는 "../"을 URL 인코딩하여 삽입해 보았으나 역시 공격이 탐지되었습니다.


URL Double Encoding을 해보았습니다. "../"을 두번의 URL 인코딩 후 삽입하였더니! 필터링 없이 LFI 취약점이 발견되었습니다.


php 코드는 실행이 되어버리기 때문에 php wrapper를 사용합니다. 

[php://filter/convert.base64-encode/resource=cv] 문자열을 URL encoding으로 두번 인코딩한 후 삽입해보겠습니다.


그랬더니, 정상적으로 공격이 수행되어 cv의 소스코드가 base64로 인코딩된 코드가 노출되었습니다.

base64로 디코딩해보겠습니다.


BASE64로 디코딩 한 소스 내에서 conf.inc.php 파일이 존재하는 것을 파악할 수 있었습니다.

conf.inc.php 코드를 봐야겠군요.


php wrapper를 통해 [php://filter/convert.base64-encode/resource=conf] 문자열을 URL 인코딩으로 두번 한 후 삽입하겠습니다.


정상적으로 공격이 성공하여 BASE64로 인코딩된 소스코드가 노출되었습니다.


BASE64 디코더로 디코딩 해보니 FLAG 값이 나와있습니다.!! 


반응형

'Study > Wargame' 카테고리의 다른 글

[root-me] Server-side Template Injection  (0) 2019.02.08
[root-me] SQL injection - string  (0) 2019.02.07
[root-me] PHP filters  (0) 2019.01.16
root-me >> SQL injection - blind  (0) 2018.06.08
root-me>>SQL injection - numeric  (0) 2018.05.01

+ Recent posts